Amazon Neptune 的 Gremlin 实施允许在顶点上使用多个标签(请参阅https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html)
但是如何通过多个标签查询顶点呢?
gV().hasLabel('label1').hasLabel('label2')
是我所期望的,但似乎没有奏效。
Amazon Neptune 的 Gremlin 实施允许在顶点上使用多个标签(请参阅https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html)
但是如何通过多个标签查询顶点呢?
gV().hasLabel('label1').hasLabel('label2')
是我所期望的,但似乎没有奏效。
鉴于 Gremlin 语义,这:
g.V().hasLabel('label1').hasLabel('label2')
表示您正在执行“与”操作,因此顶点必须具有“label1”和“label2”。如果您想要一个顶点可以具有“label1”或“label2”的“或”操作,那么您可能需要将其更改为:
g.V().or(hasLabel('label1'),hasLabel('label2'))
不确定这是否能解决您想要查询的 Neptune 问题,但这正是 Gremlin 所期望的。
作为临时措施,您可以尝试做hasLabel('label1').fold().unfold().hasLabel('label2')