監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢(xún)管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶(hù)案例 | 在線試用
X 關(guān)閉

武漢OA信息化的基本XML和RDF技術(shù)(一):使用XSLT生成RDF

申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114

AMTeam.org

知識(shí)管理的基本XML和RDF技術(shù)(一):使用XSLT生成RDF


Uche Ogbuji (
uche.ogbuji@fourthought.com)

CEO 和首席顧問(wèn),F(xiàn)ourthought, Inc.

2001 年 7 月

專(zhuān)欄作家 Uche Ogbuji 通過(guò)演示用來(lái)自現(xiàn)有 XML 格式的數(shù)據(jù)構(gòu)成“資源描述框架 (RDF)”模型,開(kāi)始了他的用 XML 進(jìn)行的知識(shí)管理的實(shí)際探索。 如三個(gè)代碼清單中所示,RDF 可用作定制 XML 的搭擋,而不僅僅用作某些數(shù)據(jù)類(lèi)型的規(guī)范表示。包含代碼樣本的本專(zhuān)欄演示了如何用 RDF 方便地進(jìn)行知識(shí)管理,甚至是在開(kāi)發(fā)過(guò)程中相對(duì)比較晚的階段。

雖然 W3C 將“資源描述框架 (RDF)”設(shè)計(jì)為常規(guī)元數(shù)據(jù)建模工具,但它還提供了許多功能,使之成為 XML 數(shù)據(jù)的理想搭擋。在許多正在形成的 XML 應(yīng)用程序中,在應(yīng)用程序的生存期中封裝在應(yīng)用程序中的知識(shí)以 XML 文檔形式存儲(chǔ)在數(shù)據(jù)庫(kù)或資源庫(kù)中。作為知識(shí)管理工具的 RDF 的基本用途是,它允許您組織、關(guān)連、分類(lèi)和注釋這些知識(shí),從而增加存儲(chǔ)數(shù)據(jù)的總計(jì)值。 RDF 具有復(fù)雜性,通過(guò)簡(jiǎn)單地將 RDF 支持添加到基于 XML 的應(yīng)用程序中來(lái)掩飾這種復(fù)雜。 本文開(kāi)始探索 RDF 和 XML 之間的協(xié)作關(guān)系。以下將演示如何使用 XSLT 根據(jù) XML 生成 RDF。

必需熟悉 RDF 和 XSLT。也可以先閱讀以前 developerWorks 中的介紹 RDF, 或者參考資料中鏈接的其它文章。

舊東西不一定總是過(guò)時(shí)的

例如,讓我們來(lái)跟蹤技術(shù)規(guī)范的開(kāi)放式開(kāi)發(fā)過(guò)程。規(guī)范是公布到網(wǎng)上且感興趣的團(tuán)體可以閱讀它、添加與規(guī)范相關(guān)的問(wèn)題、評(píng)論公開(kāi)的問(wèn)題以及指派相關(guān)問(wèn)題的操作項(xiàng)目等等。

XML 是一種功能強(qiáng)大的工具,它可將這種問(wèn)題追蹤放在一起。雖然問(wèn)題和操作項(xiàng)目的描述和相關(guān)討論都需要靈活的表示,但結(jié)構(gòu)對(duì)于維護(hù)數(shù)據(jù)語(yǔ)義是很重要的。在示例中,應(yīng)用程序已經(jīng)開(kāi)發(fā)好了,而且使用了用于如將操作項(xiàng)目提示者發(fā)送給用戶(hù)、支持搜索和瀏覽等任務(wù)的基本技術(shù)。然而,為了利用 RDF 處理中可使用的許多現(xiàn)有工具和技術(shù),開(kāi)發(fā)人員已經(jīng)決定開(kāi)始在應(yīng)用程序中使用 RDF。

在選擇使用 RDF 時(shí),開(kāi)發(fā)人員不想重新設(shè)計(jì)所有的應(yīng)用程序數(shù)據(jù)和邏輯。他們寧愿添加他們能夠(并且或許逐漸)將 RDF 處理移向應(yīng)用程序核心的那些東西。所以,他們面臨的任務(wù)之一是,根據(jù)他們已經(jīng)收集的 XML 數(shù)據(jù)生成有用的 RDF。

XML 格式示例

清單 1 是追蹤過(guò)程中單個(gè)問(wèn)題的 XML 格式示例。它有唯一標(biāo)識(shí)符和表示問(wèn)題與哪個(gè)文檔或文檔部分相關(guān)的引用元素。問(wèn)題的原創(chuàng)者被加上注釋?zhuān)@表示正在使用系統(tǒng)的用戶(hù)管理功能。任何人都可以對(duì)文檔進(jìn)行撰稿,但對(duì)已注冊(cè)的用戶(hù)會(huì)特別標(biāo)注和處理。問(wèn)題的主要描述和附加的用戶(hù)注釋會(huì)聯(lián)機(jī)顯示,并且還有指派給用戶(hù)的相關(guān)操作。

