GEOWIKI中文知识图谱检索⌕
首页 / 术语 / RDF的IRI、Blank Node、Literal、Triple、Graph、Named Graph和Dataset有什么区别?
ENT · VERIFIED

RDF的IRI、Blank Node、Literal、Triple、Graph、Named Graph和Dataset有什么区别?

rdf iri blank node literal triple graph named graph dataset differences

别名:暂无登记别名
DIRECT DEFINITION / 直接定义

IRI是可全局标识资源的名称;Blank Node表示没有全局名称的节点;Literal表示字符串、数字、日期等数据值;Triple用主语、谓语、宾语表达一条关系;Graph是一组三元组;Named Graph是在Dataset中用名称关联的一张图;Dataset由一个默认图和零个或多个命名图组成。

直接答案

IRI是可全局标识资源的名称;Blank Node表示没有全局名称的节点;Literal表示字符串、数字、日期等数据值;Triple用主语、谓语、宾语表达一条关系;Graph是一组三元组;Named Graph是在Dataset中用名称关联的一张图;Dataset由一个默认图和零个或多个命名图组成。

IRI、Blank Node和Literal是RDF term;Triple是由term组成的陈述;Graph与Dataset是更高层容器。空白节点不是SQL NULL,命名图的名称也不自动证明图的来源、时间或可信度,需要额外的provenance语句和应用约定。

一、七个概念快速对比

左右滑动查看完整对比 →
概念层级是否有全局名称典型作用
IRIRDF term标识实体、类别和属性
Blank NodeRDF term表示局部匿名资源
LiteralRDF term不适用表示文本、数字和日期值
Triple陈述不适用连接主语、谓语和宾语
Graph三元组集合本身未必有名称表示一组断言
Named GraphDataset成员由图名关联分区查询和管理语境
Dataset图的集合不适用包含默认图与命名图

不要把序列化语法中的缩写当成抽象数据模型本身。

二、RDF term是什么

RDF term是能出现在三元组相应位置的基本值。RDF 1.2标准模型包括IRI、Blank Node、Literal以及新增的Triple Term等类型。

不同类型即使字符看起来相同也不相等。例如IRI <http://example.org/a不同于字符串Literal "http://example.org/a"。

三、IRI是什么

Internationalized Resource Identifier用于标识资源。资源可以是网页、人物、地点、概念、类别或属性,不要求该IRI在浏览器中一定能打开。

采用稳定、受控制的HTTP(S) IRI有利于跨数据集链接和文档发现。

四、IRI与URL有什么区别

URL强调定位和访问资源;IRI是更广的标识符概念,允许国际字符并可用于纯粹命名。RDF使用IRI作为抽象名称。

一个可解引用HTTP IRI可以同时标识资源并提供描述文档,但二者的语义需要清晰设计。

五、Prefix是什么

Turtle与SPARQL可用prefix把长IRI缩写,例如schema:name展开为完整schema.org IRI。Prefix只是文档或查询中的语法便利。

不同文件可以给同一命名空间使用不同prefix,真正比较的是展开后的IRI。

六、Blank Node是什么

Blank Node表示图内存在某个资源,但没有给它全局IRI。它适合局部结构,如地址节点、列表节点或只在当前图中有意义的中间实体。

Blank Node拥有节点身份,但其序列化标签通常只在局部范围内有效。

七、Blank Node不是NULL

SQL NULL表示值未知或不适用;Blank Node表示“有一个资源,只是没有全局名称”。它可以作为多个Triple的共同主语或宾语并承载多项属性。

两个不同Blank Node也不能因为属性相同就自动视为同一实体。

八、Blank Node标签能当数据库ID吗

不应。:b1等标签是序列化时引用匿名节点的局部标识,解析、合并或重新导出后可能变化。

需要跨文件、跨时间稳定引用的实体应分配IRI,或在导入时进行skolemization并记录规则。

九、Skolem IRI是什么

Skolemization用新IRI替代Blank Node,使匿名资源可稳定引用。该IRI应来自受控命名空间,并避免与真实业务标识混淆。

转换能改善同步和差异比较,但也会改变节点的标识方式,需在数据契约中声明。

十、Literal是什么

Literal表示值,由lexical form与datatype组成;语言字符串还可带language tag。例如"42"^^xsd:integer是整数Literal,"猫"@zh是带中文标签的字符串。

Literal通常出现在宾语位置,不能用作谓语。

十一、Plain String与语言字符串不同吗

不同。"cat"与"cat"@en是不同RDF Literal。前者没有语言标签,后者明确为英文。

SPARQL精确匹配时,查询无标签字符串不会自动匹配带@en的值。

十二、Datatype有什么作用

Datatype说明lexical form怎样映射为值。"01"^^xsd:integer与"1"^^xsd:integer文本不同,但可能表示同一整数值;具体相等与排序由SPARQL和datatype语义决定。

不要把日期、布尔和数值全部作为无类型字符串,否则范围查询和验证会困难。

十三、Triple是什么

RDF Triple由subject、predicate和object构成。标准形式中subject是IRI或Blank Node,predicate必须是IRI,object可为IRI、Blank Node或Literal;RDF 1.2还扩展了Triple Term相关表达。

