DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XML 編程思想: XML 語義錨
XML 編程思想: XML 語義錨
編輯:XML詳解     

 XML 的語法僅僅是數據互操作的基礎。下一步是實現語義的透明性。一些組織正致力於定義完整的文檔格式,希望人們能全盤接受。而另一些人則期望能找到從更小粒度的層次上表達一般術語和概念的方法。在本次專欄文章中,Uche Ogbuji 著眼於 XML Topic Maps Published Subjects(XML 主題地圖標題發布)和 Universal Data Element Framework(UDEF,通用數據元素框架),這兩種都是小粒度的方法,通過搜索在語義流中提供錨。

  前面我在本專欄中曾經提過,XML 僅僅為實現通用信息交換提供了最最基本的手段。XML 完全建立起來之後,在 XML 之上構建標准的巨大工作現在已經轉向 語義透明性,即借用某種結構化的 XML 文檔,不同的系統能夠對實際概念有一個共通的理解。有關語義透明性的討論請參見 Thinking XML專欄的開場白 。

  實現這一宏偉目標的方法有很多,但是我傾向於將這些方法分為兩大類:

  • 自頂向下的方法定義整個文檔格式,以及所有元素、屬性和內容的語義,其中通常會引用相關的業界標准。這樣的例子包括 OAGIS(在“ XML 和語義,第 4 部分”中進行了介紹)和 UBL(在“ 通用商業語言(UBL)”中進行了介紹)。
  • 自底向上的方法在離散的層次上定義術語和概念,而與這些術語概念出現在什麼文檔中無關。這樣的例子包括 ISO Basic Semantics Register(BSR),不幸的是這種方法看起來已經停止了,還有就是 RosettaNet DictionarIEs(在“ XML 和語義,第 3 部分”一文中進行了介紹)。

  自頂向下的方法的范圍通常挑戰性更小,一般也建立在業界已有的基礎之上。自底向上的方法潛在的優勢更大,但是更難於開發和推廣。RosettaNet 這種方法很有意思,它兼顧了兩種方法,同時提供字典和文檔方案。還有,UBL 在 ebXML 的領域內與自底向上的方法緊密結合。


我們在辭典和語義登記表中定義名詞和概念,這些就是所謂的錨,您可以在進行 XML 通信的時候用它們構建一般性的語義。本文中,我將再探討兩種構建錨的方法。

  標題發布

  在 我的上一篇文章中,我提到了 XML Topic Maps,並且說那項技術的基本思想之一是 subject identifIEr(標題標識),它為特定的概念提供惟一的標識。最有野心的方法是全盤使用 published subjects(標題發布)。雖然標題發布的思想是與 Topic Maps 的原則緊密結合在一起的,但是也沒有理由說它不能用於一般的語義錨,甚至用在其他的技術之中,如 RDF 和一般的 XML 詞匯。XML Topic Maps(如果您還記得的話,是更一般的 Topic Maps 規范的一個特例)規定標題發布應該是 URI,並使其與大多數 Web 技術,如 XML 和 RDF 等保持一致。OASIS Topic Maps Published Subjects TC(OASIS 主題地圖題目發布技術委員會,參閱 參考資料)致力於定義及鼓勵在多種不同的技術中使用公用標題。它的技術規范中有一篇題為“Published Subjects: Introduction and Basic Requirements”的引言,裡面說到:

  OASIS Topic Maps Published Subject Technical Committee 的目標是通過應用標題發布實現主題地圖的互操作性。更進一步的目標是實現主題地圖和其他明顯使用題目的抽象表示技術之間的互操作性,如 Resorce Description Framework(資源描述框架,RDF)以及 Web Ontology Language(Web 本體描述語言,OWL)。

  規范中定義的 Published Subjects 提供了一種開放的、可擴展的、基於 URI 的方法,用於標識談論的話題。它們迎合人與應用程序的需要,提供保證用戶方面能夠建立信心和信任的機制。因此,Published Subjects 特別希望能引起本體論、分類學、辭典學、登記學、目錄學等方面的出版商和用戶的關注,並期望用於獲取、比較和匯聚信息與知識的應用程序(包括中間件)。

Published Subjects TC 只進行了框架性的工作。實際的公用標題是其他的組完成的。我能夠找到的最卓越的標題發布是 OASIS Topic Maps Published Subjects for Geography and Languages TC(OASIS 主題地圖地理與語言標題發布技術委員會)完成的 ISO 語言與國家代碼。我在 參考資料中還提到其他一些標題發布的工作。清單 1 是從用這些標題發布制作的一個 XML Topic Map 中節選的一段代碼。

  清單 1.用 XTM 標題發布表示的 ISO 國家代碼示例

  <topic id="French">
 <subjectIdentity>
  <subjectIndicatorRef
   xlink:href="
    http://psi.oasis-open.org/geolang/iso639/#fre"/>
 </subjectIdentity>
 <baseName>
  <baseNameString>francais</baseNameString>
 </baseName>
