我在C#中使用Neo4jClient和Neo4j圖形數據庫,我想知道如何使用Neo4jClient檢索所有節點。Neo4jClient C#如何獲得所有節點
這裏是暗號查詢檢索的有關係,「知道」獨立的關係方向的所有節點:
start n =node(*) match n-[r:KNOWS]-(friend) return friend;
這裏是C#代碼Neo4jClient:
var client = new GraphClient(new Uri("http://localhost:7474/db/data"));
client.Connect();
var cypherFluentQueryReturned = client.RootNode
.StartCypher("n")
.Match("n-[:KNOWS]->friend")
.Return<Node<Person>>("friend");
然而,Neo4jClient不允許從*開始檢索所有節點,但只能從一個起點(這裏是根節點)檢索所有節點。
我該如何說Neo4jClient檢索所有節點,而不僅僅是連接到根節點的節點?
似乎沒有辦法從*通過Neo4jClient.GraphClient查詢節點。
不過,我可以做到這一點的執行與RawGraphClient查詢:
CypherQuery query = new CypherQuery("start n=node(*) match n-[KNOWS]-(person) return person", new Dictionary<string, object>(), CypherResultMode.Set);
var persons = ((IRawGraphClient)client).ExecuteGetCypherResults<Person>(query).ToList();
由於Neo4JClient使用Neo4J的REST客戶端,因此返回數據庫中所有節點的JSON響應可能非常大。這可能是其尚未正式實施的原因之一。如果您只是試圖查詢與「知道」有關係的所有節點,則可能會嘗試使用關係上的索引。 –