Create additional node label & materialize

I have a graph where each node has a label (Person) and attribute foo which is binary (0,1). Now I want to create a child label i.e. Person:ptype1 for all Person nodes where the foo attribute is 1.

https://neo4j.com/labs/apoc/4.1/overview/apoc.create/apoc.create.setLabels/ and apoc.create.addLabels - APOC Extended Documentation seem to be suitable. However, these operations did not seem to materialize the results (and change the graph stored on disk/Neo4j) rather they only dynamically on the fly manipulate the returned result.

How can I also materialize this operation?

Actually they should work, can you share the full statement you ran to update your people?

Also it's easier:

MATCH (p:Person) WHERE p.foo = 1 SET p:PType1
1 Like