Annotea [1]是W3C 所規範制定的一個標準。Annotea是一個RDF architecture,被設計成為一個annotation sharing system, Annotea可以讓使用者針對well-formed之HTML或XML文件的任何部分來建置annotations,而且也可以針對 annotations來回應或另作annotations。
在Annotea的規劃中分為client和server兩部分:有RDF server管理metadata layer,有client端介面讓使用者進入這架構。client是類似browser的工作平台, 提供使用者瀏覽網頁及對其內容加上註解;server則是提供資料庫儲存使用者 的註解資訊。使用者透過Web介面來檢視一般的HTML網頁,然後可以為檢視的網頁建置annotations, 建置的annotations會被包裝成XML的格式存到Annotea server中。
一份完整的annotation資料除了使用者的annotation文件外,也包含了描述annotation狀態的一群 metadata。為了能讓其他應用系統便於重用與擴充這些metadata的用途,Annotea用RDF的結構來描述 annotations的properties
一份annotation,其夾帶的properties有:本文("postit.html")、標題("dc:title")、建置者("dc:creator")以及最後更新時間("dc:date")等,並紀錄所annotate之文件("XDoc.html")及針對文件中的哪部分內文("context")。圖右則為對此annotation回覆的reply文件,其結構類似的基本的一份annotation文件。底下是一個實際annotation的資料內容:

白努力電腦日記 發表在 痞客邦 留言(0) 人氣()

語意網的核心挑戰之一就是將現有的大量資訊轉變成由知識本體語言所定義的知識本體,這些現有的大量資訊主要是由網路上的資訊內容所構成。因此,為了實現語意網的目的,將這些網路上的資訊內容對映至知識本體是有必要的。網路服務技術允許應用程式透過網路標準以一致的方式被存取,使得它們就像是不同平台上的軟體元件。
隨著網路服務的規模越來越大,找到適合的網路服務成為一件重要的工作。現今大多數使用者使用關鍵字搜尋以及人工閱讀服務的內容描述這種方式來尋找網路服務,這件工作相當的費時且沒有效率。網路上擁有超過數億的網頁,而這些網頁上的資訊內容大多數是被儲存在關聯式資料庫因而很難被搜尋引擎所找到;因此,為了讓語意網可以取用這些資訊內容,一個有效的方法就是將"深網"底下的關聯式資料庫對映至某特定領域中一個已有的知識本體(Ontology)。
 
語意網是一種利用知識本體加以註釋並且機器可以理解的網路,透過將語意網應用到網路服務上,我們可以使得網路服務可以被機器理解(machine readable)。大多數人使用知識本體定義來當作語意網上語意註釋的基礎,因此從現有的資訊中自動化的產生知識本體事件意義重大的工作。關聯式資料庫是最為普遍的資料儲存系統,對於那些想要參與語意網路服務領域的服務提供者來說,找到他們使用已久的關聯式資料庫與知識本體間的對應關係是一個關鍵性的議題。若是能夠將一個關聯式資料庫綱目對映到某特定領域中一個已有的知識本體,這個使用已久的關聯式資料庫藉此可以被語意網路服務所運用,設計出一套半自動化方法直接將一個關聯式資料庫對(RDBMS)映到某特定領域中一個已有的知識本體(Ontology),這個方法採取在資料採礦中的群集分析概念去替每個表格找出它們的匹對類別群組,其中在類別群組中的每個類別都會滿足對映一至性亦即對映的結果不應該違背在關聯式資料庫所表達的事實。
 
第一階段-元素層級的媒合
目標是衡量單一一個表格和單一一個類別的相似度。這個階段的配對將所有單一一個表格和單一一個類別可能的組合搭配出來後,使用自然語言處理技術藉由它們的名字以及它們的欄位和屬性的名字來計算相似度。主要是利用語意上的資訊將關聯式資料庫中的外鍵對映到知識本體中的物件屬性以獲得一些表格的匹對類別群組特徵,有別於其它方法,在對映時,不只考量了表格之間的一般化/特殊化關係也考量了隱含表達在關聯式資料庫中的反關係以建構出一個隱含匹對等級。

