zoukankan      html  css  js  c++  java
  • [期末复习]《语义网与知识图谱》期末复习(一)

    上海大学《语义网与知识图谱》期末复习(一)

    (color{red}{本文已无用。新复习指南已出:})链接

    前言

    这个课。。不太喜欢。但是不能挂呀!平常的话感觉很难听得进去,因为没有任何先导课,直接上这个确实有点难受,那个老师感觉得到他想表达很多东西,但是有些东西确实表达不够明确,每节课听得都迷迷糊糊,毕竟是一个前沿的东西,如果不是一线战斗的老师,估计很多概念都很难讲清楚吧。

    以上均胡扯,万一我有哪天真的用上了呢?(见鬼了)。

    下面复习主要集中在可能的考点复习上,均个人感觉哪里可能出题等等。

    之前总结过rdf/rdfs、turtle和owl语法,所以这里前面复习会写的比较简单

    之前总结的链接:

    语义网与知识图谱入门(一)

    语义网与知识图谱入门(二)

    语义网概述

    本体:本体是一种形式化的,对于共享概念体系的明确而又详细的说明。提供一种共享词表...。本体是对客观世界的一种分类描述。记住这个分类。

    其实我们还是不知道他这个定义表达的是啥意思,我个人理解就是,本体这个东西就是一种描述方法,来描述事物之间的关系,这种关系可以是抽象关系,比如类和实例之间的关系,也可以是属性关系等等。

    记一下:实现予以技术最重要的是有合适的知识表示语言。

    记一下:本体的核心通常是分类体系。

    RDF

    RDF是一种资源描述型语言。由主语、谓语和宾语描述。

    RDF对象之间的关系是图,而不是树。

    RDF的要素:URI、文字、空节点。

    URI就是资源的地址,文字指的是字符串类型的资源,空节点这个也很好理解。

    Turtle

    URI一定要放在<>中,并且每个句子要用.结束。

    可以用@prefix来表示前缀,比如先定义好

    @prefix book: <http://a.com>.

    那么下次用的时候可以直接用book表示<http://a.com>这个URI了。

    turtle语法比较简单,在rdf中的语法就不再总结了,后面关于owl的语法还会提到的。

    XML

    常用xml来描述RDF语法,turtle只是写起来容易,但是用的时候用xml还是比较多的。

    举一个例子

    <rdf:Description rdf:about="http://a.com">
        <ex:publishedBy>
            <rdf:Description rdf:about="http://b.com">
            </rdf:Description>
        </ex:publishedBy>
    </rdf:Description>
    

    这个例子是一个不完整的xml下rdf的语法,description表明这是一个节点,而rdf:about描述的就是节点的uri,内部包含的东西就是指向的下一节点以及有向边。

    上面这个例子还有一种利用rdf:resource的简要写法。

    <rdf:Description rdf:about="http://a.com">
        <ex:publishedBy rdf:resource="http://b.com">
        </ex:publishedBy>
    </rdf:Description>
    

    效果是一样的。

    上面的两个例子是不完整的,因为没有加上命名空间,实际上xml里面是需要有命名空间的。

    <rdf:RDF xmlns:rdf="http:xx.com" xmlns:ex="http://xxx.com">
        <rdf:Description rdf:about="http://a.com">
        	<ex:publishedBy rdf:resource="http://b.com">
        	</ex:publishedBy>
    	</rdf:Description>
    </rdf:RDF>
    

    这里在外面包围了一圈rdf:RDF,并且说明了xml namespace 分别为rdf和ex,并指定了uri。

    还有就是有些地方要区分语法差别,rdf:resource是rdf description代表的节点的简化版本,有时候也会用到rdf:id,这里的rdf:id="aa"其实等价与rdf:about="http://xx.com#aa"这样一个uri。

    PPT上有一个我认为比较重要的例子:

    @prefix ex:<http://exmaple.org> .
    ex:GreenTea ex:hasIngredient "1 kg water",
                                 "2 kg tea".
    

    这种表达结构性不是很好,很明显我们认为数量应该和具体的water、tea分开对吧。

    所以做了这样的修改

    @prefix ex:<http://example.org> .
    ex:GreenTea ex:Ingredient "water"; ex:amount:1;
                ex:Ingredient "tea"; ex:amount:2.
    

    这样改了之后也不妥,因为数量和water、tea分开了,上面的例子表达就成了绿茶的原料是水,绿茶的数量是1,其实是有歧义的。为了解决这种歧义关系,我们引出了空节点。

    引入空节点之后咋表达呢?

    @prefix ex:<http://example.org> .
    ex:GreenTea ex:Ingredient (
    	[
    		ex:name "water";
    		ex:amount:1
    	],
    	[
    		ex:name "tea";
    		ex:amount:2
    	]
    ).
    
    

    还用了list语法。嗯。

    画图的时候空节点不需要给uri,形状和普通uri一样是椭圆,文本的化要用方框。

    在xml语法中,用rdf:parseType="Resource"来指定一个空节点

    还剩下容器语法。我觉得不会考吧(turtle的可能会考,但是很简单)。

    RDFS

    基础语法

    RDFS就是RDF加个Schema,具体来说就说多了面向对象的特点,就好比C和C++的升级,RDFS就是这样一个身份。

    rdf:type 描述一个实例和类的关系,前者属于后者.eg book:uri rdf:type ex:TextBook.

    rdfs:subClassOf,描述一个类与另一个类的包含关系,eg ex:TextBook rdfs:subClassOf ex:Book.

    所有的类都subClassO一个基类,即rdf:Class,然后还有很多预定义的类,比如rdfs:Resource和rdfs:Property等。

    属性约束

    可以约束一个属性的定义域和值域。

    ex:hasAge rdfs:range xsd:nonNegativeInteger.
    

    这里通过限定hasAge属性的值域为非负,xsd:nonNegativeInteger为rdfs中预定义的数据约束类型。

    语义

    逻辑语义

    逻辑程序语义包含:模型论和证明论。

    语义是通过信息之间的交互产生的结果得到的,比如一个节点包含另一个节点,包含就是两个节点之间的交互,这个交互产生的结果就是一个包含关系,这也就是语义。而我们无法从一句话的表面得到他的语义,这是因为一句话的表面这个东西是没办法计算的,就是不能用数学形式表达,所以没办法表达我们定义的语义(由数学定义的语义)。

    模型论语义

    就是定义一个模型,由模型的数学结果来表达一种意思。比如我定义了一个模型f,f(1) = 1,f(2) = 2,我这里可以用这个函数的结果值来表达一种语义,比如说是数量等等,反正就是数学定义好的一种表达。我是这么简单理解的。

    模型论语义提供的解释就是一种映射关系,其中这个映射关系是人定义的,一旦你定义好这种映射关系,那么这个解释就定了。ppt上一大坨东西不知道在干嘛。

    OWL

    OWL的位置是在rdfs上面,也就说是又一层升级。

    我觉得进步的地方就是描述的类与类之间可以合并呀,可以互斥呀,或者实例之间、属性之间这种关系,这样做是可以把多个类合并起来,也是一大进步。

    命名空间啥的就不说了,定义类变成了owl:Class,而基类是owl:Thing。

    类和个体的实例:

    类定义
    <owl:Class rdf:ID="A">
        <owl:Class rdf:ID="B">
            <rdfs:subClassOf rdf:resource="#A">
            </rdfs:subClassOf>
        </owl:Class>
    </owl:Class>
    
    实例定义
    <B rdf:ID="b">
    </B> 
    
    

    可以看到,可以直接拿类名去实例化对象啦!

    其实我之前写过OWL的博客,就不继续写了,之前写的还是蛮详细的感觉,所以直接看之前的博客复习就OK。

    描述逻辑

    描述逻辑:是基于对象的知识表示的形式化,也叫概念表示语言或术语逻辑。

    一阶谓词逻辑

    就是is关系,famale(Mary),在这种逻辑下Mary是女性,表达的就是is关系。

    然后就可以用离散数学里的推理来搞一些若非p则q之类的东西了。

    显然一阶逻辑的这种is关系有有真值的,所以我们才能够利用真值来推理,这种逻辑是比较简单的逻辑,只能描述is关系,所以,我们需要更加复杂的描述关系来描述更复杂的关系。

    描述逻辑的基本概念

    个体:也就是实例,用常量描述,可以是rdf资源。

    类:没错,就是我们理解的类。

    属性:没错,就是我们理解的属性。

    描述逻辑系统包括四个基本的组成部分:表示概念和关系的构造集、Abox术语集、Tbox断言集、Tbox和Abox上的推理机制。

    描述逻辑的语法:

    首先肯定包含了一阶逻辑,所以is那套是可以的。像这种is关系的术语集合称为Abox术语集。

    与之对应的呢,还有一个Tbox术语集,用来表达包含关系。

    SROIQ

    原文:

    The extension of ALC with transitive roles is traditionally denoted by the letter S. Some other letters used in DL names hint at a particular constructor, such as inverse roles I, nominals O, qualified number restrictions Q.The letter R most commonly refers to the presence of role inclusions, local reflexivity Self

    S:传递关系

    R:自反关系

    I:可逆关系

    O:集合关系封闭

    Q:表示集合有基数限制

    描述逻辑系统包括四个基本的组成部分:表示概念和关系的构造集、Abox术语集、Tbox断言集、Tbox和Abox上的推理机制。

  • 相关阅读:
    全国(省,直辖市,自治区,特别行政区)映射集合
    数据库辅助类
    时间格式化工具类
    密码加密(MD5)
    算法竞赛入门经典——第3章答案
    第三章学习小结—-转
    isalpha函数和isdigit函数
    重新实现库函数
    树状数组总结——转
    线段树——转
  • 原文地址:https://www.cnblogs.com/aoru45/p/11756356.html
Copyright © 2011-2022 走看看