如何获得所有不同的neo4j节点

时间:2014-01-10 18:32:36

标签: neo4j spring-data-neo4j

Neo4j图数据库中,我需要获取所有不同的节点属性。

例如: 图数据库有两种类型的节点Student{firstName,lastName}School{name,size}。它有100所学校和1000名学生。

现在我想了解这些细节:

Student{firstName,lastName}
School{name,size}

我正在使用neo4j Java api。请帮帮我。

2 个答案:

答案 0 :(得分:1)

你的问题很模糊,无论如何,我会试一试。我使用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'

答案 1 :(得分:1)

来自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()