There is a function labels(node) that can return all labels for a node.
81
votes
To get all distinct node labels:
MATCH (n) RETURNdistinctlabels(n)
To get the node count for each label:
MATCH (n) RETURNdistinctlabels(n), count(*)
34
votes
Neo4j 3.0 has introduced the procedure db.labels() witch return all available labels in the database. Use:
call db.labels();
20
votes
If you want all the individual labels (not the combinations) you can always expand on the answers:
MATCH (n)
WITHDISTINCT labels(n) AS labels
UNWIND labels AS label
RETURNDISTINCT label
ORDERBY label
5
votes
START n=node(*) RETURN labels(n)
4
votes
If you want to get the labels of a specify node, then use labels(node); If you only want to get all node labels in neo4j, then use this function instead: call db.labels;, never ever use this query: MATCH n RETURN DISTINCT LABELS(n). It will do a full table scan, which is very very slow..
3
votes
If you're using the Java API, you can quickly get an iterator of all the Labels in the database like so:
GraphDatabaseService db = (new GraphDatabaseFactory()).newEmbeddedDatabase(pathToDatabase);
ResourceIterable<Label> labs = GlobalGraphOperations.at(db).getAllLabels();
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.OkRead more
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Learn more!