(一)知识图谱本体建模之RDF、RDFS、OWL详解

1.语义网体系

知识图谱于2012年由Google提出,并不是新概念,而是由语义网络(Semantic Network)衍生而来。语义网络由相互连接的节点和边组成,节点表示概念或者对象,边表示他们之间的关系。RDF,RDFS与OWL都是基于语义网的知识表示框架,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。RDF,RDFS/OWL 属于语义网技术栈,它们的提出,使得语义网克服了语义网络的缺点。其语义网技术栈如下所示。

2.RDF 表现形式

RDF(Resource Description Framework),即资源描述框架,其本质是一个数据模型(Data Model)。

具体地,

Resource:页面、图片、视频等任何具有URI标识符的资源。

Description:属性、特征和资源之间的关系。

Framework:模型、语言和这些描述的语法。

它提供了一个统一的标准,用于描述实体/资源。RDF 形式上表示为 SPO 三元组,有时候也称为一条语句(statement),知识图谱中我们也称其为一条知识(subject, predicate, object ),如下图所示,其节点表示实体/资源、属性,边则表示了实体和实体之间的关系以及实体和属性的关系。

3.RDF序列化方法

若需要对RDF数据进行传输和存储,则需要对RDF数据进行序列化(Serialization)。目前,RDF 序列化的方式主要有:RDF/XML,N-Triples,Turtle,RDFa,JSON-LD等几种。

  • RDF/XML,就是用 XML 的格式来表示 RDF 数据。之所以提出这个方法,是因为 XML 的技术比较成熟,有许多现成的工具来存储和解析XML。然而,对于 RDF 来说,XML 的格式太冗长,也不便于阅读,通常我们不会使用这种方式来处理 RDF 数据。

  • N-Triples,即用多个三元组来表示 RDF数 据集,是最直观的表示方法。在文件中,每一行表示一个三元组,方便机器解析和处理。开放领域知识图谱 DBpedia 通常是用这种格式来发布数据的。

  • Turtle, 应该是使用得最多的一种 RDF 序列化方式了。它比 RDF/XML 紧凑,且可读性比 N-Triples好。

  • RDFa, 即“The Resource Deion Framework in Attributes”,是HTML5 的一个扩展,在不改变任何显示效果的情况下,让网站构建者能够在页面中标记实体,像人物、地点、时间、评论等等。也就是说,将 RDF 数据嵌入到网页中,搜索引擎能够更好的解析非结构化页面,获取一些有用的结构化信息。读者可以去感受一下 RDFa(链接),其直观展示了普通用户看到的页面,浏览器看到的页面和搜索引擎解析出来的结构化信息。

  • JSON-LD,即“JSON for Linking Data”,用键值对的方式来存储 RDF 数据(链接)。

    例如,如下所示为关于罗纳尔多知识图谱其N-Triples和Turtle的具体表示:

    Example1 N-Triples:<http://www.kg.com/person/1> <http://www.kg.com/ontology/chineseName> "罗纳尔多·路易斯·纳萨里奥·德·利马"^^string.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/career> "足球运动员"^^string.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/fullName> "Ronaldo Luís Nazário de Lima"^^string.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/birthDate> "1976-09-18"^^date.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/height> "180"^^int.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/weight> "98"^^int.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/nationality> "巴西"^^string.
    <http://www.kg.com/person/1> <http://www.kg.com/ontology/hasBirthPlace> <http://www.kg.com/place/10086>.
    <http://www.kg.com/place/10086> <http://www.kg.com/ontology/address> "里约热内卢"^^string.
    <http://www.kg.com/place/10086> <http://www.kg.com/ontology/coordinate> "-22.908333, -43.196389"^^string.
    

    用Turtle表示的时候,一般会加上前缀(Prefix)对RDF的IRI进行缩写。

    Example2 Turtle:@prefix person: <http://www.kg.com/person/> .
    @prefix place: <http://www.kg.com/place/> .
    @prefix : <http://www.kg.com/ontology/> .person:1 :chineseName "罗纳尔多·路易斯·纳萨里奥·德·利马"^^string.
    person:1 :career "足球运动员"^^string.
    person:1 :fullName "Ronaldo Luís Nazário de Lima"^^string.
    person:1 :birthDate "1976-09-18"^^date.
    person:1 :height "180"^^int.
    person:1 :weight "98"^^int.
    person:1 :nationality "巴西"^^string.
    person:1 :hasBirthPlace place:10086.
    place:10086 :address "里约热内卢"^^string.
    place:10086 :address "-22.908333, -43.196389"^^string.
    

4.RDFS —对RDF的补充

