第二章 描述万维网的资源-RDF
HTML是编辑网页的标准语言。
使用URI是RDF背后的一个关键设计方案。使用这种机制能大幅环节迄今为止困扰分布式数据的表示的一词多义问题。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
https://zhuanlan.zhihu.com/p/112823325
一,RDF简介
RDF 全称为 Resource Description Framework(即资源描述框架),是一种用于描绘网络资源或者信息的框架协议,这一协议提供了一种可行方式让计算机可以识别并理解资源(Resource)的含义(这里强调一下,这里指的资源可以是网页上任意可以识别的信息,比如文章作者,创作时间,或是电商网站中货物价格,剩余数量等等)。
RDF 最早由W3C组织于2004年2月10日推出,它是W3C语义网络体系的重要组成部分。RDF一般用XML进行编写。语义网络体系允许不同操作系统的计算机,或者不同编程序言编写的应用程序去识别网络中的信息,以及理解网络中信息的含义。
二,RDF相关基本概念
2.1 URI
在RDF中所有的资源,都是使用网络标识符 URI(Uniform Resource Identifier, 统一网络标识符)进行识别。URI可以理解为是标识某一个网络资源的字符串。
根据Wikipedia中对于URIs的解释说明:
The most common form of URI is the Uniform Resource Locator(URL), frequently referred to informally as a web address. More rarely seen in usage is the Uniform Resource Name(URN), which was designed to complement URLs by providing a mechanism for the identification of resources in particular namespaces.
可以理解为URI为URL(资源定位符)与URN(资源名称)两者之一或者两者间距。打个比方,URN如同一个人的名字,而URL就是这个人的家庭住址,而URI则可理解为识别这个人或者找到这个人的信息的统称,下图可以帮助理解URI的含义。
URI的分类图(源自Wikipedia-URI字条)
2.2 Property and Property Value
RDF中通过Property(属性) 和 Property Value(属性值)来描述一个具体的Resource(资源)
资源:在RDF中指一个用于具体的事物的URI,例如 "https://www.zhihu.com/rdf"
属性:在RDF中指一个Resource的特性或者相关信息名称,例如 "author" 或者 "profile"(简介)
属性值:在RDF中指属性的具体代表值,例如 "Stefan" 或者 "https://www.zhihu.com/rdf/Stefan" (属性值可以是另一个resource)
下面是一个简单RDF的示例(忽略了命名空间(namespace),以后会详细说明):
<?xml version="1.0"?>
<RDF>
<Description about="https://www.zhihu.com/rdf">
<author>Stefan</author>
<profile>https://www.zhihu.com/rdf/Stefan </profile>
</Description>
</RDF>
2.3 Statement
简单来说,RDF的基本思想就是用简单的方式去对web资源进行陈述(Statement),理解陈述的概念对于理解整个RDF的作用以及后续理解知识图谱(Knowledge Graph)都是很有帮助的。每一个Statement(陈述)都是由subject(主体),predicate(谓词)和object(客体)组成,并且三者分别对应2.2中提到的资源,属性以及属性值。
predicate
英 [ˈpredɪkət , ˈpredɪkeɪt] 美 [ˈpredɪkət , ˈpredɪkeɪt]
n.
谓语(句子成分,对主语加以陈述,如John went home中的went home)
v.
使基于;使以…为依据;表明;阐明;断言
下面举例说明:
The author of the "https://www.zhihu.com/rdf" is Stefan.
subject:"https://www.zhihu.com/rdf"
predicate:author
object: Stefan
同时,RDF的陈述还可以使用图模型进行表示,其中subject和object通过节点(node)表示,而predicate则是由从主体节点指向客体节点的有向弧线curve表示。
例如,对于下面两个英文陈述:
The author of the "https://www.zhihu.com/rdf" is Stefan.
The profile of the "https://www.zhihu.com/rdf" is "https://www.zhihu.com/rdf/Stefan".
可以使用下图来表示.
RDF图模型示例
另一方面,因为有时画图不方便,因此引入Triple(三元组)的概念来表示RDF的陈述,在三元组表示法中,每一个陈述会被写成 object:predicate:object的格式。
例如,上图中每一条陈述可以由下面的三元组表示:
"https://www.zhihu.com/rdf":author : Stefan
"https://www.zhihu.com/rdf":profile : "https://www.zhihu.com/rdf/Stefan"
以上就是RDF的相关基础概念,下一章,我将重点介绍RDF的相关特性。
--------------------------------------------------------------------------------------------------------------------------------
2.3 RDF语法
2.3.1 Turtle
Terse RDF Triple Language
是一种基于文本的RDF语法。
Turtle 是RDF图的文字表示,并且允许以紧凑的文本形式写下RDF图。它由一系列指令、三元组语句或空白行组成。
https://zhuanlan.zhihu.com/p/161642915
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2019-03-16 C++的转换函数