2015-10-20 79 views
-1

如何使用Neo4jClient創建此查詢。Neo4j客戶端和不查詢

MATCH (keanu:Person)-[:KNOWS*2]->(fof) 
WHERE keanu.name = "Keanu Reeves" 
AND NOT((keanu)-[:KNOWS]-(fof)) 
RETURN DISTINCT fof.name; 
+0

你到目前爲止嘗試過什麼? https://github.com/Readify/Neo4jClient/wiki/cypher上的文檔應該提供您所需的全部信息。 –

+0

我檢查了,但我沒有得到一個想法如何在Neo4jClient中應用和不子句。 – Mohit

+0

感謝Stefan的回覆。 – Mohit

回答

0

假設你有一個像類:

public class Person 
{ 
    [JsonProperty("name")] 
    public string Name { get; set; } 
} 

您的查詢應該是這樣的:

client.Cypher 
    .Match("(keanu:Person)-[:KNOWS*2]->(fof)") 
    .Where((Person keanu) => keanu.Name == "Keanu Reeves") 
    .AndWhere("NOT ((keanu-[:KNOWS]-(fof)))") 
    .ReturnDistinct(fof => fof.As<Person>().Name); 

我回答主要是因爲我認爲該文檔也缺乏周圍一點點使用NOT,但Stefan是正確的 - 文檔確實包含了大部分您需要的信息 - 而且您需要顯示您嘗試過的內容,否則我們不確定您正在努力處理哪些內容。

+0

感謝Chris的工作,我剛剛開始探索Neo4j和上週的客戶端庫,我正在嘗試使用Neo4jClient在Neo4j上提供的示例查詢,並將其停留在它上面。 – Mohit