我是Neo4j的新手,並且遇到了需要獲取數據的問題。我正在研究社交網絡的可視化項目。我想根據根節點的ID獲取所有的連接和關係(CONNECTED_TO),然後我可以遍歷數據並構建D3的數據結構。Cypher,獲取給定標籤的所有節點和關係,但不存在重複,空關係或空節點
我已經嘗試了很多瀏覽器查詢玩耍。當前在瀏覽器中返回正確的結果並自動完成,但在NodeJS中返回的結果返回重複項和空關係。
MATCH p=(a:Connection)-[r:CONNECTED_TO]-(b:Connection)-[r2:CONNECTED_TO]-()
WHERE id(a) = 1673
RETURN [a, b] as nodes [r, r2]
下面的語句返回我想要它只是沒有WHERE子句。當添加的where子句只所以表現也和問題承擔返回根連接和他們的直接連接,無需對所有的關係
MATCH (a:Connection)-[r:CONNECTED_TO]-(b:Connection)
RETURN [a, b] AS nodes, r AS relationship
介質側的約200連接和2200間的關係數據集心神。
任何幫助將非常感謝。
UPDATE
通過InverseFalcon建議的APOC路徑膨脹過程工作良好。與使用可變長度關係相比,它非常高效。
這裏的結果查詢
MATCH (head:Connection)
WHERE id(head) = 1673
CALL apoc.path.expandConfig(head, {relationshipFilter:'CONNECTED_TO', uniqueness:'NODE_GLOBAL', bfs: true}) YIELD path
WITH LAST(NODES(path)) as a
MATCH (a)-[r:CONNECTED_TO]->(b)
RETURN [a, b] as nodes, r as relationship
出色答卷InverseFalcon,非常好放在一起。感謝您指點我正確的方向。一些APOC程序將與我爲這個項目計劃的其他功能很好地協同工作。 –