Gremlin 查询 cosmosDB 寻找连接

Gremlin query cosmosDB to find a connection

我有一个以这种方式建模的图表。 A --calls('for', 'Item1')--> B --calls('for', 'Item1')--> C --calls('for', 'Item1')--> D . AItem1(边缘的 属性)调用 BB calls CC calls D。图中也可以有其他链,它们会有一些顶点调用 D for Item1。我怎样才能确定所有这样的连锁店? D的所有调用方式都可以为Item1调用。

如果问题太基础,我们深表歉意。我对图形的了解非常少,我正在使用 cosmosDB 对其进行建模。

我想我会从 "D" 开始,然后使用 repeat() 从那里沿着 "Item1" 条路径前进。假设 "D" 是实际的 T.id (元素标识符):

g.V("D").repeat(inE('calls').has('for','Item1').outV()).emit().path()

以上就是这样一个查询的开始。如果您的图形包含这样的东西,您可能需要该 repeat() 循环的终止条件和避免循环的方法(即 simplePath()),以避免沿着这些路径无限遍历。