RDF簡介

RDF簡介

RDF, Resource Description Framework, 資源描述框架,是一個數據模型,由一系列對象-屬性-值三元組組成或則可以稱爲主語 謂語 賓語三元組。刻畫RDF可以用XML語法或者也可以使用turtle,N-Triple語法。

RDF,只是簡單的三元組堆疊而成,很難針對某個特定領域進行推理。

而我下一篇介紹的RDFS,可以用來描述特定領域的語義,並據此進行簡單得推理。

RDF 三元組

IRI是國際化資源標識符,是URI和URL得泛化和推廣,在互聯網中,每個IRI都唯一標識一個資源

類似於我們得身份證

blank node表示匿名資源

一個三元組得三個元素分別爲主語(Subject), 謂語(Predicate), 賓語(Object)

Subject可以是: IRI, blank node

Predicate只能是: IRI(International Resource Identifiers)

Object可以是: literals, IRI, blank node

一個簡單得XML描述RDF的例子

<? xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:info="http://zy.example.com/info#"
    xmlns:rel="http://zy.example.com/rel#">
	<rdf:Description rdf:about="http://zy.example.com/person/Tom">
        <info:name>Tom</info:name>
        <info:job>worker</info:job>
        <rel:fatherof rdf:resource="http://zy.example.com/person/Jim"></rel:fatherof>
    </rdf:Description>
</rdf:RDF>

需要注意的幾點

  • RDF文件都是表示爲一個帶有標籤rdf:RDF的XML元素

  • rdf:Description標籤表示對一個資源進行描述

  • rdf:about屬性用於引用已經存在的資源

    rdf:ID屬性用於創建新的資源

    無名,用於創建匿名資源(也就是blank node)

  • rdf:resource用於引用一個資源

RDF容器

RDF容器用於描述一組事物。

  • rdf:Bag元素用於描述一個規定爲無序的值的列表

    <?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>
       <rdf:Bag>
         <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:Seq元素用於描述一個規定爲有序的值的列表(已經排好序)

    <?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>	
       <rdf:Seq>
         <rdf:li>George</rdf:li>
         <rdf:li>John</rdf:li>
         <rdf:li>Paul</rdf:li>
         <rdf:li>Ringo</rdf:li>
       </rdf:Seq>
      </cd:artist>
    </rdf:Description>
    </rdf:RDF>
    
  • rdf:Alt元素用於一個可替換的值的列表(用戶僅僅可以選擇這些值的其中之一)

    <?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:format>	
       <rdf:Alt>
         <rdf:li>CD</rdf:li>
         <rdf:li>Record</rdf:li>
         <rdf:li>Tape</rdf:li>
       </rdf:Alt>
      </cd:format>
    </rdf:Description>
    </rdf:RDF>
    

RDF集合

RDF集合用於描述僅包含指定成員的組。正如在前面的章節所看到的,我們無法關閉一個容器。容器規定了所包含的資源爲成員 - 它沒有規定其他的成員是不被允許的。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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章