微信怎么看共同好友多少个群聊 微信怎么看共同好友多少个( 三 )

数据初探完成 schema 创建和数据导入之后,我们来看看数据统计:
[basketballplayer]> SUBMIT JOB STATS;+------------+| New Job Id |+------------+| 10|+------------+[basketballplayer]> SHOW STATS;+---------+----------------+-------+| Type| Name| Count |+---------+----------------+-------+| "Tag"| "address"| 19|| "Tag"| "place"| 14|| "Tag"| "player"| 51|| "Tag"| "post"| 10|| "Tag"| "team"| 30|| "Edge"| "belong_to"| 19|| "Edge"| "commented_at" | 40|| "Edge"| "created_post" | 10|| "Edge"| "follow"| 81|| "Edge"| "lived_in"| 19|| "Edge"| "serve"| 152|| "Space" | "vertices"| 124|| "Space" | "edges"| 321|+---------+----------------+-------+Got 13 rows (time spent 1038/51372 us)查一下所有的数据:
MATCH ()-[e]->() RETURN e LIMIT 10000因为数据量太小了,这里可以把所有数据在 NebulaGraph Explorer 中进行渲染出来:

微信怎么看共同好友多少个群聊 微信怎么看共同好友多少个


社交网络典型应用找出网络中的关键人物要识别社交网络中的有影响力的关键人物们(Influencer)需要使用上各种指标和方法,而 KOL 的识别对很多业务场景都有帮助,比如:用于营销或研究网络中的信息传播 。
识别他们的方法有很多,具体的方法和考量信息、关系、角度也取决于这些关键人物的类型和获取他们的目的 。
识别 Influencer 常见的方法包括看他们的粉丝数、内容浏览量,内容(包括帖子、视频)上读者的参与度 , 以及他们的内容影响力(转发、引用) 。这些思路如果用图数据库实现也没啥问题,不过太普通太普通了 , 我们搞点高科技的 —— 用评估、计算节点重要性的图算法 , 在图上得出这些关键人物 。
PageRankPageRank 是一个非常 “古老的” 图算法,它计算图上点之间的关系数量得到每个点的得分(Rank),最初由 Google 的创始人 Larry Page 和 Sergey Brin 提出并应用在早期的 Google 搜索引擎中 , 用来排序搜索结果,这里的 Page 可以是 Larry Page 的姓和 Web Page 的双关了 。
在现代、复杂的搜索引擎中,PageRank 早就因为其过于简单的设计而被弃用,但是在部分图结构网络场景中,PageRank 算法仍然在发光发热 。在社交网络中,我们姑且粗略地认为所有连接的重要程度相同,去运行 PageRank 算法找到那些 Influencer 。
在 NebulaGraph 中 , 我们可以利用图计算工具 NebulaGraph Algorithm、NebulaGraph Analytics 在全图上运行 PageRank,这是因为数据量小 。但在日常的分析、验证、设计截断时,我们不需要在全量数据上跑结果,在一些很小的子图上(最多上万个节点),我们可以轻松地在浏览器里边运行各种图算法得到业务可用的数据 。
这里,我们就用 NebulaGraph Explorer 内置的图算法功能,在浏览器上点击一下鼠标执行 PageRank 看看 , 具体方法这里略去 , 可以参考文档 。
微信怎么看共同好友多少个群聊 微信怎么看共同好友多少个


如图所示,PageRank 计算之后所有绿色的 player(人)中,"player.name: Tim Duncan" 是最大的一个点 。与之相关联的关系看起来的确不少,我们在图上选择他 , 再右键反选,选择除了 Tim Duncan 之外的所有点,用退格键删除所有其他的点,再以他作为起点双向探索出 1 到 5 步,可以得到 Tim Duncan 的子图:
微信怎么看共同好友多少个群聊 微信怎么看共同好友多少个


除了可以看到 Tim Duncan 是个 Influener 之外 , 我们还可以看到其他受欢迎的队员和他一样服役过知名球队的热刺(Spurs) , 这些都印证了 PageRank 的评估方式 。

推荐阅读