Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j查询忽略不满足条件但保持相同结构的父节点_Neo4j_Cypher - Fatal编程技术网

Neo4j查询忽略不满足条件但保持相同结构的父节点

Neo4j查询忽略不满足条件但保持相同结构的父节点,neo4j,cypher,Neo4j,Cypher,我有一个树状结构,我试图得到一个密码查询,如果父节点没有特定的关系,它将用子节点替换父节点 例如,查询:MATCH c-[:CHILD_OF*]->p{id:123}return c返回一个类似这样的结构,因此我们不关心其他节点是什么,该结构是唯一需要保留的 ()<-(A) ()<-()<-(B)<-()<-(C) ()<-(D)<-(E)<-()<-(F) \-(G)<-()<-H) 如何使查询忽略没有特定属性的所有节

我有一个树状结构,我试图得到一个密码查询,如果父节点没有特定的关系,它将用子节点替换父节点

例如,查询:MATCH c-[:CHILD_OF*]->p{id:123}return c返回一个类似这样的结构,因此我们不关心其他节点是什么,该结构是唯一需要保留的

()<-(A)

()<-()<-(B)<-()<-(C)

()<-(D)<-(E)<-()<-(F)
  \-(G)<-()<-H)
如何使查询忽略没有特定属性的所有节点,但保持相同的结构,如下所示:

(A)

(B)<-(C)

(D)<-(E)<-(F)

(G)<-(H)

您应该了解在APOC过程中创建的过程

这些将允许您创建虚拟关系,这些关系不会保存到图形中,但会显示在查询中并可查看

棘手的部分将是创建这些新的虚拟关系。您可能会在所有路径中筛选出您感兴趣的节点。此时,您可能需要使用apoc.coll.pairsMin来获取集合中的每一对相邻节点,以便在它们之间创建虚拟关系


在同一个cypher查询中创建所有虚拟关系后,使用这些虚拟关系从根节点进行匹配,您应该会看到所需的图形。

如果这些父节点具有其他属性,您希望删除这些属性还是将其复制到最近的剩余子节点?所有节点都将被忽略。这只是需要的结构您是否确实要删除节点并创建与下一个有效子节点的新关系,还是只想返回忽略不必要节点的结构视图,并且显示有效节点之间的关系,即使这些关系实际上不在图中?我只想返回节点结构的视图,以便进一步查询,即使这些关系在实际图中不存在。不需要删除任何内容。让我看看我是否有此权限,是否要查询多个路径,并从每个路径返回特定节点?