neo4j如何用Cypher返回所有节点标签?

我找不到如何用Cypher返回一个节点标签。

任何人都知道这个操作的语法?

有一个函数标签(节点)可以返回一个节点的所有标签。

获取所有不同的节点标签:

MATCH (n) RETURN distinct labels(n) 

要获取每个标签的节点数量:

 MATCH (n) RETURN distinct labels(n), count(*) 

如果你想要所有的单独的标签(不是组合),你总是可以扩大答案:

 MATCH (n) WITH DISTINCT labels(n) AS labels UNWIND labels AS label RETURN DISTINCT label ORDER BY label 
  START n=node(*) RETURN labels(n) 

如果您正在使用Java API,则可以快速获取数据库中所有Label的迭代器,如下所示:

 GraphDatabaseService db = (new GraphDatabaseFactory()).newEmbeddedDatabase(pathToDatabase); ResourceIterable<Label> labs = GlobalGraphOperations.at(db).getAllLabels();