Reputation: 148
I'm using Karate club friendship network sample data set to learn Cypher. Here is the description of it:
The model consists of 34 users where some users are friends within a university karate club.
User
node - A user in the karate club.
id
- A unique identified for a user (e.g. "1").name
- Name of the user which is equal to the id (e.g. "1").
Relationships:FRIENDS_WITH
relationship - Connects a User
to another User
friend.
The description says, and my query confirms that users have no names, they have ID and name the same.
I'd like to change this. How can I update the names of all nodes?
Upvotes: 0
Views: 32
Reputation: 67044
Here is one way:
UNWIND [['0','Adam'],['1','Bridget'],['2','Charlie'],...,['33','Zoe']] AS data
MATCH (u:User)
WHERE u.id = data[0]
SET u.name = data[1]
Upvotes: 2
Reputation: 148
This is simple task, but the query is a little bit longer. The image shows that there are 34 nodes. This block needs to be ajusted and repeated 34 times:
MATCH (n)
WHERE n.id = '0'
SET n.name = 'Zoe';
So the query for all 34 names could be:
MATCH (n)
WHERE n.id = '0'
SET n.name = 'Zoe';
MATCH (n)
WHERE n.id = '1'
SET n.name = 'Isla';
MATCH (n)
WHERE n.id = '2'
SET n.name = 'Ella';
MATCH (n)
WHERE n.id = '3'
SET n.name = 'Violet';
MATCH (n)
WHERE n.id = '4'
SET n.name = 'Grace';
MATCH (n)
WHERE n.id = '5'
SET n.name = 'Hannah';
MATCH (n)
WHERE n.id = '6'
SET n.name = 'Lily';
MATCH (n)
WHERE n.id = '7'
SET n.name = 'Madison';
MATCH (n)
WHERE n.id = '8'
SET n.name = 'Evelyn';
MATCH (n)
WHERE n.id = '9'
SET n.name = 'Penelope';
MATCH (n)
WHERE n.id = '10'
SET n.name = 'Leo';
MATCH (n)
WHERE n.id = '11'
SET n.name = 'Adam';
MATCH (n)
WHERE n.id = '12'
SET n.name = 'Dylan';
MATCH (n)
WHERE n.id = '13'
SET n.name = 'Max';
MATCH (n)
WHERE n.id = '14'
SET n.name = 'Aaron';
MATCH (n)
WHERE n.id = '15'
SET n.name = 'Eli';
MATCH (n)
WHERE n.id = '16'
SET n.name = 'Oscar';
MATCH (n)
WHERE n.id = '17'
SET n.name = 'Christopher';
MATCH (n)
WHERE n.id = '18'
SET n.name = 'Miles';
MATCH (n)
WHERE n.id = '19'
SET n.name = 'Nolan';
MATCH (n)
WHERE n.id = '20'
SET n.name = 'Andrew';
MATCH (n)
WHERE n.id = '21'
SET n.name = 'Joshua';
MATCH (n)
WHERE n.id = '22'
SET n.name = 'Isaac';
MATCH (n)
WHERE n.id = '23'
SET n.name = 'James';
MATCH (n)
WHERE n.id = '24'
SET n.name = 'Elijah';
MATCH (n)
WHERE n.id = '25'
SET n.name = 'Ian';
MATCH (n)
WHERE n.id = '26'
SET n.name = 'Gavin';
MATCH (n)
WHERE n.id = '27'
SET n.name = 'Adrian';
MATCH (n)
WHERE n.id = '28'
SET n.name = 'Robert';
MATCH (n)
WHERE n.id = '29'
SET n.name = 'Theo';
MATCH (n)
WHERE n.id = '30'
SET n.name = 'Eric';
MATCH (n)
WHERE n.id = '31'
SET n.name = 'Michael';
MATCH (n)
WHERE n.id = '32'
SET n.name = 'Logan';
MATCH (n)
WHERE n.id = '33'
SET n.name = 'Tyler';
Upvotes: 0