apoc.create.setLabels

Procedure

apoc.create.setLabels(nodes Any, labels [String]) - sets the given labels to the given node(s). Non-matching labels are removed from the nodes.

Signature

apoc.create.setLabels(nodes :: ANY?, labels :: LIST? OF STRING?) :: (node :: NODE?)

Input parameters

Name Type Default

nodes

ANY?

null

labels

LIST? OF STRING?

null

Output parameters

Name Type

node

NODE?

Usage Examples

The examples in this section are based on the following sample graph:

CREATE (:Movie {title: 'A Few Good Men', genre: 'Drama'});

We can move the 'genre' property to a label and remove it as a property, as well as removing any other labels, by running the following query:

MATCH (n:Movie)
CALL apoc.create.setLabels( n, [ n.genre ] )
YIELD node
REMOVE node.genre
RETURN node;
Table 1. Results
node

(:Drama {title: "A Few Good Men"})

If we want to only add new labels and not remove existing ones, see apoc.create.addLabels