在Neo4j
圖數據庫中,我需要獲取所有不同的節點屬性。如何獲取所有不同的neo4j節點
例如: 格拉夫數據庫具有兩種類型的節點Student{firstName,lastName}
和School{name,size}
的。它有100所學校和1000名學生。
現在我想這些細節:
Student{firstName,lastName}
School{name,size}
我使用的Neo4j的Java API。請幫幫我。
在Neo4j
圖數據庫中,我需要獲取所有不同的節點屬性。如何獲取所有不同的neo4j節點
例如: 格拉夫數據庫具有兩種類型的節點Student{firstName,lastName}
和School{name,size}
的。它有100所學校和1000名學生。
現在我想這些細節:
Student{firstName,lastName}
School{name,size}
我使用的Neo4j的Java API。請幫幫我。
你的問題很模糊,無論如何,我會給它一個鏡頭。我使用Cypher(我從來不使用Java API),也許你可以使用這個概念在neo4j Java API中解決它。
MATCH (n: Student), (m:School)
RETURN n,m
或
MATCH (n: Student), (m:School)
RETURN n.firstname as 'First Name', n.lastname as 'Last Name', m.name as 'School Name', m.size as 'Size'
從Cypher支架
MATCH (n)
RETURN n
核心Java API
for (Node n : GlobalGraphOperations.at(gdb).getAllNodes()) {
for (String prop: n.getPropertyKeys()) {
System.out.println(n.getProperty(prop));
}
for (Label l : n.getLabels()) {
System.out.println(l);
}
}
如果你只是想看看每個標籤的屬性,而不是值對於所有的節點,我會去這個:
match (n:School) return n limit 1;
match (n:Student) return n limit 1;
不幸的是,還沒有一個模式信息聲明每個標籤有哪些屬性可用。
您可以使用此雖然獲得所有物業類型的圖表:
GlobalGraphOperations.at(graphDb).getAllPropertyKeys()
感謝@Michael Hunger,遍歷所有節點,如果我擁有數百萬個節點,那麼這不會是性能問題。我已經準確地編碼,但思考是否有任何問題。 –
我認爲這就是你想要做的,遍歷所有節點並查找每個節點的屬性和標籤 –
是@Michael Hunger,但如果我們遍歷數百萬行,int會成爲性能問題,謝謝。 –
感謝@Olufemi Adeyemi,但我想從一個名不見經傳的圖形數據庫,學校獲得這些細節,學生給了我它是一個例子。我們不確定哪些數據在那裏。 –
如果你想返回db中的所有節點,你可以使用: MATCH p =(n) - >(m) RETURN extract(j IN nodes(p))as \'Nodes \'。 獲取詳細信息後,您現在可以優化您的查詢以適合您的特定需求 – osa
好的,將試一試謝謝。 –