遍历子路径与路径元素
iterating over subpaths vs path elements
问题适用于任何neo4j路径,但为了清楚起见,我们借用答案2中的巴士路线数据到此post
Neo4J | Cypher Aggregation on list of relationships
我们可以运行这个查询
MATCH p=(o:BusStop)-[*]->(d:BusStop) RETURN p
并得到一堆节点和关系,正如我们所期望的那样。
p [ { "id": 1 } , { "fare": 10, "day": "Sat" }... and so on
我的上述问题是,在处理 Python 中的结果时,我不得不迭代各个节点和关系。
但是如果我想遍历完整的 (startnode)-[*]-(endnode) 子路径怎么办?
在浏览器中,各个子路径由水平线分隔。我如何获得与 py2neo 中的那些分隔符等效的内容?
谢谢。
Neo4j 结果是一个记录流。对于给定的查询,流中的每条记录都是一个单独的路径,因此您可以使用 returned results cursor 的方法遍历每个路径。
如果您想要一个包含路径集合的结果,您可以 return 改为:
RETURN collect(p) as results
问题适用于任何neo4j路径,但为了清楚起见,我们借用答案2中的巴士路线数据到此post
Neo4J | Cypher Aggregation on list of relationships
我们可以运行这个查询
MATCH p=(o:BusStop)-[*]->(d:BusStop) RETURN p
并得到一堆节点和关系,正如我们所期望的那样。
p [ { "id": 1 } , { "fare": 10, "day": "Sat" }... and so on
我的上述问题是,在处理 Python 中的结果时,我不得不迭代各个节点和关系。
但是如果我想遍历完整的 (startnode)-[*]-(endnode) 子路径怎么办?
在浏览器中,各个子路径由水平线分隔。我如何获得与 py2neo 中的那些分隔符等效的内容?
谢谢。
Neo4j 结果是一个记录流。对于给定的查询,流中的每条记录都是一个单独的路径,因此您可以使用 returned results cursor 的方法遍历每个路径。
如果您想要一个包含路径集合的结果,您可以 return 改为:
RETURN collect(p) as results