apoc.create.setLabels

Procedure APOC Core

apoc.create.setLabels( [node,id,ids,nodes], ['Label',…​]) - sets the given labels, non matching labels are removed on the node or nodes

Signature

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

Input parameters

Name Type Default

nodes

ANY?

null

label

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