我有一個100000個節點通過關係相互連接的圖形。 從點A到點B,只有一條可能的路徑,在我的模型中不可能有環路。兩組節點的交集(neo4j密碼遍歷路徑)
我要尋找一個解決方案,將指示節點列表的路徑是否與第二節點列表
我並不需要知道的交集點,如果有一個路口的道路相交。
是否有可能有一個解決方案,而不通過整個圖(停止一旦找到第一個節點)?
節點1的列表:紅色節點的節點2的
列表:藍色節點
至於有至少一個交叉點(黑節點),該請求必須返回true 。
暗號要求:
編輯:CYPHER要求
match path=shortestPath((n1)-[r*]-(n2))
where id(n1) = node1 and id(n2) in nodesList1
with nodes(path) as nodespath1
match path=shortestPath((n1)-[r*]-(n2))
where id(n1) = node2 and id(n2) in nodesList2
with nodespath1, nodes(path) as nodespath2
with ANY (n IN nodespath1 WHERE n IN nodespath2) AS conflit
with ANY (n IN collect(conflit) WHERE n = true) AS conflit
RETURN conflit;
「節點列表的路徑」是什麼意思?你的意思是「從列表中取出的所有可能的節點對之間的所有路徑」,或者「從列表中取出的所有可能的節點對之間的任何路徑」,或者「包括來自列表中的每個節點的所有路徑」,或者其他其他? – cybersam
節點列表的路徑意味着列表中所有節點對之間的最短路徑(只有一條可能的路徑) – gsaad