使用gremlin遍历到没有任何边的顶点

使用gremlin遍历到没有任何边的顶点,gremlin,azure-cosmosdb-gremlinapi,Gremlin,Azure Cosmosdb Gremlinapi,我的顶点有两个标签“用户”和“组”中的一个,边的标签是“包含”。“组”顶点可能指向“用户”顶点或其他“组”顶点。我使用以下查询从组顶点开始查找“用户”顶点。如果一个“组”顶点指向另一个“组”顶点,它将遍历该子“组”顶点以查找“用户”顶点 g.V().hasLabel('Group').has('AccountName','oem').repeat(out('contains')).until(hasLabel('User')) 现在我需要遍历到不指向任何其他顶点的“组”顶点。在阅读了其他一些帖

我的顶点有两个标签“用户”和“组”中的一个,边的标签是“包含”。“组”顶点可能指向“用户”顶点或其他“组”顶点。我使用以下查询从组顶点开始查找“用户”顶点。如果一个“组”顶点指向另一个“组”顶点,它将遍历该子“组”顶点以查找“用户”顶点

g.V().hasLabel('Group').has('AccountName','oem').repeat(out('contains')).until(hasLabel('User'))
现在我需要遍历到不指向任何其他顶点的“组”顶点。在阅读了其他一些帖子后,我尝试了以下方法,但我得到了“Gremlin查询编译错误:P.not”和“_uu.not”之间的歧义”这样的正确表达方式是什么

g.V().hasLabel('Group').has('AccountName','oem').repeat(out('contains')).until(not(outE())) <<== Error

g.V()。这将消除显式使用P类或匿名遍历(双底杆,
\uuuu
)和
not()

所需的模糊性,我认为您更喜欢使用从
\uuu
\uuuuu.not(outE())
产生的匿名遍历,而不是使用
outE().count().is(0)
因为它更高效。正确。我的建议是“如果显式添加匿名遍历不起作用,这里有一个替代方案”。