学习笔记:网页技术Ch9.Web 3.0
先来说一下语义化网络(semantic web),那么什么是语义化网络呢?
- 数据代表的内容不仅能被人类理解,也能被机器理解
- 把数据相连代替现在的把文件相连
- 是Web3.0的重要组成部分
和现在的网络一样,semantic网络也是由一个一个layer组成的:

先从底层介绍:
URI作为识别对象,它没有发生改变,还是用来标记资源的位置
Unicode作为编码格式,也没有改变
XML作为传输的语法载体,没有改变
在XML上层,出现了RDF,它是用来编码使得机器能识别这个数据的东西
RDFS在上层,它用于给RDF规定规则
同时,OWL扩展了RDFS的功能
在询问请求方面,使用了SPARQL进行querying
之后上面的layer就还是在建设中
我们下面一一进行介绍:
RDF:Resource Description Framework
它用来表示数据组的结构、数据和元数据的主体、以及数据之间的关系
一般分为三个部分:
- subject:主体,要么是URI要么是空节点(后面会解释)
- predicate:解释,必须是个URI
- object:对象,要么是URI要么是一段文字,要么是空

RDF只能定义一个确定的实例的信息,不能定义一个通用的概念(RDFs的活)
如下图所示:

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

如图所示,在图中,office就是一个空节点,空节点的信息被他自己的object定义
那么问题就来了
我们这里有一个isColleague的定义,如果我们还想知道更多的信息,比如这个人和你同事了几年了,该怎么办?

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

下面说一下RDFs:
是用来定义RDF规则的东西,比如之前的iscolleague只能是人对人。
提供了最基础的构成一个继承图的元素。
如下图所示:

下面来看看它的好处:

好了,那么问题就又来了,如何表示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的东西
下面还有。。

