Open Social Graph Explorer:一个社交关系图谱探索工具
项目地址:https://github.com/krismint/open-social-graph-explore
一、项目定位
Open Social Graph Explorer(OSGE) 是一个本地优先的社交关系图谱探索工具。
项目围绕公开或已授权的数据,将社交平台中的账号、帖子、评论、回复、提及等互动信息整理为关系网络,并通过图谱方式展示账号之间的连接关系。
OSGE 当前更接近一个研究型原型,而不是成熟的生产系统。它的重点不在于大规模采集数据,而在于完成一套基础的图谱处理流程:
- 数据获取;
- 本地存储;
- 关系建模;
- 边权重计算;
- 图谱分析;
- Web 可视化。
项目默认以“平台账号”作为图谱节点,不直接对应现实中的自然人。图谱展示的是公开互动结构,而不是现实身份关系。
二、图谱示例
下面是 README 中展示的图谱可视化示例:

图中的每个节点表示一个平台账号,节点之间的连线表示账号之间发生过互动。
这类可视化主要用于观察关系网络中的结构特征,例如节点连接密度、关系聚集情况、社区分布,以及某些账号在网络中的相对位置。
图谱本身只展示结构关系,不能直接等同于现实身份或真实社交关系。
三、功能
OSGE 当前围绕社交关系图谱的基本流程展开。
1. 平台数据接入
项目通过 platform adapter 接入不同平台的数据。
当前 README 中提到的最小 adapter 包括:
- Xiaohongshu;
- Douyin。
adapter 的作用是把不同平台的数据结构转换为项目内部统一的数据格式,使后续的存储、建图和分析流程能够保持一致。
2. 账号关系建模
项目会将采集到的账号、帖子和互动记录整理为图谱数据。
例如:
- A 评论了 B 的帖子;
- A 回复了 B 的评论;
- A 提及了 B;
- A 与 B 在多个帖子中反复互动。
这些行为可以被转换为账号之间的关系边,并进一步形成关系网络。
3. 边权重计算
OSGE 不只记录“两个账号之间是否有关系”,也会记录关系强度。
边权重可以受到多种因素影响,例如:
- 互动类型;
- 互动次数;
- 是否为直接回复;
- 是否跨多个帖子出现;
- 互动发生的时间;
- 关系证据数量。
因此,图谱中的边不是简单的连线,而是带有一定权重的关系记录。
4. 图谱分析
项目使用图分析方法计算节点在网络中的结构位置。
当前涉及的指标包括:
- degree centrality;
- betweenness centrality;
- PageRank;
- community id;
- weighted degree。
这些指标用于描述账号在图谱中的连接程度、桥接位置和网络重要性。
需要注意的是,这些指标只代表图结构中的位置,不能直接推导出现实中的身份、影响力或亲密关系。
5. 本地可视化
OSGE 提供本地 Web 图谱页面,可以在浏览器中查看交互式关系网络。
这种方式适合小规模图谱探索,也便于在本地环境中调试数据和观察分析结果。
四、项目结构
项目目录结构如下:
1 | adapters/ 平台适配器相关代码 |
整体流程可以概括为:
1 | 数据来源 |
这种结构将平台接入和图谱分析分离开来。
后续如果增加新的平台,主要工作集中在 adapter 层;核心的数据库、建图、分析和可视化流程可以继续复用。
五、当前状态
OSGE 当前处于早期研究原型阶段。
目前已经具备的部分包括:
- SQLite 本地数据库;
- Xiaohongshu 与 Douyin 最小采集 adapter;
- 账号、帖子、互动、边和节点评分等基础数据表;
- 评论和回复关系的边权重计算;
- NetworkX 图分析;
- FastAPI 本地 Web 服务;
- pyvis / vis-network 图谱渲染;
- 本地示例数据库和图谱页面。
后续仍需要继续完善的部分包括:
- 自动化测试;
- adapter 包结构整理;
- 数据删除和审计流程;
- 第三方签名资产的权限确认;
- 跨平台身份管理流程;
- 图谱报告导出能力。
当前版本适合用于原型验证和小规模实验,还不适合作为稳定的生产系统使用。
六、使用边界
社交关系图谱涉及账号、互动和关系信息,因此项目边界需要明确。
OSGE 的使用范围应限定在:
- 公开可访问的数据;
- 用户自有的数据;
- 已获得授权的数据;
- 非商业的学习、研究、审计和个人实验场景。
不应使用该项目进行:
- 绕过平台权限、登录墙、验证码或限流;
- 采集私信、非公开评论、非公开社群或受限资料;
- 推断、曝光或追踪真实个人身份;
- 人肉搜索、骚扰、监控或社工库建设;
- 商业画像、广告营销、风控评分或竞争情报。
项目中的图谱节点默认表示“平台账号”,不表示现实世界中的个人。
图谱分析可以呈现公开互动结构,但不能替代身份确认,也不应被用于未经授权的个人追踪。
References
[1] Open Social Graph Explorer, GitHub Repository: https://github.com/krismint/open-social-graph-explore
[2] OSGE README: https://github.com/krismint/open-social-graph-explore/blob/main/README.md
