RDF、RDFS和OWL数据模型

引言

       RDF、RDFS和OWL是W3C推荐的本体描述语言,也是知识图谱中数据的常用存储格式,它们都是基于XML(可扩展标记语言)编写的元数据(描述数据的数据),即用于计算机传输数据,让机器可理解,而不是面向用户展示的数据模型。

RDF(Resource Description Framework,资源描述框架)

      RDF本质上是一个数据模型,它提供了一个统一的标准来描述web上资源,所谓的资源可以是指类(class)、属性(property)、实例(Instance)等等。RDF在形式上表示为SPO三元组(triple),即(主语/主体、谓语/属性、宾语/客体),用于描述具体的事物及关系,即实体以及实体之间的关系。RDF也可以表示为一张带有标记的有向图,图中有节点和边,节点对应实体,边对应关系或者属性,关系指的是实体之间、实体与属性之间的关系。

 

                                                RDF中的三元组(triple)

       实际中,RDF格式的数据在描述web资源时,每个资源都有唯一对应的URI,即资源标识符。URI类似于URL,用于声明资源的出处。资源标识符URI(有的也叫IRI)通常是由域名+路径名+资源名组成,如下图就是带有资源标识符的三元组。

                                               带有资源标识符URI的三元组

      上图中每一个资源前面都有一个URI,这种书写方式类似于XML中的name space(命名空间),XML中命名空间有一个前缀prefix,可以代替这样的链接,书写格式为“命名空间:资源名称”。举个例子,比如事先声明命名空间ex = http://ex.org/和ex-schema = http://ex.org/schema,那么上面带有URI的三元组就可以表示为下图形式。

                                                 声明前缀的三元组

      RDF以三元组的形式描述资源,简洁明了,但是有着语义表达能力的缺陷。RDF中没有定义类、属性等词汇,RDF只能是对具体的事物进行描述,缺乏抽象能力,无法对同一个类别的事物进行定义和描述。也就是说,RDF可以描述实体、实体的属性以及他们之间的关系,但是无法描述类与类之间的关系,类的属性等。

RDFS(RDF Schema ,RDF模式语言)

      RDFS在RDF的基础上定义了类(class)、属性(property)以及关系(relation)来描述资源,并且通过属性的定义域(domain)和值域(range)来约束资源。RDFS在数据层(data)的基础上引入了模式层(schema),模式层定义了一种约束规则,而数据层是在这种规则下的一个实例填充。

                                                 RDF Schema

      上图中在数据层(Instance)有一个三元组(图灵,研究领域,人工智能),引入模式层(schema)之后,实体图灵属于计算机科学家,人工智能属于计算机技术,属性研究领域的主体(定义域Domain)被限制在计算机科学家,客体(值域Range)被限制在计算机技术。而计算机科学家属于科学家的子类(subclassof),计算机技术属于信息技术的子类。

     RDFS中描述资源的词汇是固定的,只有Class、type、subClassof、Property、subPropertyof、Domain和Range。

Class:类;

type:定义了实例与类之间的关系;

subClassof:表示子类;

Property:类或者实体的属性;

subPropertyof:子属性;

Domain:谓语的定义域,限制了属性的主体范围;

Range:谓语的值域,限制了属性的客体范围;

      RDFS相比于RDF语义表达能力有所提升,但RDFS依旧有语义表达的缺陷。在RDFS中关于类与类之间的关系它只能声明子类关系,无法声明互斥类的关系,也无法声明多个类、实例、属性是否等价。

OWL(Web Ontology Language,网络本体语言)

      OWL是对RDFS关于描述资源词汇的一个扩展,OWL中添加了额外的预定于词汇来描述资源,具备更好的语义表达能力。在OWL中可以声明资源的等价性,属性的传递性、互斥性、函数性、对称性等等,具体见OWL的词汇扩展。

 

 

       本体和知识图谱在构建过程中,数据的存储常以RDF格式存放。而基于RDF数据的结构化查询语言SPARQL,可以实现对三元组的查询。在SPARQL中,常以“?”来表示变量或者资源标识符,select子句检索指定资源的资源标识符,where子句限定资源的由来。

注:学习王昊奋老师《知识图谱》的笔记总结。

原文同作者链接https://blog.csdn.net/m0_37788308/article/details/81189268

  • 13
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的OWL建模实例,用于描述汽车的品牌、型号和颜色: ```owl # 命名空间定义 @prefix : <http://www.semanticweb.org/ontologies/cars#>. @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. # 类定义 # 汽车 :Car rdf:type owl:Class . # 品牌 :Brand rdf:type owl:Class . # 型号 :Model rdf:type owl:Class . # 颜色 :Color rdf:type owl:Class . # 属性定义 # 品牌名称 :hasBrandName rdf:type owl:DatatypeProperty ; rdfs:domain :Brand ; rdfs:range xsd:string . # 型号名称 :hasModelName rdf:type owl:DatatypeProperty ; rdfs:domain :Model ; rdfs:range xsd:string . # 颜色名称 :hasColorName rdf:type owl:DatatypeProperty ; rdfs:domain :Color ; rdfs:range xsd:string . # 关系定义 # 汽车品牌 :hasBrand rdf:type owl:ObjectProperty ; rdfs:domain :Car ; rdfs:range :Brand . # 汽车型号 :hasModel rdf:type owl:ObjectProperty ; rdfs:domain :Car ; rdfs:range :Model . # 汽车颜色 :hasColor rdf:type owl:ObjectProperty ; rdfs:domain :Car ; rdfs:range :Color . # 实例定义 # 品牌实例 :Toyota rdf:type :Brand ; :hasBrandName "Toyota"^^xsd:string . # 型号实例 :Camry rdf:type :Model ; :hasModelName "Camry"^^xsd:string . # 颜色实例 :Red rdf:type :Color ; :hasColorName "Red"^^xsd:string . # 汽车实例 :Car1 rdf:type :Car ; :hasBrand :Toyota ; :hasModel :Camry ; :hasColor :Red . ``` 在上述OWL模型中,定义了四个类:Car、Brand、Model和Color,分别表示汽车、品牌、型号和颜色。同时定义了三个属性:hasBrandName、hasModelName和hasColorName,分别表示品牌名称、型号名称和颜色名称。还定义了三个关系:hasBrand、hasModel和hasColor,分别表示汽车与品牌、型号和颜色之间的关系。 在实例定义中,定义了一个品牌实例:Toyota,一个型号实例:Camry,一个颜色实例:Red,以及一个汽车实例:Car1。Car1实例与Toyota、Camry和Red实例之间通过hasBrand、hasModel和hasColor关系建立了联系。 通过这样的OWL建模,我们可以方便地描述汽车的品牌、型号和颜色,并进行查询和推理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值