播種數(shù)據(jù),收獲元數(shù)據(jù)

從問(wèn)題追蹤中所使用的 XML 文件中抽取 RDF 元數(shù)據(jù)的方法有幾種。最直接的方法或許是編寫(xiě)一種 XSLT 轉(zhuǎn)換, 它讀取文件并輸出元數(shù)據(jù)的 RDF/XML 序列,這將在下一小節(jié)中演示。

因?yàn)?RDF 位于 URI 上(出于更好或出于更壞),所以您必須為元數(shù)據(jù)節(jié)點(diǎn) 提出一些 URI 方案。一些事物(如用于創(chuàng)作問(wèn)題的規(guī)范的位置)已經(jīng)有 URI。其它事物可能已經(jīng)有專(zhuān)門(mén)的 XML 表示;在我們的示例中,用戶(hù)對(duì)象作為單獨(dú)的 XML 文件管理。其它事物可能仍是完全抽象的,除了它們的元數(shù)據(jù)節(jié)點(diǎn)外,沒(méi)有任何應(yīng)用程序設(shè)計(jì)工具或機(jī)制。這最后一類(lèi)的示例是我建議為資源創(chuàng)建的 RDF 類(lèi)型。 要在 RDF 中使用的 URI 如下:

在鑒定中的規(guī)范的地址。示例: http://rdfinference.org/ril/ril-20010502

問(wèn)題的 XML 源碼的地址。示例:
http://rdfinference.org/ril/issue-tracker/issues/i2001030423

注冊(cè)用戶(hù)的概要文件的 XML 源碼的地址。示例:
http://rdfinference.org/ril/issue-tracker/users/uogbuji.

作者、問(wèn)題、指派等的 RDF 類(lèi)型。示例:
http://rdfs.rdfinference.org/ril/issue-tracker#Author

一個(gè)可能的 RDF 系列化

上面已給出清單 2, 它是表示清單 1 中元數(shù)據(jù)的一個(gè)可能的 RDF 模型系列化。

請(qǐng)注意:在某些情況下,我使用匿名資源,如注釋和操作資源。這是一種建模選項(xiàng)。例如,要對(duì)用于任務(wù)調(diào)度的操作進(jìn)行集中索引, 那么將 URI 用于抽象操作而不是使它們保持匿名可能是有意義的。

XSLT 轉(zhuǎn)換

現(xiàn)在,您已經(jīng)了解 RDF 的樣子,就可以構(gòu)造一種轉(zhuǎn)換,將問(wèn)題描述轉(zhuǎn)換成適當(dāng)?shù)? RDF 文件。 清單 3 就是使用 XSLT 的這種轉(zhuǎn)換。

至于在此清單中看到的一些技術(shù),我已經(jīng)在先前的一篇 developerWorks 文章—— 用 XSLT 進(jìn)行 WSDL 處理中討論過(guò),它包含將“Web 服務(wù)描述語(yǔ)言 (WSDL)” 轉(zhuǎn)換成 XML 這一章節(jié)。在這種情況下,目的是盡可能使產(chǎn)生的 RDF 系列化看上去更接近原始的WSDL XML。在這種情況中沒(méi)有這種約束,因此轉(zhuǎn)換很少是機(jī)密的。只是依次訪問(wèn)各種 XML 元素,并一點(diǎn)一點(diǎn)地構(gòu)建等價(jià)的 RDF 描述。

最重要的高層次的操作是 issue 元素的匹配,它僅僅轉(zhuǎn)向并調(diào)用一個(gè)已命名模板來(lái)為相應(yīng)的問(wèn)題實(shí)際構(gòu)建 RDF 描述。這種間接方式的原因是,可以為定制和擴(kuò)展這種轉(zhuǎn)換提供靈活性。例如,當(dāng)您閱讀下一個(gè) XML 編程思想專(zhuān)欄時(shí),可以在執(zhí)行從問(wèn)題文檔到 RDF 的批處理轉(zhuǎn)換的單獨(dú)的轉(zhuǎn)換中使用已命名模板。