RDF的表达能力有限,无法区分类和对象,也无法定义和描述类的关系/属性。RDF是对具体事物的描述,缺乏抽象能力,无法对同一类别的事物进行定义和描述,需要schema的引入。RDFS,即“Resource Deion Framework Schema”模式语言作为RDF的补充解决了RDF表达能力有限的困境。

RDFS里有多个比较重要常用的词汇:

  • rdfs:Class. 用于定义类。

  • rdfs:domain. 用于表示该属性属于哪个类别。

  • rdfs:range. 用于描述该属性的取值类型。

  • rdfs:subClassOf. 用于描述该类的父类。比如,我们可以定义一个运动员类,声明该类是人的子类。

  • rdfs:subProperty. 用于描述该属性的父属性。比如,我们可以定义一个名称属性,声明中文名称和全名是名称的子类。

    RDFS的表现形式和RDF一样,常用的方式主要是RDF/XML,Turtle。

    如下所示,只是针对RDF数据在概念层进行了约束:

    @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    @prefix : <http://www.kg.com/ontology/> .:Person rdf:type rdfs:Class.
    :Place rdf:type rdfs:Class.
    

5.OWL—对RDFS的进一步扩展

通过RDF(S)可以表达一些简单的语义,但在更复杂的场景下,RDF(S)语义表达能力显得太弱,还缺少诸多常用的特征。包括对局部值域的属性定义,类、属性、个体的等价性,不相交类的定义,基数约束,关于属性特征的描述等。因此W3C提出了OWL语言扩展RDF(S),作为语义网上表示本体的推荐语言。OWL可以看作是RDFS的一个扩展,添加了额外的预定义词汇。

OWL相较于RDFS,引入了布尔算子(并、或、补)、递归地构建复杂的类,还提供了表示存在值约束、任意值约束和数量值约束等能力。同时,owl能提供描述属性具有传递性、对称性、函数性等性质。还有两个类等价或者不相交,两个属性等价或者互逆,两个实例相同或者不同,还有枚举类等等。
OWL 描述属性常用的词汇:
描述属性特征的词汇

  • owl:TransitiveProperty.表示该属性具有传递性质。例如,我们定义“位于”是具有传递性的属性,若A位于B,B位于C,那么A肯定位于C。
  • owl:SymmetricProperty. 表示该属性具有对称性。例如,我们定义“认识”是具有对称性的属性,若A认识B,那么B肯定认识A。
  • owl:FunctionalProperty. 表示该属性取值的唯一性。 例如,我们定义“母亲”是具有唯一性的属性,若A的母亲是B,在其他地方我们得知A的母亲是C,那么B和C指的是同一个人。
  • owl:inverseOf. 定义某个属性的相反关系。例如,定义“父母”的相反关系是“子女”,若A是B的父母,那么B肯定是A的子女。

本体映射词汇(Ontology Mapping)

  • owl:equivalentClass. 表示某个类和另一个类是相同的。
  • owl:equivalentProperty. 表示某个属性和另一个属性是相同的。
  • owl:sameAs. 表示两个实体是同一个实体。
    用OWL对罗纳尔多知识图进行概念层的描述如下:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://www.kg.com/ontology/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
:Person rdf:type owl:Class.
:Place rdf:type owl:Class.
### owl区分数据属性和对象属性。owl:DatatypeProperty为数据属性,owl:ObjectProperty为对象属性。
:chineseName rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:string .:career rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:string .:fullName rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:string .:birthDate rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:date .:height rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:int .:weight rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:int .:nationality rdf:type owl:DatatypeProperty;rdfs:domain :Person;rdfs:range xsd:string .:hasBirthPlace rdf:type owl:ObjectProperty;rdfs:domain :Person;rdfs:range :Place .:address rdf:type owl:DatatypeProperty;rdfs:domain :Place;rdfs:range xsd:string .:coordinate rdf:type owl:DatatypeProperty;rdfs:domain :Place;rdfs:range xsd:string .

6.SPARQL

关系型数据库一般用SQL进行查询,RDF的数据都是以图形式存储的,它的查询语言使用的是SPARQL。
一条SPARQL查询,其核心是对于一组变量及其之间关系的描述,构成了一种带有变量的图模式,与SQL类似,SPARQL查询可以返回一条或多条结果,每条结果包含的是对上述每个变量的一个绑定-指明了该变量与一个RDF术语之间的对应关系。RDF术语可以是URI、空白节点或者字面量。于是,根据每条结果,通过将查询图模式中的变量根据绑定替换为对应的RDF术语,应当构成待查询的RDF图的一个子图,这个子图称作与上述图模式相匹配。RDF查询语言主要定义了表达查询图模式的一套语法和语义。

