学习笔记:网页技术Ch9.Web 3.0

先来说一下语义化网络(semantic web),那么什么是语义化网络呢?

  • 数据代表的内容不仅能被人类理解,也能被机器理解
  • 把数据相连代替现在的把文件相连
  • 是Web3.0的重要组成部分

和现在的网络一样,semantic网络也是由一个一个layer组成的:

035_001.jpg

先从底层介绍:

URI作为识别对象,它没有发生改变,还是用来标记资源的位置

Unicode作为编码格式,也没有改变

XML作为传输的语法载体,没有改变

在XML上层,出现了RDF,它是用来编码使得机器能识别这个数据的东西

RDFS在上层,它用于给RDF规定规则

同时,OWL扩展了RDFS的功能

在询问请求方面,使用了SPARQL进行querying

之后上面的layer就还是在建设中

我们下面一一进行介绍:

RDF:Resource Description Framework

它用来表示数据组的结构、数据和元数据的主体、以及数据之间的关系

一般分为三个部分:

  • subject:主体,要么是URI要么是空节点(后面会解释)
  • predicate:解释,必须是个URI
  • object:对象,要么是URI要么是一段文字,要么是空

035_002.jpg

RDF只能定义一个确定的实例的信息,不能定义一个通用的概念(RDFs的活)

如下图所示:

035_003.jpg

多个这样的定义,就能形成一个RDF Graph:

035_004.jpg

如图所示,在图中,office就是一个空节点,空节点的信息被他自己的object定义

那么问题就来了

我们这里有一个isColleague的定义,如果我们还想知道更多的信息,比如这个人和你同事了几年了,该怎么办?

035_005.jpg

如上图,我们可以在上面再加一个statement,这个statement有自己的subject object,用来定义这样的关系,这个叫RDF triple,它不是资源,所以就没办法成为别的statement的subject。

来说说RDF的好处吧:

035_006.jpg

下面说一下RDFs:

是用来定义RDF规则的东西,比如之前的iscolleague只能是人对人。

提供了最基础的构成一个继承图的元素。

如下图所示:

035_007.jpg

下面来看看它的好处:

035_008.jpg

好了,那么问题就又来了,如何表示RDF呢?

有两种方法:

把RDF转换成XML的格式,这种方法虽然看起来很好,但是会让RDF变得复杂,长一点的RDF就基本无法阅读了

于是出现了N3,notation 3

用分号(semicolon)分隔不同的predicate,用句号(full stop)来结束subject的描述

并且,N3能提供更多的feature,比RDF要求的多得多

一个分支是:Turtle Notation,Terse RDF Triple Language

下面介绍几个RDF的应用:

  • Annotea
  • RSS
  • Dublin Core

好了,介绍完了RDF和RDFs,就是旁边用于query的layer:SPARQL

select 用于 return variable binding(不知道咋翻译了。。)

querying主要是靠图的特征进行匹配

之后介绍OWL,就是对于RDFs的拓展,它分好几个版本,有不同的内容:

完整版:OWL full

主要功能的:OWL DL

轻量版:OWL lite

之后介绍一个平台编写RDF Protege

然后我们就来到了Semantic的应用:

Friend of a friend:

指的是,一个社交网络,不存在中央的数据库,用爬虫来爬链接,没有一个unique identifier 而是使用 描述来定位,也就是RDF的东西

下面还有。。

035_009.jpg035_010.jpg


学习笔记:网页技术Ch9.Web 3.0
https://yiyuwang.be/2021/01/15/2021-01-15-344637308/
作者
StevenWong
发布于
2021年1月15日
许可协议