白努力電腦日記 發表在 痞客邦 留言(0) 人氣()

全球資訊網的創始人Berners-Lee 博士於1999年提出了語意網(Semantic Web)的概念,主張將網路上的文件有意義的結構化,藉由共享的、通用的知識本體之建置,使得網路上的資源及服務更易取得和分享,以建立起一個資訊充分分享可重複使用的網際空間。

白努力電腦日記 發表在 痞客邦 留言(0) 人氣()



 


 


 



http://www.w3.org/RDF/Validator/


一、 RDF 容器 (Containers)


我們常常需要描述一組事物:例如一本書是由「多個作者」寫的,或某 一 門課程的學生都列出來,或一個套裝軟體下的所有模組。 RDF 提供了一些預先定義的類型和屬性用以描述一組事物。分別有下列三種:


rdf:Bag


「包裹容器」表示一組可能包含重複成員的資源或文字,但成員間的順序 不 重要。 ( 例如:要敘述某委員會的成員 )


rdf:Seq


「序 列 容器」 表示一組可能包含重複成員的資源或文字,成員間的順序是重要的。 ( 例如:要敘述 一組須按字母順序排 列 的事物 )


rdf:Alt


「選擇容器」 表示一組可以選擇的資源或文字(常常是屬性的一個值)。 ( 例 如:要 描述某著作的 不 同語 言譯作 )


(1)Bag


容器通常是用 來 表示,有個屬性其值為一組事物。 例 如,要表示 「修 IR 課程的學生有 Anadem 、 Kate 、 Poyu 、與 Inman 」,那麼我們可以為該課程加入 exterms:students 屬性,該屬性值為 rdf:Bag 包裹容器 ( 表示一組學生 ) ,並用「容器成員之屬性」將每個學生標示為該容器的成員


 


 


xmlns:exterms="http://www.example.org/terms/">


 


 


 


li rdf:resource="http://www.example.org/terms/students/Anadem"/>


li rdf:resource="http://www.example.org/terms/students/Kate"/>


li rdf:resource="http://www.example.org/terms/students/Poyu"/>


li rdf:resource="http://www.example.org/terms/students/Inman"/>


 


 


 


 


以 li 元素來代表資料模式的 rdf:_1,rdf:_2, rdf:_3,rdf:_4 property ,全部統一用 li 來表示,是因為 Bag 中所包含的四個資源在順序的排列上並不具特別的意義。


(2)Sequence


Sequence 與 Bag 主要差別即在  要改成 ,而 應用程式在創建和處理 RDF 圖時,便會正確解釋現在屬性名字中的順序 。


 


 


xmlns:exterms="http://www.example.org/terms/">


 


 


 


li rdf:resource="http://www.example.org/terms/students/Anadem"/>


li rdf:resource="http://www.example.org/terms/students/Inman"/>


li rdf:resource="http://www.example.org/terms/students/Kate"/>


li rdf:resource="http://www.example.org/terms/students/Poyu"/>


 


 


 


 


(3) Alternative


 


 


