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

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

申請免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

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


Uche Ogbuji (
uche.ogbuji@fourthought.com)

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

2001 年 7 月

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

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

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

舊東西不一定總是過時的

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

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

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

XML 格式示例

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

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

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

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

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

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

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

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

一個可能的 RDF 系列化

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

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

XSLT 轉(zhuǎn)換

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

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

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

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

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

更多要遵循的

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

下一個專題將繼續(xù)問題跟蹤程序示例,同時演示問題文檔的批處理和對此處理有用的一些開放源碼工具。

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

參考資料

請參閱本專欄以前的專題,題為:

    • 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 處理器測試的。

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

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

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


關(guān)于作者

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

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

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

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

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

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

發(fā)布:2007-03-25 13:31    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
石家莊OA系統(tǒng)
聯(lián)系方式

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

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

咨詢:400-8352-114

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

QQ在線咨詢