Graph Gremlin查询:另一种在循环中编写的方法
可能存储一个包含项的数组,然后在每个数组上循环执行out并将其附加到其中。name;和迭代(计数)以确保我们不会在数组长度上继续进行。您可以像这样重新格式化管道:Graph Gremlin查询:另一种在循环中编写的方法,graph,neo4j,graph-databases,gremlin,Graph,Neo4j,Graph Databases,Gremlin,可能存储一个包含项的数组,然后在每个数组上循环执行out并将其附加到其中。name;和迭代(计数)以确保我们不会在数组长度上继续进行。您可以像这样重新格式化管道: g.v(1).out('__SYSTEM_HAS_CHILD').filter{it.name == 'Journal'}.out('__SYSTEM_HAS_CHILD').filter{it.name == 'travel'}.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Alaskan
g.v(1).out('__SYSTEM_HAS_CHILD').filter{it.name == 'Journal'}.out('__SYSTEM_HAS_CHILD').filter{it.name == 'travel'}.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Alaskan-Natives'}.map
然后,您可以使用Groovy构造将其转换为循环:
pipe = g.v(1)
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Journal'}
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == 'travel'}
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == 'Alaskan-Natives'}
pipe.map
注意:为什么要将管道作为地图返回?要迭代管道,可以使用以下任一方法:
names = ["Journal", "travel", "Alaskan-Natives"]
pipe = g.v(1)
names.each() { name ->
pipe = pipe.out('__SYSTEM_HAS_CHILD').filter{it.name == name}
}
pipe.map
看
pipe.iterate()
pipe.toList()