Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
08-17-2022 03:57 PM
I have many person nodes with a name property. I have one relationship "likes".
What is the query for "Who are the persons that like Ed but do not like (have no relationship with) Alice, Bob, Charlie, and Dan?"
Solved! Go to Solution.
08-17-2022 08:33 PM
try this:
match(p:Person)-[:LIKES]->(:Person{name: ‘Ed’})
where not exist ((p)-[:LIKES]->(:Person{name: ‘Alice’}))
and not exist ((p)-[:LIKES]->(:Person{name: ‘Bob’}))
and not exist ((p)-[:LIKES]->(:Person{name: ‘Charli’}))
and not exist ((p)-[:LIKES]->(:Person{name: ‘Dan’}))
return p.name as person
Same query with a little fancier notation:
with [“Alice”, “Bob”, “Dan”, “Charlie”] as names
match(p:Person)-[:LIKES]->(:Person{name: “Ed”})
where none( x in names where exists ((p)-[:LIKES]->(:Person{name: x})))
return p.name as person
08-17-2022 08:33 PM
try this:
match(p:Person)-[:LIKES]->(:Person{name: ‘Ed’})
where not exist ((p)-[:LIKES]->(:Person{name: ‘Alice’}))
and not exist ((p)-[:LIKES]->(:Person{name: ‘Bob’}))
and not exist ((p)-[:LIKES]->(:Person{name: ‘Charli’}))
and not exist ((p)-[:LIKES]->(:Person{name: ‘Dan’}))
return p.name as person
Same query with a little fancier notation:
with [“Alice”, “Bob”, “Dan”, “Charlie”] as names
match(p:Person)-[:LIKES]->(:Person{name: “Ed”})
where none( x in names where exists ((p)-[:LIKES]->(:Person{name: x})))
return p.name as person
All the sessions of the conference are now available online