所以,作爲一個併發症合併成一個單一的列this question,我基本上想要做暗號的節點和關係
MATCH (n:TEST) OPTIONAL MATCH (n)-[r]->() RETURN DISTINCT n, r
而且我想返回n和r爲無重複值的一列。但是,運行
MATCH (n:TEST) OPTIONAL MATCH (n)-[r]->() UNWIND n+r AS x RETURN DISTINCT x
提供了一個 「類型不匹配:預計名單,但被關係(1號線,列47)」 的錯誤。而這個查詢
MATCH (n:TEST) RETURN DISTINCT n UNION MATCH()-[n]->() RETURN DISTINCT n
提出節點和關係在同一列,而是從第一場比賽的情況下在下半場丟失。
所以,我怎麼能返回所有匹配的節點和關係爲一個最小的名單?
UPDATE:
這就是答案查詢的最終修改後的版本,我使用
MATCH (n:TEST) OPTIONAL MATCH (n)-[r]->() RETURN n {.*, rels:collect(r {properties:properties(r), id:id(r), type:type(r), startNode:id(startNode(r)), endNode:id(endNode(r))})} as n
最後2它們合併成1列,但它只是一種格式變化,而節點信息是返回關係時間。第一個查詢做我想要的,但關係標籤(和結束節點)丟失。有沒有辦法讓整個關係節點成爲價值的一部分? (我需要的ID,開始,結束,標籤/類型,並從關係屬性) – Tezra
增加了一個查詢應該做的伎倆 – InverseFalcon
好了,我可以用開始和結束節點上的ID()函數(這些節點也會被返回,所以不止是重複的信息);只是最後一件事。類型字段可能會被重載,所以我需要將屬性降低到「屬性」字段以保持其清潔。看來我不能只是做「屬性:」。*「那麼我該如何解決這個問題? – Tezra