LinkedIn之类的网站如何有效地显示用户之间的关系距离1、2和3。我们可以对 neo4j 密码做同样的事情吗?

Posted

技术标签:

【中文标题】LinkedIn之类的网站如何有效地显示用户之间的关系距离1、2和3。我们可以对 neo4j 密码做同样的事情吗?【英文标题】:How do sites like LinkedIn efficiently show the relationship distance 1st,2nd and 3rd between users. can we do the same with neo4j cypher.? 【发布时间】:2014-10-08 10:19:44 【问题描述】:

朋友船树:

A ---> B----> C ----> D -------> E -----> F

它是在 Nep4j 中创建的示例友谊树,女巫有 6 个节点和一些关系。

我有两个问题

1) 我想找到 A 和 D 之间的连接级别(第 1/2/3 级,如linkedin)。

2) 我想使用 Cypher 显示 A 和 F 之间的最短路径(此处为 a-b-c-d-e-f)

【问题讨论】:

帕凡也请采纳! 【参考方案1】:

要获得您可以使用的连接级别:

MATCH friendpath=(a:Personname:'Pavan')-[:KNOWS*..3]->(d:Personname:'Mark')
RETURN LENGTH(friendpath)

以及最短路径(记录在here):

MATCH (a:Personname:'Pavan'),(f:Personname:'John'),
shortpath = shortestPath((a)-[*..15]-(f))
RETURN shortpath

请注意,此路径限制为 15 跳,以尝试永久停止查询。

【讨论】:

非常感谢 JohnMark,这就是我要找的。我需要很多帮助。如有任何疑问,我会与您联系。

以上是关于LinkedIn之类的网站如何有效地显示用户之间的关系距离1、2和3。我们可以对 neo4j 密码做同样的事情吗?的主要内容,如果未能解决你的问题,请参考以下文章

更有效地显示非常大的数据集

LinkedIn 分享文章缩略图

基于 Kafka 和 ElasticSearch,LinkedIn是如何构建实时日志分析系统的?

如何获取 LinkedIn 亚马逊阅读列表数据

reddit之类的某些网站如何绕过adblocker来展示广告?

如何在 linux 中使用 mod rewrite 将文件夹重定向到文件? [复制]