在示例中,除了聯(lián)機(jī)規(guī)范本身之外,問(wèn)題跟蹤程序還可以跟蹤有關(guān)各種資源的問(wèn)題。(您可以從問(wèn)題跟蹤程序本身開(kāi)始一個(gè)問(wèn)題——也許是一個(gè)錯(cuò)誤報(bào)告。)由于這個(gè)原因,設(shè)計(jì)還要使引用元素的處理變得相當(dāng)靈活。 使用單獨(dú)的 XSLT 方式(確保僅在正確時(shí)刻解析引用元素),模板檢查引用元素的可展開(kāi)內(nèi)容。目前,示例應(yīng)用程序通過(guò)用來(lái)自正被討論的問(wèn)題中的引用簡(jiǎn)單地創(chuàng)建 RDF 描述來(lái)處理引用是指規(guī)范這種情況。由于需要處理更多種類(lèi)型的可擴(kuò)展引用, 所以可以添加附加的 xsl:when 子句來(lái)處理這些情況。

您還可以查看用于處理使用概要文件或只是自由格式的文本注冊(cè)用戶(hù)描述這一事實(shí)的基本方法。

更多要遵循的

在本專(zhuān)欄中,我已提供了使用 XSLT 從 XML 實(shí)例中抽取 RDF 的簡(jiǎn)單示例。隨著越來(lái)越多的基于 XML 的應(yīng)用程序的使用,這樣的技術(shù)在擴(kuò)展帶有知識(shí)管理特性的應(yīng)用程序中是有用的。

下一個(gè)專(zhuān)題將繼續(xù)問(wèn)題跟蹤程序示例,同時(shí)演示問(wèn)題文檔的批處理和對(duì)此處理有用的一些開(kāi)放源碼工具。

本專(zhuān)題中的示例和下一專(zhuān)題中的示例都是基于一個(gè)實(shí)際的項(xiàng)目,該項(xiàng)目為 rdfinference.org 上的“RDF 接口語(yǔ)言”規(guī)范組成一個(gè)問(wèn)題跟蹤程序。不久,您將可以在此公共站點(diǎn)上看到這一實(shí)際工作。在那之前,請(qǐng)您自由地試驗(yàn)本文中的示例代碼,并將任何問(wèn)題、意見(jiàn)和想法發(fā)送給我。

參考資料

請(qǐng)參閱本專(zhuān)欄以前的專(zhuān)題,題為:

    • XML meets semantics: The reality
    • XML meets semantics: Meet the new kids on the block, and one more from the old neighborhood
    • Walking the semantic beat

Dave Beckett 的 RDF Resource Guide 是至與 RDF 相關(guān)的文章、工具等鏈接的綜合集合。

本文中的示例是使用 4Suite 的 XSLT 處理器測(cè)試的。

XML: the next big thing 是 Tom Halfhill 編寫(xiě)的 IBM 研究論文,它討論了 RDF 為下一代搜索引擎提供動(dòng)力的可能性。

解決方案 2001 年開(kāi)發(fā)人員大會(huì)將于 8 月 13 日至 18 日在舊金山召開(kāi); 請(qǐng)?jiān)?AgendaBuilder中搜索或?yàn)g覽有關(guān) 230 多個(gè)會(huì)議的描述。有二十多個(gè)會(huì)議是關(guān)于 XML 及其相關(guān)技術(shù),包括:

    • 實(shí)踐:集成 XML 與 DB2
    • 實(shí)踐: 語(yǔ)音 XML 工具/構(gòu)建絕佳的應(yīng)用程序
    • XSL 示例:XML 轉(zhuǎn)換簡(jiǎn)介
    • 使 用 Java 技術(shù)對(duì) XML 文檔進(jìn)行語(yǔ)法分析和編程。


關(guān)于作者

Uche Ogbuji (uche.ogbuji@fourthought.com) 是 Fourthought Inc. 的顧問(wèn)兼創(chuàng)始人, 該公司是專(zhuān)為企業(yè)知識(shí)管理應(yīng)用提供 XML 解決方案的軟件供應(yīng)商和顧問(wèn)。 Fourthought 開(kāi)發(fā)了 4Suite、 4Suite Server,它們是 XML 中間件的開(kāi)放源碼平臺(tái)。 Ogbuji 先生是一名出生于尼日利亞的計(jì)算機(jī)工程師和作家,他生活和工作在美國(guó)科羅拉多州的博耳德。

瀏覽:知識(shí)管理的基本XML和RDF技術(shù)(二)

知識(shí)管理的基本XML和RDF技術(shù)(三)

知識(shí)管理的基本XML和RDF技術(shù)(四)

知識(shí)管理的基本XML和RDF 技術(shù)(五)

知識(shí)管理的基本XML和RDF技術(shù)(六)

發(fā)布:2007-03-25 14:08    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
武漢OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢(xún):400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢(xún)