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?"
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?"
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