时间感知社交图 DS/查询

Posted

技术标签:

【中文标题】时间感知社交图 DS/查询【英文标题】:Time Aware Social Graph DS/Queries 【发布时间】:2010-09-12 05:34:51 【问题描述】:

经典社交网络可以表示为图形/矩阵。

使用图形/矩阵可以轻松计算

2 个参与者之间的最短路径 从 A -> B 的可达性 一般统计数据(互惠、平均连通性等) 等

是否有一种理想的数据结构(或对图形/矩阵的修改)可以在时间感知的同时轻松计算上述内容?

例如,

输入

t = 0...100

A B(当 t = 0...10) B C(当 t = 5...100) C A(当 t = 50...100)

示例查询

A 在任何时候都与 B 相关联吗? (是) A 与 B 关联,而 B 与 C 关联? (是的。@t = 5...10) C 是否可以从 A 到达(是的。@ t=5 )

【问题讨论】:

【参考方案1】:

您正在寻找的是一个明确的持久数据结构。这方面有相当多的文献,但并不为人所知。 Chris Okasaki 就这个主题写了一本相当充实的书。看看我对this question的回答。

鉴于 Driscoll 等人的节点拆分结构之类的完整实现,有几种不同的方法可以设置您的查询。如果您想了解特定时间范围内的真实情况,您只需检查包含有关该时间范围的数据的节点。如果您想知道某件事在什么时间范围内是真实的,您将开始搜索,并在探索每个新节点时逐渐收紧您的界限。请记住,您的结果可能并不总是连续的 - 考虑两个人开始约会、分手和复合。

我猜可能至少有一篇关于如何对持久图进行有趣查询的未探索领域的出版物,如果不是更多的话。

【讨论】:

以上是关于时间感知社交图 DS/查询的主要内容,如果未能解决你的问题,请参考以下文章

免费社交图数据

Python:为社交网络生成图表

使用 Laravel 为社交网站创建缩略图

使用 javascript 库的社交网络图 [关闭]

用图技术搞定附近好友时空交集等 7 个典型社交网络应用

关于创建社交图和交叉引用关系的框架/API 的建议