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 國家程式碼示例
Published Subjects TC 的主席 Bernard Vatant 開發了一個例子,用於說明標題釋出如何用於 Web Ontology Language(Web 本體描述語言,OWL)。OWL 最初是用來代替 DAML+OIL 的(在“ 知識管理的基本 XML 和 RDF 技術,第 5 部分”一文中講到)。一會兒我會更深入地討論 OWL。清單 2 是同一個標題釋出中的程式碼片斷,但是這次用的是 OWL。
清單 2. 用 OWL 標題釋出表示的 ISO 國家程式碼示例
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論壇上釋出您對這一問題的看法吧。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-950173/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XML 程式設計思想:XML語義(轉)XML程式設計
- XML 程式設計思想:XML和語義(轉)XML程式設計
- XML 程式設計思想:XML和語義:XML 會兌現其承諾嗎?(轉)XML程式設計
- XML 程式設計思想:重新審視 XML 中的語義透明性(轉)XML程式設計
- XML 程式設計思想:踏著語義的節拍(轉)XML程式設計
- XML 程式設計思想: 研讀XML Hacks(轉)XML程式設計
- XML 程式設計思想:XML 建模藝術描述(轉)XML程式設計
- XML 程式設計思想:Thinking XML: 通用商業語言(UBL)(轉)XML程式設計Thinking
- XML 程式設計思想:知識管理的基本 XML 和 RDF 技術:語義知識(轉)XML程式設計
- XML 程式設計思想: Harold 的高效 XML 設計原則(轉)XML程式設計
- XML 程式設計思想: 專利編檔遭遇 XML(轉)XML程式設計
- XML 程式設計思想:查詢 XML 格式的 WordNet(轉)XML程式設計
- XML 程式設計思想: XMLOpen 會議,再評 XML Hacks(轉)XML程式設計
- XML 程式設計思想:利用模式標準化實現自上而下的語義透明(轉)XML程式設計模式
- XML 程式設計思想:從書本學習 XML Topic Maps(轉)XML程式設計
- XML 程式設計思想:定義 RDF 和 DAML+OIL 圖示(轉)XML程式設計
- XML 程式設計思想:使用 XSLT 生成 RDF(轉)XML程式設計
- XML 程式設計思想:知識管理的基本 XML 和 RDF 技術(7)(轉)XML程式設計
- XML 程式設計思想: 學習物件後設資料(轉)XML程式設計物件
- XML 程式設計思想:用 MusicBrainz 管理後設資料(轉)XML程式設計AI
- XML 程式設計思想: UBL 1.0(以及 ebXML Core Components 等)(轉)XML程式設計
- XML 程式設計思想:知識管理的基本 XML 和 RDF 技術:問題跟蹤程式模式(轉)XML程式設計模式
- XML程式設計例項(二) (轉)XML程式設計
- XML與ASP程式設計(一) (轉)XML程式設計
- XML 程式設計思想: 使用 Atom 格式連鎖新聞及其他內容(轉)XML程式設計
- XML入門指南(3)XML語法(轉)XML
- shell vbscript xml程式設計XML程式設計
- XML 程式設計思想:將檔案合併到 RDF 模型和基本的 RDF 查詢(轉)XML程式設計模型
- XML Query, 語義Web今年運勢XMLWeb
- Java XML程式設計例項解析JavaXML程式設計
- 使XML程式設計更簡單---JDOM介紹及程式設計指南 (轉)XML程式設計
- JAVA語言程式設計思想Java程式設計
- XML語法XML
- XML輕鬆學習手冊(5)XML語法之二(轉)XML
- XML輕鬆學習手冊(5)XML語法之四(轉)XML
- Mybatis xml特殊符號轉義寫法MyBatisXML符號
- 用XML實現程式語言間的互譯 (轉)XML
- XML輕鬆學習手冊(4)XML的術語之二(轉)XML