I have nodes in neo4j 5.21 created with these properties: MERGE (rm:RainfallMonth {month: 'Jan', year: 2023, location: 'South', rainfall: 80})
I want to include a new name property that will automatically modify the node:
MATCH (rm:RainfallMonth)
SET rm.name = 'Rainfall ' + rm.month + ' ' + toString(rm.year) + ' ' + rm.location;
The result shows confirmation of the creation of the properties, but the property does not appear in the nodes.
So if I look at your screenshots I can only come up with one theory: If either month, year or location is null, then the name property would also become null. However, in the SET-statement it wouldn't claim to have set the property, but we see in your screenshot that 289 properties did get set. However, I don't know how many RainfallMonth nodes you have in your database. If that is more than 309, then it might me that 289 gets correctly set, but you still have at least 20 that are not, and when you do your RETURN rm.name LIMIT 20 you just happen to get 20 of the nodes that did not get set (those are probably the first 20 nodes created, so maybe the first nodes were not correctly created?)
All node properties contain data, they are not null.
There are 817 nodes of type 'RainfallMonth'
The 'name' property was set only for location: 'South', for 'North' and 'Center' they were not set.
528 properties received the 'name' property null.
When explicitly filtering the property location= 'Center' it is not done.