知识图谱本体建模之RDF、RDFS、OWL详解相关推荐

  1. 知识图谱本体建模工具Protege使用教程

    1.下载 先去官网下载:protégé 直接下最新版,点击会有注册页面,只填必填项的name和project description即可. 下载后解压即可使用. 2.安装可视化工具Graphviz 去 ...

  2. Lesson 8.3Lesson 8.4 ID3、C4.5决策树的建模流程CART回归树的建模流程与sklearn参数详解

    Lesson 8.3 ID3.C4.5决策树的建模流程 ID3和C4.5作为的经典决策树算法,尽管无法通过sklearn来进行建模,但其基本原理仍然值得讨论与学习.接下来我们详细介绍关于ID3和C4. ...

  3. 数学建模——智能优化之遗传算法详解Python代码

    数学建模--智能优化之遗传算法详解Python代码 import numpy as np import matplotlib.pyplot as plt from matplotlib import ...

  4. GprMax 3.1.5 建模的in文件编写详解(2)

    GprMax 3.1.5 建模的in文件编写详解(2) gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟软件,目前为止,它还没有图形用户界面(GUI),它的建模关键在于in文件 ...

  5. GprMax 3.1.5 建模的in文件编写详解(1)

    GprMax 3.1.5 建模的in文件编写详解(1) gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟软件,目前为止,它还没有图形用户界面(GUI),它的建模关键在于in文件 ...

  6. 数学建模——遗传算法步骤及程序详解

    数学建模--遗传算法步骤及程序详解 文章目录 数学建模--遗传算法步骤及程序详解 前言 一.遗传算法的基础 1.编码和解码 2.适应度函数 3.交叉 4.变异 5.选择 二.遗传算法原理步骤 1.初始 ...

  7. 美团大脑:知识图谱的建模方法及其应用 | 公开课笔记

    参加 2018 AI开发者大会,请点击 ↑↑↑ 分享嘉宾 | 王仲远(美团 AI Lab NLP 中心负责人) 整    理 | 周翔 出    品 | AI科技大本营 作为人工智能时代最重要的知识表 ...

  8. 美团大脑:知识图谱的建模方法及其应用

    作为人工智能时代最重要的知识表示方式之一,知识图谱能够打破不同场景下的数据隔离,为搜索.推荐.问答.解释与决策等应用提供基础支撑.美团大脑围绕吃喝玩乐等多种场景,构建了生活娱乐领域超大规模的知识图谱, ...

  9. 美团大脑 | 知识图谱的建模方法及其应用

    本文转载自公众号: 美团技术团队. 作为人工智能时代最重要的知识表示方式之一,知识图谱能够打破不同场景下的数据隔离,为搜索.推荐.问答.解释与决策等应用提供基础支撑.美团大脑围绕吃喝玩乐等多种场景,构 ...

最新文章

  1. 内积和外积的物理意义-数学
  2. ImportError: dynamic module does not define module export function (PyInit_example)
  3. 高效的判断素数---筛选法
  4. 苹果手机怎么编辑word文档_原创首发:编辑和修改PDF文档,将PDF转换为WORD技巧...
  5. linux samba服务器
  6. Java基础入门笔记-包装类
  7. MogDB/openGauss 故障排查思路
  8. Linux设备驱动之字符设备(一)
  9. New year is coming-2007
  10. [书籍翻译]12周撰写期刊文章 学术出版成功指南——第 12周:文章投稿
  11. 从面试官甄别项目经验的角度,说说如何在简历中写项目经验(java后端方向)
  12. 基于hutool实现简单的加解密
  13. SqlServer 对象名无效的解决方法
  14. php怎么做网站?如何用PHP开发一个完整的网站?
  15. bootstrap的学习-基础样式和排版一
  16. 小白踩坑记-Redis的安装与使用
  17. left join,join和right join区别
  18. 操作系统:Win11首个预览版来了!附升级方法
  19. mongodb管理工具 RoboMongo
  20. 记录一个分页不展示上一页下一页的问题

热门文章

  1. 马赛克与反马赛克技术
  2. 抖音话题怎么选热门?为什么要做抖音话题
  3. Spark日志,及设置日志输出级别
  4. 【黄啊码】MySQL入门—14、细说数据库的MVCC机制
  5. 【Beta】Scrum Meeting 4
  6. C# 篇基础知识6——文件和流
  7. windows 程序设计 第一章
  8. Ubuntu下修改字体
  9. SDN:简述对SDN架构的认识
  10. 2020 SCTF 部分WriteUp