![](/img/trans.png)
[英]Neo4j : Retrieving All Nodes and Relationship connected to a Node in Neo4j Rest OR through Cypher
[英]How to search for all nodes and relationships connected to a specific top node in neo4j
我已经开始使用neo4j,并且在neo4j数据库中有几种版本的图形(唯一更改的是顶部节点的时间戳)。
我想知道如何仅与该节点建立关系。 我目前使用这个:
"START n=node(*) MATCH (n)-[r]->(m) RETURN n,r,m;"
但这只是显示所有这些。 我知道我必须更改n = node(*),但我不知道要做什么。 (顶部节点的名称是:Info),所以也许像
"START n=node(i:Info{timeStamp:'20/04/2018'}) MATCH (n)-[r]->(m) RETURN n,r,m;"
但这只会给我与该节点的关系...而我需要整个图
做这个:
MATCH (n:Info)-[r]->(m)
WHERE n.timeStamp = '20/04/2018'
RETURN n, r, m;
为了更快地访问顶层节点,您还应该在:Info(timeStamp)
上创建一个索引 :
CREATE INDEX ON :Info(timeStamp);
[更新]
还要使所有关系和节点都到达深度2,可以执行以下操作:
MATCH (n:Info)-[r1]->(m1)-[r2]->(m2)
WHERE n.timeStamp = '20/04/2018'
RETURN n, r1, m1, r2, m2;
要使所有关系和节点达到任意深度(例如5),您可以这样做(每个返回的path
都是从n
到子节点的匹配路径之一):
MATCH path=(n:Info)-[r*..5]->(m)
WHERE n.timeStamp = '20/04/2018'
RETURN path;
您也可以只使用[r*]
进行无限制的可变长度搜索,但这可能会导致服务器内存不足或花费很长时间才能完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.