例如:ex:alice schema:name "Alice"@en。

十四、Predicate为什么必须是IRI

谓语定义关系或属性语义,需要能在数据集间稳定识别。使用IRI可避免不同来源把同名字段误认为同一属性。

JSON键name只有局部上下文,RDF谓语https://schema.org/name具有明确全局标识。

十五、Triple是事实吗

Triple是图中被断言的陈述,不自动等于客观事实。数据可能错误、过期、来源不明或只在某种语境下成立。

可信系统应记录来源、时间、生成方式和责任主体,而不是把“存在于图中”当成已证实。

十六、RDF Graph是什么

RDF Graph是一组三元组的集合。集合语义意味着完全相同的Triple重复出现不会形成两条可计数记录。

Graph不是节点与边的某种特定存储实现,数据库可用表、索引或其他结构保存同一抽象模型。

十七、合并Graph会发生什么

简单合并通常取两组三元组的并集,但Blank Node必须避免意外碰撞。不同来源的局部标签相同,不代表同一节点。

解析器应按作用域重命名Blank Node,再进行安全合并。

十八、Named Graph是什么

在RDF Dataset中,Named Graph是图名与RDF Graph的关联。SPARQL可用GRAPH选择特定命名图进行匹配。

图名常为IRI,RDF 1.2也讨论更宽的模型能力;实现兼容性应以目标系统为准。

二十、Default Graph是什么

Dataset总有一个默认图,SPARQL中没有GRAPH子句的基本图模式通常在active default graph上匹配。默认图怎样由底层命名图组成,由数据集和查询配置决定。

有的系统默认图为空,有的合并全部命名图,不能跨产品假设相同。

二十一、RDF Dataset是什么

RDF Dataset包含一个默认图,以及零个或多个命名图关联。它让查询在一组图之间切换,并为数据分区、权限和来源管理提供基础。

Dataset不是简单“一个更大的Graph”,因为图边界和名称本身携带应用意义。

二十二、Quad是什么

工程中常用subject、predicate、object、graph四元组表示Dataset中的命名图成员。前三项构成Triple,第四项指出所在图。

Quad是方便存储与交换Dataset的视角,不应误解为RDF关系天然有第四个语义位置。

二十三、SPARQL Triple Pattern是什么

Triple Pattern类似Triple,但subject、predicate或object位置可包含查询变量。多个相邻模式构成Basic Graph Pattern,通过子图匹配产生变量绑定。

查询变量不是RDF term,也不会作为实际数据写入Graph。

二十四、GRAPH关键字做什么

GRAPH <iri { ... }把其中模式匹配到指定命名图;GRAPH ?g { ... }可遍历Dataset中的图名并绑定变量。

离开GRAPH子句后,匹配通常回到默认active graph。

二十五、Named Graph能做权限隔离吗

可以作为权限设计单位,但RDF规范本身不提供访问控制。Triple store必须实施认证、图级授权和查询限制。

把租户数据放不同命名图却允许任意GRAPH ?g查询,会造成跨租户泄露。

二十六、Named Graph能记录版本吗

可为每次导入或版本分配不同图名,并在元数据图中记录生成时间与来源。更新时也可使用新图保留历史。

版本、有效时间和事务时间要定义清楚,图名本身不能表达完整时态语义。

二十七、RDF 1.2 Triple Term是什么

RDF 1.2允许Triple作为一种term出现在另一Triple的object位置,用于谈论某条陈述。这与旧式reification或RDF-star相关实践有联系,但应按最终规范与工具支持实施。

不能假设所有RDF 1.1存储和序列化器都已支持。

二十八、序列化格式与模型的区别

Turtle、N-Triples、TriG、N-Quads、JSON-LD和RDF/XML是表达RDF数据的语法。Graph或Dataset是抽象模型。

同一Graph可序列化为不同格式;文本逐字不同不代表语义不同。

二十九、数据建模选择清单

跨系统实体使用稳定IRI;局部匿名结构谨慎用Blank Node;数据值用正确datatype与language tag;不同来源或批次用Named Graph分区;用显式provenance描述来源;定义默认图行为与访问控制。

导入前还要明确Blank Node作用域、重复Triple处理和版本策略。

三十、常见误区

常见误区包括把IRI当网页地址、把Blank Node当NULL、依赖空白节点标签、把Literal字符串与IRI混用、认为重复Triple可计数、把图名自动解释为来源、假设默认图总是全部命名图并集,以及把Turtle语法当成RDF模型本身。

这些错误会造成实体重复、查询漏数和来源误判。

结论

IRI、Blank Node和Literal组成RDF的基本term,Triple表达关系,Graph汇集断言,Named Graph保留图边界,Dataset组织默认图与命名图。正确区分标识、数值、匿名资源、陈述和容器层级,是构建可链接、可查询且可追溯知识数据的基础。

参考资料

W3C:rdf12 conceptsW3C · 术语定义与技术背景 · 访问 2026-08-30

W3C:rdf12 semanticsW3C · 术语定义与技术背景 · 访问 2026-08-30

W3C:sparql12 queryW3C · 术语定义与技术背景 · 访问 2026-08-30

W3C:rdf12 schemaW3C · 术语定义与技术背景 · 访问 2026-08-30