构建一个D3查看器,我想将所有节点连接到一个节点,以及连接这些节点的所有链接。事实上,与默认的neo4j查看器相同......
例如,我有
CREATE (a:Person {name:'a'})
CREATE (b:Person {name:'b'})
CREATE (c:Person {name:'c'})
CREATE (d:Person {name:'d'})
CREATE (a)-[:KNOWS]->(b)
CREATE (a)-[:KNOWS]->(c)
CREATE (b)-[:KNOWS]->(c)
CREATE (c)-[:KNOWS]->(d)
我可以发出一些丑陋的密码查询来给POST调用,但它不能扩展到中等大小的图形(~100k节点,3M关系)。
在neo4j浏览器中发布的查询中,看起来有两个连续的查询:
A)获取连接的节点
MATCH (p:Person {name:'a'})-[l:KNOWS]-(q:Person) RETURN p,q
B)获取这些节点之间存在的链接
"START a = node(185282,185283,185284), b = node(185282,185283,185284)
MATCH a -[r]-> b
RETURN r;"
我的两个问题:
同样,数据可能有点沉重,所以让我们牢记这一点
感谢您的帮助
亚历
答案 0 :(得分:0)
您可以将第一个查询的结果传递给第二个查询using WITH
以获取“a”人员知道的人员之间的所有连接:
MATCH (p:Person)-[l:KNOWS]-(q:Person)
WHERE p.name = "a"
WITH p,q
MATCH (p)-[r]-(q)
RETURN p,r,q