RDF学习笔记

首先供上我的学习资源:

W3School上的RDF简易教程

RDF学习资源:http://www.w3school.com.cn/rdf/index.asp

加深理解RDF代码(建模和可视化的工具)
RDF解析工具:https://www.w3.org/RDF/Validator/

RDF学习笔记咿咿呀呀哟:

(一)基本概念:

RDF定义:RDF是统一资源描述框架,是Web3.0语义网的核心技术之一。RDF是一种信息组织的方式,目的是为了让机器理解网页内容。

RDF的组成:RDF使用Web标识符(URIs)来标识资源,采用属性和属性值来描述资源。

RDF命名空间:
在  xmlns:rdf 命名空间,规定了带有前缀 rdf 的元素来自命名空间 "http://www.w3.org/1999/02/22-rdf-syntax-ns#"。

xmlns:cd 命名空间,规定了带有前缀 cd 的元素来自命名空间 "http://www.recshop.fake/cd#"。


RDF陈述:资源,属性和属性值的组合即可以形成一个陈述。被称之为陈述的主语,谓语和客体。

[例]陈述:"The author of http://www.w3school.com.cn/rdf is David."

  • 陈述的主体是:http://www.w3school.com.cn/rdf
  • 谓语是:author
  • 客体是:David

         陈述:"The homepage of http://www.w3school.com.cn/rdf is http://www.w3school.com.cn".

  • 陈述的主体是:http://www.w3school.com.cn/rdf
  • 谓语是:homepage
  • 客体是:http://www.w3school.com.cn

    


(二)具体举例:

CD表:


<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
 rdf:about="http://www.recshop.fake/cd/Empire Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>

<rdf:Description
 rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>

代码说明
<?xml version="1.0"?><span style="color:#ff0000;"> // </span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">RDF 文档的第一行都是 XML 声明</span><span style="color:#ff0000;">
</span>

<rdf:RDF            <span style="color:#ff0000;"> //RDF文档根元素</span>
xmlns:<span style="color:#3333ff;">rdf</span>="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  <span style="color:#ff0000;">//命名空间 所有的rdf申明都来自此命名空间rdf</span>
xmlns:cd="http://www.recshop.fake/cd#">                <span style="color:#ff0000;">  <span style="font-family: Arial, Helvetica, sans-serif;">//命名空间 所有的cd申明都来自此命名空间cd</span>
</span>

<<span style="background-color: rgb(255, 255, 255);"><span style="color:#3333ff;">rdf</span></span>:Description                                       <span style="color:#ff0000;background-color: rgb(255, 255, 255);"> //<span style="font-weight: bold; font-family: Arial, Helvetica, sans-serif;"><rdf:Description> 元素</span><span style="font-family: Arial, Helvetica, sans-serif;"><rdf:Description> 元素可通过 about 属性标识一个资源。</span></span><span style="font-family: Arial, Helvetica, sans-serif;">                                                                                                                    </span>
 <span style="background-color: rgb(255, 255, 255);"><span style="color:#3333ff;">rdf</span></span>:about="http://www.recshop.fake/cd/Empire Burlesque">   <span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;"><rdf:Description> 元素可包含描述资源的那些元素:</span>
  <<span style="color:#cc33cc;">cd:</span>artist>Bob Dylan</cd:artist>                   <span style="color:#ff0000;">  //</span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">artist、country、company、price 以及 year 这些元素被定义在命名空间 </span>
<span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">    </span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;"><</span><span style="font-family: Arial, Helvetica, sans-serif; color: rgb(204, 51, 204);">cd:</span><span style="font-family: Arial, Helvetica, sans-serif;">country>USA</cd:country></span><span style="font-family: Arial, Helvetica, sans-serif;">  </span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">                                                                    http://www.recshop.fake/cd# 中。此命名空间在 RDF 之外(并非 RDF 的组成部分)。</span>
<span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">    </span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;"><</span><span style="font-family: Arial, Helvetica, sans-serif; color: rgb(204, 51, 204);">cd:</span><span style="font-family: Arial, Helvetica, sans-serif;">company>Columbia</cd:company></span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">                                                          RDF 仅仅定义了这个框架。而 artist、country、company、price 以及 year 这些元素</span>
<span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">    </span><span style="font-family: Arial, Helvetica, sans-serif; color: rgb(204, 51, 204);"><cd:</span><span style="font-family: Arial, Helvetica, sans-serif;">price>10.90</cd:price></span><span style="font-family: Arial, Helvetica, sans-serif;">   </span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">                                                                           必须被其他人(公司、组织或个人等)进行定义。</span>
  <<span style="color:#cc33cc;">cd:</span>year>1985</cd:year>
