从可变长度路径生成neo4j中的边列表

从可变长度路径生成neo4j中的边列表,neo4j,cypher,Neo4j,Cypher,我试图生成一个边列表,以便读入VIZR数据帧,以便在vizNetwork包中使用。这必须是最简单的格式,作为一个有两列的表,“from”和“to” 在中,弹出的默认查询几乎说明了我试图运行的查询类型,即指定了起点,然后生成的链就是我感兴趣的图 运行的查询是match(n:Crew)-[r:KNOWS*]-(m),其中n.name='Neo'将n返回为Neo,r,m,这将返回一个显示关系链的图以及我在下面包含的一个表 Neo r

我试图生成一个边列表,以便读入VIZR数据帧,以便在vizNetwork包中使用。这必须是最简单的格式,作为一个有两列的表,“from”和“to”

在中,弹出的默认查询几乎说明了我试图运行的查询类型,即指定了起点,然后生成的链就是我感兴趣的图

运行的查询是
match(n:Crew)-[r:KNOWS*]-(m),其中n.name='Neo'将n返回为Neo,r,m
,这将返回一个显示关系链的图以及我在下面包含的一个表

Neo                   r                                                            m
(0:Crew {name:"Neo"}) [(0)-[0:KNOWS]->(1)]                                         (1:Crew {name:"Morpheus"})
(0:Crew {name:"Neo"}) [(0)-[0:KNOWS]->(1), (1)-[2:KNOWS]->(2)]                     (2:Crew {name:"Trinity"})
(0:Crew {name:"Neo"}) [(0)-[0:KNOWS]->(1), (1)-[3:KNOWS]->(3)]                     (3:Crew:Matrix {name:"Cypher"})
(0:Crew {name:"Neo"}) [(0)-[0:KNOWS]->(1), (1)-[3:KNOWS]->(3), (3)-[4:KNOWS]->(4)] (4:Matrix {name:"Agent Smith"})
表格中的边不是非常“前卫”的格式。如何使关系图以以下格式返回结果

from         to
Neo          Morpheus
Morpheus     Trinity
Morpheus     Cypher
Cypher       Agent Smith

Nicole White写道,但这依赖于首先生成节点列表,然后在边缘列表查询中引用结果列表的ID作为参数。如果可能的话,我希望实现一种“纯密码”方法

要返回的每一行是一条边。因此,要获得想要的回报,只需在边缘上进行匹配,Neo4j将为该模式的每个有效引用创建一行

MATCH (from)-[:KNOWS]->(to)
RETURN from.name as from, to.name as to
你可以像这样使用WHERE模式匹配来过滤

MATCH (from)-[:KNOWS]->(to)
WHERE (:Person {name:"Neo"})-[:KNOWS*..25]->(from)
RETURN from.name as from, to.name as to

要返回的每行是一条边。因此,要获得想要的回报,只需在边缘上进行匹配,Neo4j将为该模式的每个有效引用创建一行

MATCH (from)-[:KNOWS]->(to)
RETURN from.name as from, to.name as to
你可以像这样使用WHERE模式匹配来过滤

MATCH (from)-[:KNOWS]->(to)
WHERE (:Person {name:"Neo"})-[:KNOWS*..25]->(from)
RETURN from.name as from, to.name as to

由于您只需要纯密码答案,因此不应使用
r
标记。如果以后变得相关,您应该在r中单独询问如何处理它。谢谢。你说得对。最好不要引起混淆。因为你只想要一个纯密码的答案,所以你不应该使用
r
标签。如果以后变得相关,您应该在r中单独询问如何处理它。谢谢。你说得对。最好不要引起混乱,就是这样。他们唯一缺少的是neo和morpheus之间的关系,但我可以继续。谢谢@Tezra.@dopple好吧,从技术上讲,如果你把
改为
改为
,你就不需要工会了。他们唯一缺少的是neo和morpheus之间的关系,但我可以继续。谢谢@Tezra@dopple好吧,从技术上讲,如果您在WHERE子句中将
更改为
,您就不需要工会