SuperAPI AI 工具集

knowledge-graph-builder

数据与分析

查看项目

更新于 10-15 09:41

技能介绍

用途

Knowledge Graph Builder 是一项技能,用于指导设计能够捕获实体、关系和语义含义的知识图谱,以支持强大的查询与推理。

核心能力

  • 图建模:面向图的实体—关系设计
  • 查询语言:Cypher(Neo4j)、SPARQL(RDF)、Gremlin
  • 本体设计:模式、分类法与语义关系
  • 图算法:路径查找、中心性、社区检测

知识图谱基础

知识图谱 = 实体 + 关系 + 模式 + 语义。与传统数据库(含行的表、外键、JOIN 操作)相比,知识图谱以节点与带类型的边表达连接,例如 (Person)─KNOWS─▶(Person)、(Person)─WORKS_AT─▶(Company)、(Company)─IN─▶(Industry)。

适用场景:

  • 推荐系统:遍历连接以发现相关条目
  • 欺诈检测:识别可疑的关系模式
  • 知识管理:连接概念并推断关系
  • 主数据管理:跨系统统一实体
  • 根因分析:沿依赖关系追踪因果链

图数据建模

实体设计:识别核心实体(节点),可为节点设置多个标签进行分类,并使用属性描述实体。

关系设计:以带类型、有方向的边建模连接,可带属性;支持时间性关系。常见关系模式包括:

  • 层级型:IS_CHILD_OF、REPORTS_TO
  • 关联型:KNOWS、REFERENCES
  • 时间型:PRECEDES、SUPERSEDES
  • 分类型:BELONGS_TO、IS_A
  • 空间型:NEAR、CONTAINS

模式定义:可创建节点唯一性约束、属性存在性约束,以及用于查询性能的索引。

Cypher 查询模式

资料给出了多类 Cypher 查询示例,包括:

  • 基础遍历:查找同公司的同事、可变长度路径(1–3 跳)
  • 聚合:统计关系数量、将结果收集为列表
  • 推荐:二度人脉(好友的好友)、基于相似兴趣的内容推荐
  • 路径分析:最短路径、全部最短路径

图算法

  • 中心性度量:Degree(连接数,找热门节点)、Betweenness(桥接检测,找中介/瓶颈)、PageRank(影响力传播,排序重要性)、Closeness(平均距离,找连接良好的节点)。资料给出使用 Neo4j Graph Data Science 调用 gds.pageRank.stream 的示例。
  • 社区检测:Louvain,示例调用 gds.louvain.stream 并按社区分组返回成员。

知识图谱模式

  • 实体消解:查找潜在重复项(相同 email,或相同 name 与 birth_date),并使用 apoc.refactor.mergeNodes 合并重复项。
  • 语义分层:分为实例层、模式层、本体层三层。
  • 时间建模:以 HAS_STATE 关系配合 valid_from/valid_to 记录随时间变化的状态,并可按时间点查询状态。

最佳实践

建模准则:

  • 当连接本身具有含义时,优先使用关系而非属性
  • 使用具体关系类型(如 :MANAGES 而非 :RELATED_TO)
  • 面向查询建模,先理解访问模式
  • 保持属性原子化,可搜索数据不要使用数组
  • 对节点而非整个图做版本管理,时间属性放在关系上

性能建议:

  • 为 WHERE 子句使用的属性建立索引
  • 使用参数($userId)而非字符串拼接
  • 限制可变长度路径(*1..5 而非 *)
  • 使用 EXPLAIN 与 PROFILE 分析查询
  • 遍历中考虑关系方向

参考资料

  • references/cypher-patterns.md:高级 Cypher 查询示例
  • references/graph-modeling.md:实体与关系设计模式
  • references/graph-algorithms.md:算法选择与配置

限制

资料未提供该技能的安装命令、运行环境、依赖项与具体使用步骤;未提供收费、价格或平台相关信息。