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中的cypher从一个特定节点开始查找具有双向关系的所有节点_Neo4j_Cypher - Fatal编程技术网

使用neo4j中的cypher从一个特定节点开始查找具有双向关系的所有节点

使用neo4j中的cypher从一个特定节点开始查找具有双向关系的所有节点,neo4j,cypher,Neo4j,Cypher,这是一项相当艰巨的工作。我试图从一个特定节点开始查找具有双向关系的所有节点。基于上图,我想找到从节点1开始的所有双向关系。只有具有双向关系的节点才匹配。例如,节点1,3,4匹配,节点1,2,3匹配为两个单独的组。但是,如果节点2和4具有双向关系,则节点1、2、3、4将作为一个组进行匹配。其主要思想是,在这样一个组中,所有节点都是双向链接的。我的想法是从1开始查找具有双向关系的所有节点并继续处理,但我无法继续。谁能帮我解决这个问题,谢谢。顺便说一句,只需要最大的“双向循环”。您的问题看起来很像在图


这是一项相当艰巨的工作。我试图从一个特定节点开始查找具有双向关系的所有节点。基于上图,我想找到从节点1开始的所有双向关系。只有具有双向关系的节点才匹配。例如,节点1,3,4匹配,节点1,2,3匹配为两个单独的组。但是,如果节点2和4具有双向关系,则节点1、2、3、4将作为一个组进行匹配。其主要思想是,在这样一个组中,所有节点都是双向链接的。我的想法是从1开始查找具有双向关系的所有节点并继续处理,但我无法继续。谁能帮我解决这个问题,谢谢。顺便说一句,只需要最大的“双向循环”。

您的问题看起来很像在图中查找强连接的组件。如文件中所定义

如果所有图之间存在路径,则有向图是强连通的 顶点对(节点)。该算法将图形视为有向图,因此 这种关系的方向是重要的,而且联系紧密 只有当两个组件中的节点之间存在关系时,组件才存在 方向

更多信息请访问。你将需要

将图形的组件写回节点的示例查询

CALL algo.scc('Label','C', {write:true,partitionProperty:'partition'})
YIELD loadMillis, computeMillis, writeMillis, setCount, maxSetSize, minSetSize  
然后,您可以通过以下查询找到最大的组件

MATCH (u:Label)
RETURN distinct(u.partition) as partition,count(*) as size_of_partition 
ORDER by size_of_partition DESC LIMIT 1

您的问题看起来很像在图中查找强连接组件。如文件中所定义

如果所有图之间存在路径,则有向图是强连通的 顶点对(节点)。该算法将图形视为有向图,因此 这种关系的方向是重要的,而且联系紧密 只有当两个组件中的节点之间存在关系时,组件才存在 方向

更多信息请访问。你将需要

将图形的组件写回节点的示例查询

CALL algo.scc('Label','C', {write:true,partitionProperty:'partition'})
YIELD loadMillis, computeMillis, writeMillis, setCount, maxSetSize, minSetSize  
然后,您可以通过以下查询找到最大的组件

MATCH (u:Label)
RETURN distinct(u.partition) as partition,count(*) as size_of_partition 
ORDER by size_of_partition DESC LIMIT 1

非常感谢。但我试过了,但没有成功。该算法只能确定可能构成双向关系圈的节点,但不能确定该圈中的每个节点都是双向连接的。例如,在我的图片中,2和4没有连接,但当我尝试用图形算法解决问题时,它给出了结果1,2,3,4,正确的结果是1,2,3和1,3,4。只有连接2和4,1,2,3,4才能满足我的需要。非常感谢。但我试过了,但没有成功。该算法只能确定可能构成双向关系圈的节点,但不能确定该圈中的每个节点都是双向连接的。例如,在我的图片中,2和4没有连接,但当我尝试用图形算法解决问题时,它给出了结果1,2,3,4,正确的结果是1,2,3和1,3,4。只有连接2和4,1,2,3,4才能满足我的需要。有人能帮忙吗?太难了,有人能帮忙吗?太难了。