Neo4j:路径中节点之间的返回关系

Neo4j:路径中节点之间的返回关系,neo4j,cypher,neo4j-ogm,neo4j-ogm-bolt-driver,Neo4j,Cypher,Neo4j Ogm,Neo4j Ogm Bolt Driver,根据我的模式,我有一个“Project”节点和多个连接到Project的“Revision”节点。其他每个节点都连接到适用的“修订”节点。我需要获取连接到特定“修订”节点的所有节点。在获取节点时,我还需要获取这些节点之间的关系。我需要限制连接到特定修订版的节点 我尝试了下面的查询,但是,它会降低性能,因为在分析时DB命中率更高。每个修订版将有大约28k个节点,它们之间有76k个关系 MATCH (a:Project{name:{0}})-[h:HAS_REVISION]->(r:Revis

根据我的模式,我有一个“Project”节点和多个连接到Project的“Revision”节点。其他每个节点都连接到适用的“修订”节点。我需要获取连接到特定“修订”节点的所有节点。在获取节点时,我还需要获取这些节点之间的关系。我需要限制连接到特定修订版的节点

我尝试了下面的查询,但是,它会降低性能,因为在分析时DB命中率更高。每个修订版将有大约28k个节点,它们之间有76k个关系

MATCH (a:Project{name:{0}})-[h:HAS_REVISION]->(r:Revision)
WITH a
MATCH p=(a)-[h]->(r)-[*0..2]->(allRelatedNodes)
WHERE r.revisionNo={1} AND (r)-[]->(allRelatedNodes)
RETURN a, relationships(p), nodes(p)  
下面的查询是符合成本效益的。在浏览器中查询数据库时,我得到了预期的结果。但是,在从Java应用程序执行时,连接到特定 未获取“修订”

PROFILE  
MATCH (project:Project {name> :"test_local"})-[:HAS_REVISION]-
(revision:Revision{revisionNo:1})
WITH project,revision
MATCH p = (revision)-[]-(allRelatedNodes)
WITH project,revision,collect(p) as rs
RETURN project,revision,rs  

任何人都可以帮忙。

我通过apoc.path.subgraphhall过程解决了这个问题。我的要求是“我需要获得连接到修订版的所有节点,以及连接到修订版节点的那些节点之间的关系”。第二个查询在neo4j浏览器ui中给出了所需的结果,但关系b/w节点未在java neo4j实体中映射。最后我就是这么做的,
match(project:project{name:{0})-[:HAS_REVISION]-“+”(REVISION:REVISION{revisionNo:{1})”+”调用apoc.path.subgraphhall(REVISION,{maxLevel:1})产生节点、关系“+”返回节点、关系

手动复制neo4j插件文件夹中的apoc jar。谢谢大家的建议。

我使用apoc.path.subgraphhall过程解决了这个问题。我的要求是“我需要获得连接到修订版的所有节点,以及连接到修订版节点的那些节点之间的关系”。第二个查询在neo4j浏览器ui中给出了所需的结果,但关系b/w节点未在java neo4j实体中映射。最后我就是这么做的,
match(project:project{name:{0})-[:HAS_REVISION]-“+”(REVISION:REVISION{revisionNo:{1})”+”调用apoc.path.subgraphhall(REVISION,{maxLevel:1})产生节点、关系“+”返回节点、关系

手动复制neo4j插件文件夹中的apoc jar。谢谢大家的建议。

请分享您的Java代码。第一个cypher查询看起来做的工作远远超出了需要,因为
with
子句中缺少了一些内容。第二个看起来不错,应该可以用了。请发布一个java代码片段,并对您应该获得的内容进行更具体的描述。您说需要连接到特定“修订版”的节点之间的
关系,但您正在收集查询输出中的路径。因此,您可能在处理这些关系的路径时遇到问题。请共享您的Java代码。由于
with
子句中缺少一些内容,第一个cypher查询的工作量似乎远远超过了必要的工作量。第二个看起来不错,应该可以用了。请发布一个java代码片段,并对您应该获得的内容进行更具体的描述。您说需要连接到特定“修订版”的节点之间的
关系,但您正在收集查询输出中的路径。因此,您可能对如何处理这些关系的路径有问题。