36kr 07月28日 10:14
知识图谱的直观介绍:以最简单的方式了解知识图谱的基础知识
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文以可视化和代码友好的方式,深入浅出地介绍了知识图谱的基本概念和构建方法。文章从图的基本术语入手,包括节点、关系、属性、图的方向性、权重和形状等,并详细阐述了标记属性图(LPG)模型。通过Cypher查询语言的语法解析,帮助开发者理解如何用文本表示图数据。文章还提供了建模技巧,指导用户根据实际需求确定节点、属性和标签的划分,并强调了知识图谱在社交网络、推荐系统等领域的广泛应用,鼓励读者实践和探索。

💡 图的基本构成要素包括节点(实体)、关系(连接)和属性(特征),节点可以有标签来表示其类型,关系则有方向、类型和可选属性,共同构成了图数据的结构。

🧭 图的属性可以进一步细化,包括关系的方向性(有向图与无向图)、关系的重要性(加权图与无加权图)以及图的整体形态(简单图、多重图、完全图),这些属性决定了图的表达能力和应用场景。

✍️ Cypher作为一种专为图设计的查询语言,其简洁的语法允许开发者通过文本直观地描述图模式,包括节点的标签和属性、关系的类型和方向,以及它们之间的连接方式,是处理图数据的强大工具。

📐 标记属性图(LPG)模型是一种灵活且开发者友好的图表示方法,它以节点、标签、属性和关系为核心,广泛应用于Neo4j等图形数据库,通过清晰的结构化方式组织和存储复杂的关系数据。

🤔 建模图谱时,应根据目标、问题和领域来决定节点的划分、属性的设置以及标签的选择,关键在于考虑值的搜索频率、共享性、类别固定性以及是否需要连接的元数据,以优化图的查询和分析能力。

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

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

一 图形术语

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

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氪经授权发布。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

知识图谱 图数据库 Cypher LPG模型 数据建模
相关文章