[英]neo4j find all friends who posted something I liked
感謝您的查詢計划。
我們可以看到,在(start)-[:FRIEND]->(person)
的擴展中,行數下降到零,因此發生了以下兩種情況之一:要么:FRIEND 不是實際的關系類型(可能是不匹配的情況),或者更有可能的是,所有存在的:FRIEND 關系都是相反的方向,傳入到起始節點而不是傳出。
對於像這樣的社交圖,因為它們都是:Person 節點,所以無法判斷關系是在哪個方向創建的,當您查詢時,方向不重要,重要的是:FRIEND 關系存在。
嘗試從此處的模式中刪除方向: (start)-[:FRIEND]-(person: Person)
。 如果你的關系類型是正確的,那應該會給你帶來正確的結果。
為簡單起見,我還將這 3 個模式組合成一個長模式。 這樣做將確保它不會提取不適合以后模式的額外模式(被檢索,然后稍后過濾掉)。 這是 Cypher 的樣子:
MATCH (start:Person)-[:LIKES]->(post:Post)<-[:POSTED]-(person: Person)
WHERE (start)-[:FRIEND]-(person)
RETURN start, post, person
我會從
MATCH (me:Person)-[:FRIEND]-(friend:Person)-[:POSTED]->(post:Post)<-[:LIKES]-(me)
RETURN DISTINCT friend
獲取 (friend:Person) 節點
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.