Q: Parameter Query Where Contents Determine Both Property Name and Property Value Assigned I have two values extracted from a select query on a MySQL database. The first contains the property name and the second contains the value for the property.
Is there a way using a parameter to assign the value to the name in the first field i.e. Something like
SET name in row.Property_Name=row.Property_Value

A: It's not possible to do so with Cypher only: the n[name] syntax allows you to read but not write a property with a dynamic name.
However, you can do it with an APOC procedure, even though it's currently missing from the documentation: apoc.create.setProperty(). It's in the 3.0 and 3.1 branches of APOC, so you're good to go with any Neo4j 3.x instance.
CALL apoc.create.setProperty(n, row.Property_Name, row.Property_Value)


A: If you can change these key/value pairs into a map, then you can set them on nodes.
The syntax, if map has been changed to a parameter, looks like this for a column of nodes n:
SET n += $map

You may want to review the SET clause in the documentation.
