使用来自neo4j / cypher json输出的d3js绘制图形

问题描述 投票:0回答:1

是否可以在单个cypher中返回查询特定路径的不同节点和边缘。例如,使用电影图形,下面的查询单独返回电影和演员,我想将所有节点一起返回。使用路径p =(...)和节点(p)实际上返回节点对,无论使用不同的。

match(m:Movie {name:“Rain”}) - (p:Person)return {nodes:collect(distinct {name:m.title}),actors:collect(distinct {name:a.name}), links:collect({source:m.title,target:a.name})}

皮埃尔,先谢谢你的帮助

neo4j cypher
1个回答
1
投票

内部得到了一些帮助,所以我正在分享答案。使用neo'j 2.1.5,可以使用放松。查询后面的查询返回路径中不同节点和不同边缘的列表 - 至少它与我的示例一起使用:

match path = (p:Person {Name: 'Rain'})-[]-(m:Movie) unwind nodes(path) as p unwind rels(path) as r
return {nodes: collect(distinct p), links: collect(DISTINCT {source: id(startNode(r)), target: id(endNode(r))})}
© www.soinside.com 2019 - 2024. All rights reserved.