项目地址:https://github.com/krismint/open-social-graph-explore

一、项目定位

Open Social Graph Explorer(OSGE) 是一个本地优先的社交关系图谱探索工具。

项目围绕公开或已授权的数据,将社交平台中的账号、帖子、评论、回复、提及等互动信息整理为关系网络,并通过图谱方式展示账号之间的连接关系。

OSGE 当前更接近一个研究型原型,而不是成熟的生产系统。它的重点不在于大规模采集数据,而在于完成一套基础的图谱处理流程:

  • 数据获取;
  • 本地存储;
  • 关系建模;
  • 边权重计算;
  • 图谱分析;
  • Web 可视化。

项目默认以“平台账号”作为图谱节点,不直接对应现实中的自然人。图谱展示的是公开互动结构,而不是现实身份关系。

二、图谱示例

下面是 README 中展示的图谱可视化示例:

OSGE 图谱可视化截图

图中的每个节点表示一个平台账号,节点之间的连线表示账号之间发生过互动。

这类可视化主要用于观察关系网络中的结构特征,例如节点连接密度、关系聚集情况、社区分布,以及某些账号在网络中的相对位置。

图谱本身只展示结构关系,不能直接等同于现实身份或真实社交关系。

三、功能

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
2
3
4
5
6
adapters/   平台适配器相关代码
core/ 数据库、建图、分析和渲染逻辑
web/ 本地 Web 服务与图谱页面
scripts/ 初始化、构建、分析和启动脚本
database/ 脱敏后的示例数据库
docs/ 架构、数据模型、伦理边界和开发说明

整体流程可以概括为:

1
2
3
4
5
6
数据来源
→ 平台适配器
→ 本地数据库
→ 图谱构建
→ 图分析
→ Web 可视化

这种结构将平台接入和图谱分析分离开来。

后续如果增加新的平台,主要工作集中在 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