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

Sov*_*vos 48 neo4j cypher

我找不到如何用Cypher返回节点标签.

有谁知道这个操作的语法?

pet*_*tra 68

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

MATCH (n) RETURN distinct labels(n)
Run Code Online (Sandbox Code Playgroud)

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

MATCH (n) RETURN distinct labels(n), count(*)
Run Code Online (Sandbox Code Playgroud)

  • `MATCH n RETURN DISTINCT LABELS(n)`类型少于8个字符:) (5认同)
  • 除了"cypher"之外,这个问题还有`neo4j`标签.获取所有不同节点标签的最短写入(以及执行速度最快!)查询是"CALL db.labels" - 至少从`neo4j` 3.0开始,另请参阅`neo4j`中的CALL页面[手册](https:/ /neo4j.com/docs/developer-manual/3.0/cypher/clauses/call/) (3认同)

小智 52

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


Bru*_*res 20

Neo4j 3.0引入了db.labels()返回数据库中所有可用标签的程序.使用:

call db.labels();
Run Code Online (Sandbox Code Playgroud)

  • 这是最有效的方法 (2认同)

Ern*_*toE 18

如果您想要所有单个标签(而不是组合),您可以随时扩展答案:

MATCH (n)
WITH DISTINCT labels(n) AS labels
UNWIND labels AS label
RETURN DISTINCT label
ORDER BY label
Run Code Online (Sandbox Code Playgroud)


gau*_*roy 5

 START n=node(*) RETURN labels(n)
Run Code Online (Sandbox Code Playgroud)