Найдите актеров, которые НЕ действовали с Ху go Ткачеством, но действовали вместе с его коллегами по звездам, и УСТАНАВЛИВАЮТ свойство действовать со значением, которое не действует на этих актеров. - PullRequest
0 голосов
/ 02 мая 2020

Я хочу найти актеров, которые НЕ действовали с Ху go Плетением, но действовали со своими коллегами по звездам, и УСТАНАВЛИВАЮТ свойство действовать со значением, которое не действует на этих актеров.

Что я сделал пока это так:

Match (p: Person), (other: Person), (m: Movie)
where (NOT (:Person {name:'Hugo Weaving'})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(p)) 
AND  (p)- [:ACTED_IN]->(m)<-[:ACTED_IN]-(other)
set other.act = 'didnot'
return distinct other

Это дает мне результат (верхние 5 строк).:

╒══════════════════════════════╕
│"other"                       │
╞══════════════════════════════╡
│{"act":"didnot","born":1964,"n│
│ame":"Keanu Reeves"}          │
├──────────────────────────────┤
│{"act":"didnot","born":1967,"n│
│ame":"Carrie-Anne Moss"}      │
├──────────────────────────────┤
│{"act":"didnot","born":1961,"n│
│ame":"Laurence Fishburne"}    │
├──────────────────────────────┤
│{"act":"didnot","born":1978,"n│
│ame":"Emil Eifrem"}           │
├──────────────────────────────┤
│{"act":"didnot","born":1975,"n│
│ame":"Charlize Theron"}       │

Результат неверный, а также запрос выглядит неэффективным. Что я делаю неправильно? Любое понимание в правильном направлении высоко ценится. Спасибо.

1 Ответ

0 голосов
/ 03 мая 2020

Пожалуйста, попробуйте приведенный ниже код, он дает мне 48 таких актеров.

MATCH(hw:Person{name:"Hugo Weaving"})-[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(co:Person)
WITH hw, co
MATCH (co)-[:ACTED_IN]->(m2:Movie)<-[:ACTED_IN]-(co2:Person)
WHERE co2.name <> "Hugo Weaving"
AND NOT (co2)-[:ACTED_IN]->(:Movie)<-[:ACTED_IN]-(hw)
RETURN DISTINCT co2.name

Мало кто из них:

"David Morse"
"Sam Rockwell"
"Gary Sinise"
"James Cromwell"
"Bonnie Hunt"
"Patricia Clarkson"
"Michael Clarke Duncan"
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...