Запросите с помощью Cypher, чтобы найти P, у которого N друзей работают на C - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть список из 70+ человек (name, profile_id) и отношения, кто с кем дружит.Я знаю 8, которые работают в компании X. Но я хочу попытаться установить / предсказать, кто еще работает в компании X

Моя теория - это любой, кто еще не работает в компании X, но дружит спо крайней мере 4 человека, которые имеют хорошие шансы работать также в компании X.

Я использовал приведенный ниже запрос, но, похоже, не дает правильных результатов.

MATCH (p1:FacebookPerson)-[:FRIEND]->(p2:FacebookPerson)
MATCH (p2:FacebookPerson)-[:WORK_AT]-(c:Company)
RETURN p2,c;

1 Ответ

0 голосов
/ 22 сентября 2019

Может быть, что-то вроде этого?

MATCH (c:Company)<-[:WORKS_AT]-(f)-[:FRIEND]-(p)
WHERE c.name = 'Company X' AND NOT (c)<-[:WORKS_AT]-(p)
WITH p, count(f) as connections
WHERE connections >= 4
RETURN p, connections

Это находит для каждого человека, который является другом кого-то, кто работает в компании x (но кто там не работает), подсчет количества друзейони работают в компании x и фильтруют тех, у кого 4 или более.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...