4

Amazon Neptune 的 Gremlin 实施允许在顶点上使用多个标签(请参阅https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html

但是如何通过多个标签查询顶点呢?

gV().hasLabel('label1').hasLabel('label2')

是我所期望的,但似乎没有奏效。

4

2 回答 2

4

鉴于 Gremlin 语义,这:

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

表示您正在执行“与”操作,因此顶点必须具有“label1”和“label2”。如果您想要一个顶点可以具有“label1”或“label2”的“或”操作,那么您可能需要将其更改为:

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

不确定这是否能解决您想要查询的 Neptune 问题,但这正是 Gremlin 所期望的。

于 2018-12-20T14:25:54.943 回答
3

作为临时措施,您可以尝试做hasLabel('label1').fold().unfold().hasLabel('label2')

于 2018-12-21T04:12:21.123 回答