使用密码查询以查找有 N 个朋友在 C 工作的 P



我有一个70+人的列表(姓名,profile_id(以及谁与谁是朋友的关系。我知道有8人在X公司工作。但我想做的是尝试建立/预测还有谁在X公司工作

我的理论是,任何尚未在X公司工作但至少有4个人的朋友的人都很有可能为X公司工作。

我使用了下面的查询,但似乎没有产生正确的结果。

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

也许是这样的?

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 个或更多朋友的人。

最新更新