Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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_Graph Traversal - Fatal编程技术网

Neo4j中的多路径关系检查

Neo4j中的多路径关系检查,neo4j,cypher,graph-traversal,Neo4j,Cypher,Graph Traversal,我在搞一个Neo4j查询。是否可以使用Neo4j Cypher语言检查“n1”与标签“p”之间的所有关系是否都有一条指向“n6”的路径?请看图片 确保有可能: MATCH (n6:Node {name:"n6"}) MATCH (n1:Node {name:"n1"})-[r:p]->() WITH n1, n6, collect(r) as pRels RETURN ALL(x IN pRels WHERE shortestPath( (n1)-[*]-(n6) ) ) 这将返回tru

我在搞一个Neo4j查询。是否可以使用Neo4j Cypher语言检查“n1”与标签“p”之间的所有关系是否都有一条指向“n6”的路径?请看图片


确保有可能:

MATCH (n6:Node {name:"n6"})
MATCH (n1:Node {name:"n1"})-[r:p]->()
WITH n1, n6, collect(r) as pRels
RETURN ALL(x IN pRels WHERE shortestPath( (n1)-[*]-(n6) ) )
这将返回true或false

// End node
MATCH (n6 {name:"n6"})
// Start node and neighbors
MATCH (n1 {name:"n1"})-[:p]-(n)
// Shortest paths through the neighbor to the end node,
OPTIONAL MATCH p = shortestPath( (n)-[*]-(n6) )
    // which does not pass through the starting node
    WHERE NOT n1 IN nodes(p)
WITH
     size( collect(distinct n) ) as neighborsCount, 
     count(p) as neighborsWithPathCount
RETURN neighborsCount = neighborsWithPathCount AND 
       neighborsWithPathCount > 0