知识图谱的直观介绍:以最简单的方式了解知识图谱的基础知识

王建峰·2025年07月28日 10:05
知识图谱基础:节点、关系、Cypher查询及LPG模型应用。

图谱无处不在——社交网络、推荐系统,甚至存在于我们大脑中概念的连接方式中。但知识图谱究竟是什么?作为开发人员,我们该如何使用它?

在本 文 中,我们将采用可视化和代码友好的方法来探索知识图谱的工作原理,从最基础的部分开始。

一 图形术语

在开始构建图之前,我们先来熟悉一些基本术语。这些概念将帮助你理解图数据的结构以及不同实体(节点)之间的关系。

1.了解图元素

图的 DNA:节点、关系和属性

2.图显示的内容

这张图是使用标记属性图 (LPG)模型的可视化表示。让我们来分解一下:

每个圆圈代表一个节点——在本例中是两个人:

一个标:Person有 name 属性"Alice"

另一个标:Person有 name 属性"Bob"

它们之间的箭头表示一种关系

它被标记为FRIEND,显示节点之间的连接类型

箭头方向告诉我们 Alice 和 Bob 是朋友

3.关系方向

有向图:关系有方向——例如“用户 Jane 关注 用户 Joe”。

无向图:关系是双向的 - 例如“用户 Joe 是用户 Jane 的朋友 ”。

4.关系权重

无加权图:关系仅存在或不存在——没有额外的数据。

加权图:关系带有数字或分数 - 例如,“用户 Jane 喜欢 用户 Joe 的 10 个帖子”。

5.图的形状

简单图:任意两个实体之间只有一种关系;没有自链接。

多重图:允许同一实体之间存在多种关系 - 例如,同一两个用户之间 有认识 、 喜欢 和 访问的关系。

完全图:每个节点都与其他节点相连。现实生活中很少见,但对学习很有用。

6.实体(节点)的类型

单分图:所有节点都是同一类型——就像人物图一样。

二分图:两种类型的节点——例如 人和组织。 关系仅发生在这两种类型之间。

二 用文本表示图形:Cypher 基础知识

在深入研究图模型之前,了解如何用纯文本表示图会很有帮助。一种流行的方法是使用Cypher,这是一种专为处理图而设计的查询语言。如果您从未听说过 Cypher,可以将其视为 SQL 的图版本——只不过您处理的不是表,而是节点关系

Cypher 使用简单直观的语法,通过文本描述图形模式。它也是图查询语言 (GQL)标准的基础,该标准旨在统一跨系统查询图形数据的方式。

1.节点

语法:(:Label {propertyKey: value})

例子:(:Person {name: "Alice"})

解释

()围绕一个节点

:Person是标签(实体类型)。

属性进入内部{},例如{name: "Alice"}。

2.关系

语法:-[:TYPE {propertyKey: value}]->

例子:-[:FRIEND {since: 2003}]->

解释

[]包 含关系类型

:FRIEND描述连接的类型

{}拥有关系属性

箭头指示方向

3.完整模式示例

语法: (:Person {name: "Alice"})-[:FRIEND]->(:Person {name: "Bob"})

含义: Alice 和 Bob 是朋友

并排比较

文本到图形:Cypher 实际描述的内容

三 标记属性图模型(LPG)

标记属性图 (LPG)模型是一种灵活且开发者友好的数据图表示方法。它根据节点关系标签属性来构建信息,并广泛应用于 Neo4j 等图形数据库。

标记属性图由什么组成?

LPG 图包括:

节点:代表数据中的实体,如人员、组织或推文。

标签:每个节点可以有一个或多个标签来描述其角色或类别,例如Person或Company。

属性:节点和关系可以附加键值对,如name: "Alice"或since: "2021"。

关系:连接两个节点并始终具有:

一个方向

A类型(例如,FRIENDS_WITH,WORKS_FOR)

可选属性,例如since: 2020

四 第一个图示例

让我们对以下简单信息进行建模:

Alice 和 Bob 是朋友。Alice 在 Acme Corp 公司工作。

当你看这个例子时,试着问问自己:什么是节点?什么是标签?什么应该是一个属性?什么样的东西值得拥有自己的关系?

我们可以得出以下结论:

实体是谁?→ Alice、Bob、 和Acme Corp→ 这些是节点

它们是什么样的东西?→人和公司→标签

什么将他们联系在一起?→友谊和工作→人际关系

哪些细节是相关的?→ 姓名、开始日期 →属性

扩展模型:如果我们添加更多数据会怎样?

现在假设我们还想包括电话号码社会保险号码地址

在许多情况下,您可能会将电话号码等内容直接存储为节点的属性Person。

但是,如果你的目标是找到拥有相同电话号码或地址的人呢?那么最好将它们建模为通过关系连接的独立节点。

建模技巧:如何确定什么是节点、属性或标签?

没有 唯一 的“正确”方法来建模图。这取决于:

你的目标

您的问题

您的领域

以下是一些可以帮助您做出决定的指导性问题:

我会经常用这个值来搜索/过滤吗?如果是,你可能需要把它设为节点或属性。

多个实体可以共享此值吗?如果可以,请考虑使用共享节点。

它是固定的类别或类型吗?如果是,使用标签可能是个好办法。

我需要关于连接的元数据吗?如果需要,你可能需要使用与属性相关的关系。

五 小结:从图基础到第一个模型

到目前为止,您已经迈出了进入知识图谱世界的第一步——了解什么是图谱、如何使用简单的术语描述它们,以及如何使用标记属性图 (LPG)方法模拟现实世界的关系。

您学习了如何:

图可以将人物、地点和概念表示为节点

关系是有方向性的,可以承载意义数据,并将实体连接在一起。

你可以直观地描述图

最重要的是,您开始了解建模决策如何影响图可以回答的问题类型。

👣 下一步

当你前进时:

思考一下你自己的领域或数据: 实体是谁?它们之间有什么联系?

尝试在纸上绘制您自己的图 — — 包括标签、箭头和属性。

探索Neo4jMemgraphKuzu等图形工具并使用示例数据集。

开始使用 Cypher 查询图,看看结构如何满足逻辑。

图并非数据科学家的专属工具,任何想要更直观地连接信息点的人都能从中受益。无论您是从事社交网络、推荐系统、客户 过 程,还是内容标记,知识图谱都能为您提供强大而灵活的连接思维方式。

本文来自微信公众号“数据驱动智能”(ID:Data_0101),作者:晓晓,36氪经授权发布。

+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

下一篇

AppQuantum解析游戏创意趋势与营销策略

15小时前

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业