</rdf:Description>

<rdf:Description
 rdf:about="http://www.recshop.fake/cd/Hide your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
.
.
.
</rdf:RDF>
RDF 的主要元素是 <RDF> 以及可表示某个资源的 <Description> 元素。

代码可视化:


模型可视化(RDF的三元组模型)


 

属性(property)来定义属性(attribute)

属性元素(property elements)也可作为属性(attributes)来被定义(取代元素):

[例]<rdf:Description

 rdf:about="http://www.recshop.fake/cd/Empire Burlesque"

  cd:artist="Bob Dylan"  cd:country="USA"

  cd:company="Columbia"  cd:price="10.90"

  cd:year="1985" />

属性定义资源

属性元素(property elements)也可被作为资源(resources)来被定义:

  <cd:artist rdf:resource="http://www.recshop.fake/cd/dylan" />

RDF 容器元素

RDF 容器用于描述一组事物。举个例子,把某本书的作者列在一起。下面的 RDF 元素用于描述这些的组:<Bag>、<Seq> 以及 <Alt>。

<rdf:Bag> 元素
<rdf:Bag> 元素用于描述一个规定为无序的值的列表。
<rdf:Bag> 元素可包含重复的值。
</pre><pre name="code" class="plain"><rdf:Seq> 元素
<rdf:Seq> 元素用于描述一个规定为有序的值的列表(比如一个字母顺序的排序)。
<rdf:Bag> 元素可包含重复的值。

<rdf:Alt> 元素
<rdf:Alt> 元素用于一个可替换的值的列表(用户仅可选择这些值的其中之一)。
[例]

<pre name="code" class="plain"><?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:cd="http://www.recshop.fake/cd#">

<rdf:Description
 rdf:about="http://www.recshop.fake/cd/Beatles">
 <cd:artist>
 <span style="color:#ff0000;">  <rdf:Bag></span>
     <rdf:li>John</rdf:li>
     <rdf:li>Paul</rdf:li>
     <rdf:li>George</rdf:li>
     <rdf:li>Ringo</rdf:li>
   </rdf:Bag>
  </cd:artist>
</rdf:Description>

</rdf:RDF>

 
  

rdf:parseType="Collection" 属性

正如在前面的章节所看到的,我们无法关闭一个容器。容器规定了所包含的资源为成员 - 它没有规定其他的成员是不被允许的。

RDF 集合用于描述仅包含指定成员的组。

集合是通过属性 rdf:parseType="Collection" 来描述的。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:cd="http://recshop.fake/cd#">

<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>

</rdf:RDF>


RDF Schema (RDFS)

RDF Schema 不提供实际的应用程序专用的类和属性,而是提供了描述应用程序专用的类和属性的框架。

<?xml version="1.0"?>

<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base=  "http://www.animals.fake/animals#">

<rdf:Description rdf:ID="animal">
  <rdf:type 
   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

<rdf:Description rdf:ID="horse">
  <rdf:type
   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>

</rdf:RDF>
<?xml version="1.0"?>

<rdf:RDF 
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base=  "http://www.animals.fake/animals#">

<rdfs:Class rdf:ID="animal" />

<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>

</rdf:RDF>





(三)什么是 OWL?

  • OWL 指的是 web 本体语言
  • OWL 构建在 RDF 的顶端之上
  • OWL 用于处理 web 上的信息
  • OWL 被设计为供计算机进行解释
  • OWL 不是被设计为供人类进行阅读的
  • OWL 由 XML 来编写
  • OWL 拥有三种子语言
  • OWL 是一项 web 标准
OWL和RDF的区别:

     OWL 与 RDF 有很多相似之处,但是较之 RDF, OWL 是一门具有更强机器解释能力的更强大的语言。

与 RDF 相比,OWL 拥有更大的词汇表以及更强大的语言。


[摘自W3C]OWL 实例 (机场)

OWL 资源:http://www.daml.org/2001/10/html/airport-ont

类:Airport

属性:

制作所使用:dumpont2.java
























猜你喜欢

转载自blog.csdn.net/txlCandy/article/details/50959358