在亚马逊海王星中使用Gremlin,在多个标签上匹配的问题

4
2个回答

4
鉴于 Gremlin 语义,这样写:
g.V().hasLabel('label1').hasLabel('label2')

这意味着您正在执行“and”操作,因此顶点必须具有“label1”和“label2”。如果您想执行“or”操作,其中顶点可以具有“label1”或“label2”,则可能需要将其更改为:

g.V().or(hasLabel('label1'),hasLabel('label2'))

不确定这是否解决了您在查询 Neptune 时遇到的问题,但这是 Gremlin 所期望的。


3
作为临时措施,您可以尝试执行hasLabel('label1')。fold()。unfold()。hasLabel('label2')

1
谢谢Kelvin。看起来这是一个解决方法,但至少它返回了预期的结果。我希望AWS Neptune很快能支持更简单的g.V().hasLabel('label1').hasLabel('label2')。 - Graphileon
嗯,这很有趣,g.V().hasLabel('label1').barrier().hasLabel('label2') 也可以工作吗? - stephen mallette
@stephenmallette - 不好意思,栅栏并不能解决问题(还是谢谢你) - Gedge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接