feeds
Marco Belinelli
["my best friend, tom", "comment of post11"]
Tony Parker
["I can swim"]
Danny Green
["comment of post1"]
这时候,从可视化这个结果也可以看到住址,以及它们的经纬度信息 。我手动按经纬度把地址的节点在画布上进行排列(下图右侧橙色部分),可以看到这个 feed 的主人 Tim (player100) 的住址(7,8)刚好在其他好友住址的中间位置,这些邻近好友的相关的文章和参与评论的内容将被作为信息流推送给 Tim:
时空关系追踪时空关系追踪,这个图谱应用是在公共安全、物流、疫情防控等场景下,利用图遍历将繁杂、凌乱的信息充分利用起来的典型应用 。当我们建立起这样的图谱之后 , 往往只需要简单的图查询就可以获得非常有用的洞察 。本章节我给大家近距离讲下这个应用场景 。
数据集我创建了一个虚拟数据集来构建时空关系图谱,数据集的生成程序和拿来即用的文件都放在了 GitHub 上,仓库地址是:https://github.com/wey-gu/covid-track-graph-datagen 。
它的数据建模如下:
在一个全新的环境里,仅用下面的 3 行命令就能准备好这个图谱:
# 安装 NebulaGraph + NebulaGraph Studiocurl -fsSL nebula-up.siwei.io/install.sh | bash -s -- v3# 下载数据集git clone https://github.com/wey-gu/covid-track-graph-datagen && cd covid-track-graph-datagen# 导入数据集docker run --rm -ti--network=nebula-net-v ${PWD}/:/rootvesoft/nebula-importer:v3.2.0--config /root/nebula-importer-config.yaml
我们在 console 里查看一下数据:~/.nebula-up/console.sh# 进入 console 了,进到 covid_trace 图空间(刚才创建的)USE covid_trace;# 执行数据统计的任务SHOW JOB STATS
结果:(root@nebula) [covid_trace]> SHOW STATS+---------+------------+--------+| Type| Name| Count|+---------+------------+--------+| "Tag"| "人"| 10000|| "Tag"| "地址"| 1000|| "Tag"| "城市"| 341|| "Tag"| "村镇"| 42950|| "Tag"| "省份"| 32|| "Tag"| "联系方式" | 0|| "Tag"| "行政区"| 3134|| "Tag"| "街道"| 667911 || "Edge"| "住址"| 0|| "Edge"| "到访"| 19986|| "Edge"| "同住"| 19998|| "Edge"| "属于"| 715336 || "Space" | "vertices" | 725368 || "Space" | "edges"| 755320 |+---------+------------+--------+Got 14 rows (time spent 1087/46271 us)
两人之间的关联很自然,利用路径查询就可以了:# 最短FIND SHORTEST PATH FROM "p_100" TO "p_101" OVER * BIDIRECT YIELD PATH AS paths# 所有路径FIND ALL PATH FROM "p_100" TO "p_101" OVER * BIDIRECT YIELD PATH AS paths | LIMIT 10
最短路径结果:<("p_100")<-[: 同住 @0 {}]-("p_2136")<-[: 同住 @0 {}]-("p_3708")-[: 到访 @0 {}]->("a_125")<-[: 到访 @0 {}]-("p_101")>
所有路径结果:
<("p_100")<-[: 同住 @0 {}]-("p_2136")<-[: 同住 @0 {}]-("p_3708")-[: 到访 @0 {}]->("a_125")<-[: 到访 @0 {}]-("p_101")>
<("p_100")-[: 到访 @0 {}]->("a_328")<-[: 到访 @0 {}]-("p_6976")<-[: 同住 @0 {}]-("p_261")-[: 到访 @0 {}]->("a_352")<-[: 到访 @0 {}]-("p_101")>
<("p_100")-[: 同住 @0 {}]->("p_8709")-[: 同住 @0 {}]->("p_9315")-[: 同住 @0 {}]->("p_261")-[: 到访 @0 {}]->("a_352")<-[: 到访 @0 {}]-("p_101")>
推荐阅读
- 客户欠货款不认账要怎么办理 客户欠货款不认账要怎么办
- 苹果13屏幕发黄怎么回事儿 苹果13屏幕发黄怎么回事
- 怎么看微信是哪一年注册的账号 怎么看微信是哪一年注册的
- 逃税86万怎么惩处他人 逃税86万怎么惩处
- 孩子学习没耐心怎么办 孩子没耐心怎么办培养
- 抖音极速版怎么发视频作品 抖音极速版怎么发视频
- 孩子上高一静不下心学习怎么办
- 小孩子静不下心学习怎么办 孩子静不下心来学东西怎么办
- 新买的车库门遥控器怎么对码 车库门遥控器怎么对码
- 电脑版qq音乐怎么看等级 qq音乐怎么看等级