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