</topic>
   

  Published Subjects TC 的主席 Bernard Vatant 開發了一個例子,用於說明標題發布如何用於 Web Ontology Language(Web 本體描述語言,OWL)。OWL 最初是用來代替 DAML+OIL 的(在“ 知識管理的基本 XML 和 RDF 技術,第 5 部分”一文中講到)。一會兒我會更深入地討論 OWL。清單 2 是同一個標題發布中的代碼片斷,但是這次用的是 OWL。

  清單 2. 用 OWL 標題發布表示的 ISO 國家代碼示例

  <Lang rdf:ID="fre">
 <!-- The following asserts equivalence between the local resource #fre
    and the published subject for the French language -->
 <owl:sameAs rdf:resource="
    http://psi.oasis-open.org/geolang/iso639/#fre"/>
 <rdfs:label XML:lang="en">French</rdfs:label>
 <rdfs:label XML:lang="fr">francais</rdfs:label>
</Lang>
   
   

owl:sameAs 語句以及標題發布有效地提供了一個錨,用於從局部定義的資源指向語義上比較含混的概念。

  通用數據元素

  Universal Data Element Framework(通用數據元素框架,UDEF)是一項很有野心的計劃,它為不同行業內的多種關鍵數據元素提供惟一標識(參閱 參考資料)。這個項目定義的數據元素風格上類似於 Dewey Decimal System(杜威十進制系統)。它們也很明白要嚴格遵從自底向上的原則:

  網絡上已經進行了廣泛的集成與應用程序協作的工作,因此我們需要明確目前正在進行的文檔標准、核心組件、本體論和分類學工作相互之間有什麼區別。UDEF 只是尋求成為數據元素中的屬性。不存在對過程、驗證或者處理的需求,而只是在試圖用標准的、可重復的方式通信,並獲得數據元素所表示的確切概念。上下文的內容很少,剛剛夠用來明確標識數據元素。

  UDEF 采用了一種很有意思的方法,它將字母、數字、下劃線、句號結合起來,用來代替自然語言作為標識符。這樣做的好處是對於當地語言顯得更加自然——不像很多 XML 技術那樣更偏向於英語——不過這就意味著即便是對 UDEF 進行非正式的處理,查找工具也是十分重要的。舉個例子來說,某個 產品部件標識符概念的 UDEF ID 是 9_5.8 ,按照前面標題發布一節中的例子, 國家代碼概念的 UDEF 標識符是 e.7_4 。

  起錨了

  迄今為止,標題發布領域內還沒有給開發人員提供多少可以構建的東西。基本需求才剛剛定下來,比計劃的日期退後了一年,TC 經歷了很多苦難的工作過程。ISO BSR 工作的停滯狀態,也意味著自底向上實現語義透明性所面臨的巨大挑戰。然而,困難總是被樂觀的前景沖淡,我建議讀者們繼續關注這些開創性的工作。我當然希望更多的開發人員對標題發布產生興趣,能夠投身到此項工作中。在 OASIS 中有一項值得發揚的傳統,他們的工作組總是非常開放和透明。

  UDEF 的確對 Bizcode 和 United Nations Centre for Trade Facilitation and Electronic Business(聯合國貿易促進與電子商務中心,UN/CEFACT)的 Core Components IdentifIErs(核心組件標識)構成了競爭。拿後者來說,它是 ebXML 的重要組成部分,應用於 UBL 當中。所有的討論都著重於如何使不同的力量結合起來,但是最終還是要看哪一方力量會在實踐中獲得更多的支持,即便是每一種都有它自己的領地也沒有關系。在以後的文章中,我將會討論到 Bizcode、Core Component,以及更多此類的開創工作。

  如此眾多的力量都從不同的角度致力於解決語義透明性的問題,這真是件好事。在這樣一個開放的環境中,可以預期,很多工作同時也考慮到了與之類似的工作。UDEF 中提供了例子,用來說明如何在 ebXML 和 OAGIS 中,以及 RDF 和 XML 方案中使用它們的 ID。不過我們也可以考慮一下自頂向下和自底向上兩種方法哪一種對於在語義層建立真正的透明性來說更加關鍵。是建立完整和連貫的文檔的方法比較容易應用,還是必須先准備好共享術語表的基本構建模塊,然後才可能在不需要認可精確的文檔標准的情況下實現互操作。請您不要遲疑,立即在 Thinking XML論壇上發布您對這一問題的看法吧。


 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved