監(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ù)案例 | 在線(xiàn)試用
X 關(guān)閉

武漢OA信息化的基本XML和RDF技術(shù)(四):?jiǎn)栴}跟蹤程序模式

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

AMTeam.org

知識(shí)管理的基本XML和RDF技術(shù)(四):?jiǎn)栴}跟蹤程序模式


Uche Ogbuji(uche.ogbuji@fourthought.com

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

2002 年 2 月

Uche Ogbuji 繼續(xù)研究 RDF 如何與 XML 相結(jié)合以能夠進(jìn)行知識(shí)管理。在這一部分中,他深入研究了 RDF 世界中的建模,而且開(kāi)始考慮開(kāi)發(fā)問(wèn)題跟蹤程序的模式以及它與面向?qū)ο蠛完P(guān)系建模之間的相似與不同。讀者將學(xué)習(xí)各種技巧、技術(shù)和最佳實(shí)踐,以便從 XML 數(shù)據(jù)開(kāi)發(fā)有效的知識(shí) 管理模型。

目前為止,在對(duì)問(wèn)題跟蹤程序應(yīng)用的研究中,我已經(jīng)通過(guò)示例討論了從 XML 數(shù)據(jù)抽取 RDF 數(shù)據(jù)、實(shí)現(xiàn)這一抽取的技術(shù)以及與 RDF 有關(guān)的無(wú)謂紛擾引起的一種簡(jiǎn)潔的語(yǔ)義搜索功能?,F(xiàn)在,我將進(jìn)一步研究各模式在使用 RDF 將知識(shí)管理功能部件構(gòu)建到 XML 應(yīng)用程序中時(shí)所起 的作用。

關(guān)系與對(duì)象數(shù)據(jù)庫(kù)模式,以及甚至 XML 模式,都為數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序提供文檔、指導(dǎo)和控制。RDF 模式更為寬松和一般化;它們陳述放入 RDF 模型中的資源的分類(lèi)。在這一部分和下一部分中,我們將同時(shí)使用 W3C RDF 模式(RDFS)規(guī)范和“DARPA 代理標(biāo) 記語(yǔ)言/存在推論語(yǔ)言(DARPA Agent Markup Language/Ontology Inference Language,DAML+OIL)”來(lái)考慮問(wèn)題跟蹤程序 RDF 語(yǔ)句的模式。DAML+OIL 是 W3C 規(guī)范的重要擴(kuò)展和改進(jìn)。對(duì) RDFS 和 DAML+OIL 有些熟悉是有用的,盡管我會(huì)對(duì)在我的示例和討論中所運(yùn)用的大部分概念進(jìn)行介 紹。

那只代表了您的類(lèi)

RDFS 和 DAML+OIL 都以資源分類(lèi)為中心。在本專(zhuān)欄的前幾部分中,您可能已經(jīng)注意到問(wèn)題跟蹤程序 RDF 沒(méi)有足夠的分類(lèi)。事實(shí)上,目前為止,它根本沒(méi)有使用過(guò)任何類(lèi)和類(lèi)型。這對(duì) RDF 系統(tǒng)毫無(wú)問(wèn)題。就問(wèn)題跟蹤程序來(lái)說(shuō),由于幾乎任何資源都可以用問(wèn)題來(lái)標(biāo)記 — 而且問(wèn)題幾乎可 以是我們能附加作者、注釋和操作的任何事物 — 所以嚴(yán)格的分類(lèi)可能不自然,而且只會(huì)起阻礙作用。

不過(guò),RDF 的長(zhǎng)處之一是:它不需要那種許多面向?qū)ο螅∣O)語(yǔ)言所要求的嚴(yán)格的分類(lèi)。它關(guān)于類(lèi)和類(lèi)型的概念更一般化,并可以由模型設(shè)計(jì)者來(lái)解釋。類(lèi)可以是您可能要用于資源的任何一種組織的核心。它不必是一個(gè)有條理的樹(shù),如生物的科學(xué)分類(lèi)。例如,在 XML 世界中,“采購(gòu)訂 單”常常作為一個(gè)幾乎不可能標(biāo)準(zhǔn)化的文檔示例(即使想盡辦法使用 XML)使用。這是因?yàn)橛袩o(wú)數(shù)方法可以對(duì) PO 進(jìn)行分類(lèi)、細(xì)分類(lèi)和常規(guī)地設(shè)想。所以特別設(shè)計(jì)了 RDF 來(lái)調(diào)節(jié)這種混亂。

通過(guò)提出了將類(lèi)作為類(lèi)型的自然指示符這一想法,RDFS 引入了一些 OO 開(kāi)發(fā)的世界觀(guān)。確實(shí)有許多 RDF 實(shí)現(xiàn)都遵循這一示例,也許是因?yàn)?OO 技術(shù)近來(lái)已廣受矚目。但是,我認(rèn)為有一點(diǎn)非常重要值得注意:該模式對(duì) RDF 本身來(lái)說(shuō)并不是根本的。

這些都是相當(dāng)深?yuàn)W的概念,因此需要一個(gè)具體的示例。想想電話(huà)號(hào)碼。如果我們要以某種分類(lèi)模式搞清電話(huà)號(hào)碼,那就有許多方法可以考慮:

電話(huà)號(hào)碼是一種號(hào)碼。

電話(huà)號(hào)碼是一種聯(lián)系數(shù)據(jù)。

電話(huà)號(hào)碼是一種資產(chǎn)(詢(xún)問(wèn)那些為保留可以在數(shù)字小鍵盤(pán)上拼出它們商標(biāo)的免費(fèi)電話(huà)號(hào)碼而競(jìng)爭(zhēng)的美國(guó)企業(yè))。

免費(fèi)號(hào)碼是一種電話(huà)號(hào)碼。

傳真號(hào)碼是一種電話(huà)號(hào)碼。

您會(huì)發(fā)現(xiàn)有些典型的層次結(jié)構(gòu)具有 OO 思想顯而易見(jiàn)的特點(diǎn)。您還會(huì)發(fā)現(xiàn)有些重疊和嘗試性的分類(lèi)易于在已建立的 OO 實(shí)踐中導(dǎo)致問(wèn)題。如果您想引發(fā)一次討厭的問(wèn)題,只要向任何一個(gè) OO 開(kāi)發(fā)人員詢(xún)問(wèn)“死亡鉆石”或“不能飛的鳥(niǎo)”。以上,“kind of”常常映射為 OO 概念的“is-a”關(guān)系,而且通常將對(duì)象類(lèi)型定義為 OO 實(shí)現(xiàn)語(yǔ)言的內(nèi)置語(yǔ)義的結(jié)果。

但是,在現(xiàn)實(shí)世界中,存在的類(lèi)型要比類(lèi)多??纯聪铝姓Z(yǔ)句:

501-555-1111 是 Mark 的工作號(hào)碼。

500-555-1234 是 Mark 的家庭號(hào)碼。

使用 500-555-1234 作為 Mark 的緊急聯(lián)系號(hào)碼。

在 555 交換機(jī)以外的地方,必須用 10 位撥號(hào)方式撥打 555-1234。

這些語(yǔ)句都定義了一個(gè)電話(huà)號(hào)碼的特征。它們的分類(lèi)沒(méi)有第一組示例清楚,而且事實(shí)上在 OO 世界觀(guān)中,可以用許多方法(如屬性和關(guān)聯(lián))來(lái)表示它們,而很少使用類(lèi)型化。但是,考慮到人們通常思考此類(lèi)特征的方法,沒(méi)有理由認(rèn)為它們不是與第一組語(yǔ)句差不多的類(lèi)型。很自然地認(rèn)為“工作號(hào)碼是一個(gè)類(lèi)型(type of)的電話(huà)號(hào)碼”,而對(duì)于 501 區(qū)號(hào)內(nèi)的位置,“10 位號(hào)碼”自然就是一個(gè)“類(lèi)型”的電話(huà)號(hào)碼。在 RDF 中,應(yīng)該使用 rdf:type 謂詞來(lái)表示這些特征。事實(shí)上,請(qǐng)考慮 vCard/RDF 提議,它是一個(gè) W3C 注釋?zhuān)航ㄗh從非常流行的 vCard 聯(lián)系規(guī)范模式轉(zhuǎn)換到 RDF。vCard/RDF 使用 rdf:type 來(lái)區(qū)分工作號(hào)碼和家庭號(hào)碼、傳真號(hào)碼和語(yǔ)音號(hào)碼、因特網(wǎng)郵箱和 Lotus Notes 郵箱等。它也將 rdf:type 用在公共 RDFS 含義中:表示在其數(shù)據(jù)模型中的分類(lèi)。

但是,如果以這樣有分歧的方法使用相同的謂詞(rdf:type),不會(huì)產(chǎn)生含糊不清的危險(xiǎn)嗎?我認(rèn)為這種情況要求將 rdf:type 的各種使用細(xì)化,而且 RDFS 最好是引入 rdf:type 的子特性,稱(chēng)為 rdfs:type,如果那太混淆的話(huà),干脆使用 rdfs:classificationType。 同樣地,vCard 可以創(chuàng)建 rdf:type 的子特性,稱(chēng)為 vCard:contactType,來(lái)區(qū)分它所用類(lèi)型的各種概念。

問(wèn)題的計(jì)劃

問(wèn)題跟蹤程序不需要執(zhí)行許多與類(lèi)型化和分類(lèi)有關(guān)的簡(jiǎn)潔操作,但是以上的討論激勵(lì)了這一想法:何不相當(dāng)松散地構(gòu)造類(lèi)型、類(lèi)及其它模式事物呢?在我曾參與的許多 RDF 項(xiàng)目中,為了推敲出這一模式,常會(huì)坐在放著許多面包圈和咖啡因飲料的桌子旁苦思冥想。這是從 OO 開(kāi)發(fā)和關(guān)系 DBMS 世界中借鑒過(guò)來(lái)的一種清教徒般的認(rèn)真。但是,迄今在使用問(wèn)題跟蹤程序時(shí),我甚至在轉(zhuǎn)而同意這一模式之前就已經(jīng)使用了一些實(shí)例。沒(méi)有任何理由可以不這樣做。我們將問(wèn)題附加到任何基于 Web 的資源,并且寫(xiě)出關(guān)于這些問(wèn)題極其松散的語(yǔ)句。

該談?wù)勀J搅?。清?1 是一個(gè) XML 片段,說(shuō)明了一個(gè)問(wèn)題的 RDFS 類(lèi):

清單 1. Issue 類(lèi)


Issue
A problem, suggestion or other matter for action
or discussion relevant to a resource

該代碼聲明了一個(gè)問(wèn)題的內(nèi)聯(lián)(因?yàn)槭褂?ID)RDFS 類(lèi)。注意 label 和 comment — 我想它們是非常重要的,而且在我的實(shí)踐中,我需要每個(gè)定義的資源(特別是模式元素)都有這兩者。label 尤其重要,因?yàn)橹悄?RDF 工具能夠使用它們?yōu)橘Y源提供用戶(hù)友好的名稱(chēng),而不是難看的 URI。

清單 2. Author 類(lèi)以及 issue 和 author 特性


Author
A person raising or posting an issue


issue
Associate an issue with its resource



author
Associate an issue with whoever posted it





這里,我們定義了特性 issue。range 語(yǔ)句聲明任何有 issue 謂詞的語(yǔ)句的賓語(yǔ),其 rdf:type 必須為 Issue。我們沒(méi)有對(duì)這種語(yǔ)句(應(yīng)為 domain 語(yǔ)句)的主語(yǔ)做任何這樣的限制,因此實(shí)際上,任何資源都可以有 issue 謂詞,這是我們的意圖。用 domain 和 range 定義了 author 特性,該特性成為 Dublin Core 中“creator”元數(shù)據(jù)元素的子特性。這意味著任何有 author 特性的 issue 都自動(dòng)聲明還有 dc:creator 特性。這是 一個(gè)普通而有用的技術(shù),在這種情況下意味著熟悉 Dublin Core 的代理軟件將在一定程度上能夠處理我們的問(wèn)題跟蹤程序元數(shù)據(jù),而不會(huì)有任何問(wèn)題。這一訣竅其實(shí)是語(yǔ)義的 Web 基礎(chǔ)的一部分。

如果此時(shí)您已經(jīng)回到實(shí)例數(shù)據(jù)以與我們正在構(gòu)建的模式進(jìn)行比較,則可能正在迷惑:“但是,這與我們一直在使用的實(shí)例并不匹配呀?!崩?,我們有實(shí)例:

清單 3. 以前實(shí)例中的代碼片段





這好象違反了我們?cè)O(shè)置的約束,因?yàn)闆](méi)有將 ID i2001030423 的資源的 rdf:type 聲明為 Issue,也沒(méi)有將 ID“uogbuji”的資源的 rdf:type 聲明為 Author。

是否真的違反了模式實(shí)際上可能取決于我們?nèi)绾谓忉屇J?。最常?jiàn)的解釋是:如果在模型中沒(méi)有語(yǔ)句滿(mǎn)足約束的條件(如 domain 或 range),則該模型是不一致的 — 通常是一個(gè)錯(cuò)誤情況。這被稱(chēng)為 RDF 模式的一個(gè)限制性角色。它也是有時(shí)稱(chēng)為“封閉世界”假設(shè)的一部分,因?yàn)樵诓樵?xún) 時(shí),它不考慮任何模型中不明白的事物。

但是,有另一個(gè)不太常用但非常有趣的方法。在本文中定義的約束之一宣稱(chēng):如果某個(gè)資源有 author 特性,則它的 rdf:type 必須是 Issue。那么,就可以根據(jù) i2001030423 資源上存在所說(shuō)的特性推理出它必定有所需的類(lèi)型。簡(jiǎn)而言之,處理器可以有效地生成滿(mǎn)足約束的語(yǔ)句。這被稱(chēng)為 RDF 模式的一個(gè)生成性或推斷性作用。這近似于人們?nèi)绾翁幚韺?shí)際世界的變遷,因而也近似于語(yǔ)義的 Web 后面功能強(qiáng)大的想法。但是,有了這一功能,也帶來(lái)了知識(shí)表示方面的棘手缺陷。

在此學(xué)到的最重要的教訓(xùn)是:即使我們從原型 RDF 實(shí)例開(kāi)始,并且逐步建立了一個(gè)乍看好象我們之前的努力都是無(wú)效的模式,但是所有這一切都是對(duì)的。多虧 RDF 的寬宏大量(我不會(huì)隨便用這個(gè)詞),所以一切都是對(duì)的。作為一個(gè)經(jīng)驗(yàn)豐富的建模者/設(shè)計(jì)者,我必須說(shuō)這一能力和靈活性是 RDF 基本優(yōu)勢(shì)之一,也是它很難被按傳統(tǒng) OO 和關(guān)系思考的人所掌握的原因之一。

結(jié)束語(yǔ)

我們已經(jīng)到達(dá)這一部分的結(jié)尾,但是我希望您會(huì)發(fā)現(xiàn)在我們進(jìn)行的過(guò)程中介紹和討論重要的建模概念是有用的。如果是我剛開(kāi)始學(xué)習(xí)可擴(kuò)展元數(shù)據(jù),我會(huì)很感謝有這樣的過(guò)程。在本專(zhuān)欄的下一部分中,我們將使 RDFS 形式的問(wèn)題跟蹤 程序模式更趨完美,還會(huì)討論這一模式的 DAML 形式。

參考資料

Pierre-Antoine Champin 編寫(xiě)了一份極好的 RDF Tutorial,其中也介紹了 RDFS。

RDFS 規(guī)范實(shí)際上仍只是 W3C 的備選建議。最近的 RDFCore 活動(dòng)很可能促成它的最終完成。

Dave Beckett 制作了一份方便有用的 RDF 和 RDFS 概念的參考。

有許多好的資料可供進(jìn)一步的學(xué)習(xí),包括 An Extensible Approach for Modeling Ontologies in RDF(S),這篇文章討論了使用 RDFS 進(jìn)行存在論的建模,包括公理建模(例如,象“所有人都會(huì)死”這樣的一般陳述)。

還有 Walter W. Chang 寫(xiě)的 W3C 注釋?zhuān)?/FONT>A Discussion of the Relationship Between RDF-Schema and UML。

www-rdf-interest 上的這一公告也值得一看,它總結(jié)了 Graham Klyne 和 Stephen Cranefield 之間的私人交流信息,包括對(duì) UML 和 RDF 建模相交部分的一些見(jiàn)解。

關(guān)于作者

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

瀏覽:知識(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:07    編輯:泛普軟件 · 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在線(xiàn)咨詢(xún)