xmlns:exterms="http://www.example.org/terms/">


 


 


 


 



  •  


     




  •  


     




  •  


     


     


     


     


    1 、含有空白節點的敘述


    假設一個 需要被記錄的資訊,如果用簡單的 RDF 語句來描述就足夠的話,那麼一切都將變得很簡單,但是大多數現實世界中的資料,至少表面看起來,要比簡單的 RDF 語句所能描述的形式複雜得多。


    http://www.example.org/index.html has a creator whose value isJohn Smith


     


    例如在上面的例子中,在描述 John Smith 的個人資訊的情況下,我們來考慮 John 的位址,整個的位址可以被寫作一個簡單的字串 à "1501 Grant Avenue, Bedford, Massachusetts 01730" 、 或 者是 一個三元組 
    exstaff:85740 exterms:address "1501 Grant Avenue, Bedford, Massachusetts 01730" .
    然而 , 設想一下 John 的位址需要記錄為由一個街道 、 城市、州和郵遞區號組成的結構,像這樣結構化的資料資訊在 RDF 中是 透 過以下方式描述的:


    把 John Smith 的住址看成 是 一個「資源」,然後發表關於這個新資源的陳述。所以在 RDF 圖中,為了將 John Smith 住址分解成它的各個組成部分,一個用來描述 John Smith 住址這一概念的「新節點」就隨之產生了,並用一個新的 URIref 來標識,如 http://www.example.org/addressid/85740 ( 可縮寫為 exaddressid:85740) 。


     


     


    描述 RDF 結構化資料的方法 , 會產生很多的 " 中間的 "URIrefs ,比如像描述 John ’s address 的 URIref 「 exaddressid:85740 」。 這些「中間的 URIrefs 」 概念可能從來不會被從 RDF 圖的外部引用,因此可能不需要 " 通用的 " 識別字。另外,在用於描述一組陳述的圖中,用來標識 "John Smith's address" 的 URIref 並不是真正需要的


     


     


    使用了一個沒有 URIref 的節點來表示 "John Smith's address" 。這個 空節點雖然沒有 URIref ,但表達了它應該表達的含義,因為這個空節點本身提供了圖中各個部分之間必需的連通作用。然而,為了把這個圖表示為三元組的形式,就需要一個能清楚表示那個空節點的識別字。以下寫出圖二所示的內容相應的三元組:


    exstaff:85740 exterms:address ??? .


    ??? exterms:street "1501 Grant Avenue" .


    ??? exterms:city "Bedford" .


    ??? exterms:state "Massachusetts" .


    ??? exterms:postalCode "01730" .


    ??? 出現的地方正是出空節點出現過的地方。因為一個複雜的圖包含的空節點可能會不只一個,所以需要一種區分不同空節點的辦法。因此三元組以 "_:name" 的形式來表示空節點。例如:在這個例子中,空節點識別字 "_:johnaddress" 可以用來表示空節點,那麼相應的三元組可以寫成如下的形式:


    exstaff:85740 exterms:address _:johnaddress .


    _:johnaddress exterms:street "1501 Grant Avenue" .


    _:johnaddress exterms:city "Bedford" .


    _:johnaddress exterms:state "Massachusetts" .


    _:johnaddress exterms:postalCode "01730" .


    空節點識別字僅僅是在把 RDF 圖表示成三元組形式的時候,用來表示圖中的空節點的(區分不同的空節點)。最後,因為空節點識別字表示的是(空)節點而非弧 線 ,所以在一個圖的三元組運算式中:空節點識別字只能出現在三元組主 詞 和受詞的位置上;不能出現在述詞的位置上。


    有些資源可能沒有 URI ,空節點也提供了一種關於這些資源陳述的方法,但這 必須是透 過那些 「 有 URI 資源」的關係來描述的。


    例如:當發表一個關於 Jane Smith 的陳述 時 ,可能會很自然的想要用這人的 email 位址作為她的 URI ( mailto:jane@example.org ),但是這種方法可能會導致一些問題。如果需要同時記錄關於 Jane 的「 住址」和「 mail 」兩者資訊,那麼此時還一樣用她信箱位址作為她的 URIref 的話,就會很難區分真正的表述 主體 到底是指 Jane 還是她的信箱。


    問題的根本原因就是:用 Jane 的 信 箱來代表 Jane 是不正確的,因為 Jane 和她的信箱根本就是兩碼事,因此她和它應該區別對待。當 Jane 自己沒有 URI 時,空節點提供了一條為這種情形更正確的建製方法: 
    Jane 可以由一個空節點表示,並且用這個以 "exterms:mailbox" 為「屬性 」 的空節點作為陳述的主體,且用 URIref" mailto:jane@example.org " 作為它的這個「屬性的值」。這個空節點也可以用以 "exterms:Person" 為值的一個 "rdf:type" 屬性來表述,或者是其他有用的描述性資訊,正如下列三元組所示的: _:jane exterms:mailbox < mailto:jane@example.org > . _:jane rdf:type exterms:Person . _:jane exterms:name "Jane Smith" . _:jane exterms:empID "23748" . _:jane exterms:age "26" . (注意 " mailto:jane@example.org " 寫在兩個 角 括號 裡 ,是因為 " mailto:jane@example.org " 在 mailto URI 模式中是個完整的 URIref ,而不是一個 QName 縮寫,在三元組表示法裡,一個完整的 URIref 必須寫在一對角括號內。)


    上述 三元組清楚地說明了: " 有一個資源,其類型為 exterms:Person ,其電子信箱是由 " mailto:jane@example.org " 來標識的,其名字是 Jane Smith ,等等 " 。簡單來說,空節點可以看成「有一個資源」,而以此「資源」作主體的陳述,就提供了關於這個資源特性方面的資訊。


     


     


     


     


     


     




  •  


     




  •  


     




  •  


     


     


     


     


     


    參考文獻:


    1 http://zh.transwiki.org/wiki/index.php/RDF%E5%85%A5%E9%96%80
    _%E6%8E%A8%E8%96%A6%E6%A8%99%E6%BA%96


    2 國立臺灣師範大學 093NTNU5447004 RDF 與 Topic Maps 之知識表徵比較研究 鍾季倫 ,93


     


    3 語意網技術導論 / 屠正名譯 2006 譯自: A semantic Web primer


    4 輔仁大學, SGML 、 XML 、 RDF 文件標準比較與 Metadata 資料模式設計 , 陳嵩榮





  • 白努力電腦日記 發表在 痞客邦 留言(0) 人氣()

     
    使用eclipse來編譯Protege Core,以及撰寫Java 程式來使用RacerPro達到Ontology的推論:
    Eclipse
    JavaCC

    白努力電腦日記 發表在 痞客邦 留言(0) 人氣()




    OWL 和SWRL 要和專家推論引擎結合,由於兩者格式不同,因此需要轉換。


    專家系統區分為專家知識(Expert Knowledge)和運算法則(Rule)兩部份處理,如此可以使專家的知識達到Reuse 和Shere。


    法則(Rule):在一定的條件下可以推論出新結論。


    事實(Fact):不需要有特殊條件,就存在的項目,而法則所推論出的事實也可以做為後續推論的基礎。


    構成本體的主要元素有類別、槽(Slot)、關係(Relation):


    (1) 類別代表了領域知識的概念(Concept)


    (2) 槽(Slot)描述類別的屬性


    (3) 關係(Relation)則描述了每個類別之間的關係。


     


    推論系統本身包含三個主要元素:本體論和SWRL、轉換方式、推論引擎


    (1) 本體論和SWRL:編輯領域本體論和SWRL(Protégé、SWRL)。
    (2) 轉換方式:格式轉換(RacerPro、SWRL2Jess)。
    (3) 推論引擎:輸入引擎(Protégé、JessTab for Protege)。


     


    整體設計概念:(Ontology 及SWRL 可透過Protégé 來建置)


    (1) 真正進行法則推論時並不能使用Ontology 的實例,須透過推理機(RacerPro)將本體論中的知識解釋為專家系統可以接受的格式,才能將實例導入進行運算,此外推理機也會將本體論中衝突和矛盾的知識檢驗出來。


    (2) SWRL 是以Ontology 為基礎所建立的法則語言,由於SWRL 也無法直接被運算,因此需透過XSLT 轉換格式,這裡使用SWRL2Jess。


    JessTab 為Protégé 的外掛;RacerPro 需註冊以獲取key 來試用一個月。ProtégéVersion 3.2.1 (Build 365) 已可直接建立SWRL 以及Ontology 並且透過SWRL 來推論以及轉換。


    SWRLTab:SWRLTab 的說明文件可以參考
    http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab#nid72M


    SWRL:請參考http://www.w3.org/Submission/SWRL/
    RacerPro:請參考http://www.racer-systems.com/
    Jess:請參考http://herzberg.ca.sandia.gov/
    XSLT:請參考http://www.ag-nbi.de/research/owltrans/
    Jess for Protégé:請參考http://www.ida.liu.se/~her/JessTab/




    白努力電腦日記 發表在 痞客邦 留言(0) 人氣()

    1
    Blog Stats
    ⚠️

    成人內容提醒

    本部落格內容僅限年滿十八歲者瀏覽。
    若您未滿十八歲,請立即離開。

    已滿十八歲者,亦請勿將內容提供給未成年人士。