国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      Xml文檔的語(yǔ)義感知處理的制作方法

      文檔序號(hào):6455924閱讀:197來(lái)源:國(guó)知局
      專利名稱:Xml文檔的語(yǔ)義感知處理的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及對(duì)XML數(shù)據(jù)的處理。
      背景技術(shù)
      可擴(kuò)展標(biāo)記語(yǔ)言(XML)是計(jì)算機(jī)產(chǎn)業(yè)中被廣泛接受的用于數(shù)據(jù)和文 檔的標(biāo)準(zhǔn)。XML描述并提供諸如文件或數(shù)據(jù)分組之類的數(shù)據(jù)體(在此稱 作XML文檔或其片斷)的結(jié)構(gòu)。XML標(biāo)準(zhǔn)提供這樣的標(biāo)簽,其限定被稱 作XML要素的XML實(shí)體的部分。每個(gè)XML要素可以包含一個(gè)或多個(gè)名 稱一值對(duì),該名稱一值對(duì)稱作屬性。提供以下的XML片斷A來(lái)對(duì)XML 進(jìn)行說(shuō)明。
      片斷FA
      <book>My book
      (publication publisher="Doubleday,,
      date= "January,,></publication>
      <Author〉Mark Berry</Author>
      <Author〉Jane Murray</Author> </book>
      通過(guò)開(kāi)始標(biāo)簽和相應(yīng)的結(jié)束標(biāo)簽來(lái)限定XML要素。例如,程序段 (segment) A包含開(kāi)始標(biāo)簽〈Author〉和結(jié)束標(biāo)簽々Author〉來(lái)限定要素。 要素間的數(shù)據(jù)被稱作要素的內(nèi)容。在該要素的情況下,要素的內(nèi)容是文本數(shù)據(jù)Mark Berry 。
      在此通過(guò)要素的要素名稱來(lái)指代要素。例如,通過(guò)開(kāi)始和結(jié)束標(biāo)簽 〈publication〉和〈/publication〉來(lái)限定的要素被稱作publication。
      要素內(nèi)容可以包含各種其他類型的數(shù)據(jù),這些數(shù)據(jù)包括屬性和其他要 素。要素book是包含一個(gè)或多個(gè)要素的要素示例。具體地,book包含兩 個(gè)要素publication和author。被另一要素包含的要素稱作該要素的后 代。這樣,要素publication和author是要素book的后代。要素的屬性也 稱作被該要素包含。
      通過(guò)定義包含屬性和后代要素的要素,XML文檔定義了要素、其后 代要素與其屬性之間的分級(jí)樹(shù)關(guān)系。任一組具有這樣的分級(jí)樹(shù)關(guān)系的要素 在此稱作XML文檔或片斷。 節(jié)點(diǎn)樹(shù)模型
      用于XML的重要標(biāo)準(zhǔn)是XQuery 1.0和Xpath 2.0數(shù)據(jù)模型(參見(jiàn)
      2004年7月9日的W3C工作草案,該草案通過(guò)引用結(jié)合于此)。該模型
      的一個(gè)方面是通過(guò)反映XML文檔的分級(jí)本質(zhì)的節(jié)點(diǎn)分級(jí)結(jié)構(gòu)來(lái)表示XML
      文檔。節(jié)點(diǎn)分級(jí)結(jié)構(gòu)由處于多個(gè)等級(jí)的節(jié)點(diǎn)構(gòu)成。每個(gè)等級(jí)處的節(jié)點(diǎn)分別
      鏈接到另一等級(jí)處的一個(gè)或多個(gè)節(jié)點(diǎn)。在最高等級(jí)以下的某一等級(jí)處的每
      個(gè)節(jié)點(diǎn)是上一等級(jí)處的一個(gè)或多個(gè)父節(jié)點(diǎn)的子節(jié)點(diǎn)。處于相同等級(jí)的節(jié)點(diǎn)
      是兄弟節(jié)點(diǎn)。在樹(shù)分級(jí)結(jié)構(gòu)或節(jié)點(diǎn)樹(shù)中,每個(gè)子節(jié)點(diǎn)僅具有一個(gè)父節(jié)點(diǎn),
      但是父節(jié)點(diǎn)可以具有多個(gè)子節(jié)點(diǎn)。在樹(shù)分級(jí)結(jié)構(gòu)中,沒(méi)有鏈接到它的父節(jié)
      點(diǎn)的節(jié)點(diǎn)是根節(jié)點(diǎn),沒(méi)有鏈接到它的子節(jié)點(diǎn)的節(jié)點(diǎn)是葉子節(jié)點(diǎn)。樹(shù)分級(jí)結(jié) 構(gòu)具有單個(gè)根節(jié)點(diǎn)。
      在表示XML文檔的節(jié)點(diǎn)樹(shù)中,節(jié)點(diǎn)可以對(duì)應(yīng)于要素。節(jié)點(diǎn)的子節(jié)點(diǎn)
      對(duì)應(yīng)于包含在該要素中的屬性或另一要素。
      節(jié)點(diǎn)可以與名稱相關(guān)聯(lián)。例如,表示要素book的節(jié)點(diǎn)的名稱是
      book。對(duì)于表示屬性publisher的節(jié)點(diǎn),其名稱是publisher
      為了便于表述,將XML文檔的要素和其他部分稱作表示文檔的節(jié)點(diǎn) 樹(shù)中的節(jié)點(diǎn)。因此,將"My book"稱作名稱為book的節(jié)點(diǎn)的值恰好是一 種表述下述內(nèi)容的便利方式,所述內(nèi)容即與節(jié)點(diǎn)book相關(guān)聯(lián)的要素的值是Mybook。要素、屬性或節(jié)點(diǎn)的名稱在此也被稱作標(biāo)簽名稱。
      XML文檔中節(jié)點(diǎn)的路徑反映了一系列父一子鏈接,該鏈接從XML文 檔中的節(jié)點(diǎn)開(kāi)始,到達(dá)分級(jí)結(jié)構(gòu)中更下游的特定節(jié)點(diǎn)。例如,從XML文 檔的根到節(jié)點(diǎn)publication的路徑是"/book/publication"。 相同語(yǔ)義的標(biāo)簽名稱的增殖(proliferation)
      XML越來(lái)越普遍的一個(gè)原因在于,可描述性地使用由文本構(gòu)成的標(biāo) 簽名稱,并且標(biāo)簽名稱因此用于傳達(dá)要素和屬性的語(yǔ)義。例如,要素 〈address〉用于存儲(chǔ)表示地址的數(shù)據(jù)。
      然而,標(biāo)簽名稱通常由實(shí)現(xiàn)特定應(yīng)用或項(xiàng)目的獨(dú)立個(gè)人或組創(chuàng)建。因 此,在不同的XML文檔中,相同語(yǔ)義可能最終用不同標(biāo)簽名稱來(lái)表示。 雖然存在一些從標(biāo)準(zhǔn)委員會(huì)或產(chǎn)業(yè)工會(huì)形成的XML詞匯,但是這些詞匯 仍占所使用的所有XML標(biāo)簽名稱的很小一部分。標(biāo)簽名稱在不斷增殖, 并且許多不同的標(biāo)簽名稱正在以ad-hoc的方式被創(chuàng)建以表示類似的或相同 的語(yǔ)義。該問(wèn)題在相同公司內(nèi)的組之間以及在不同公司之間出現(xiàn)。
      例如,在一個(gè)XML文檔中可能用要素〈Address〉來(lái)表示地址值,然而 在另一文檔中可能用另一要素〈Addr〉來(lái)表示地址值。此外,這些標(biāo)簽可能 使用不同的名稱空間。例如,公司Cl可能使用〈cl:Address〉而公司C2使 用〈c2:Address、從XML的觀點(diǎn)來(lái)看,他們所定義的這些標(biāo)簽和要素是不 同的并且被假定為表示不同的事物。
      彼此不同然而可以被視為語(yǔ)意上相同的一組標(biāo)簽名稱,在此被稱作語(yǔ) 義等價(jià)異質(zhì)標(biāo)簽名稱、語(yǔ)義等價(jià)名稱。在上述示例中,<Address>、 <Addr>、 <cl:Address〉和〈c2:Address〉具有語(yǔ)義等價(jià)異質(zhì)標(biāo)簽名稱。 數(shù)據(jù)倉(cāng)庫(kù)(repository)內(nèi)的標(biāo)簽名稱增殖
      當(dāng)基于不同詞匯(即,標(biāo)簽名稱組)的XML文檔最終處于單個(gè)數(shù)據(jù) 倉(cāng)庫(kù)(例如XML數(shù)據(jù)庫(kù))中時(shí),存在多種情境。這在數(shù)據(jù)整合、web服 務(wù)和內(nèi)容路由中是常見(jiàn)的。在這些情況下,很難在數(shù)據(jù)倉(cāng)庫(kù)中的XML文 檔集合中建構(gòu)査詢(query)。在上述示例中,在多個(gè)文檔間核對(duì)地址的查 詢需要使用不同標(biāo)簽名稱來(lái)訪問(wèn)不同文檔中的語(yǔ)義等價(jià)要素的復(fù)雜査詢。
      對(duì)這樣的查詢的一種可能建構(gòu)是select... from PurchaseOrder
      where extractvalue (doc, '/PurchaseOrder/Address,) = '1600 Willow St.'
      or extractvalue (doc, '/PurchaseOrder/Addr,) = '1600 Willow St.,;
      顯然,隨著XML集合內(nèi)所使用的XPath的表達(dá)式的復(fù)雜度增大以及 語(yǔ)義等價(jià)標(biāo)簽名稱的個(gè)數(shù)增多,上述方法將越來(lái)越不可行。除查詢復(fù)雜度 外,這樣的査詢具有很差的性能。諸如XPath、 XQuery和XSLT之類的用 于XML的所有標(biāo)準(zhǔn)查詢和變換語(yǔ)言都存在這樣的缺陷。
      用于非葉子節(jié)點(diǎn)的標(biāo)簽名稱增殖使標(biāo)簽名稱增殖的問(wèn)題更加復(fù)雜。如 果雖然祖先節(jié)點(diǎn)的后代具有相同的標(biāo)簽名稱但是祖先具有語(yǔ)義等價(jià)然而不 同的名稱,那么需要不同的路徑字串來(lái)指代后代。例如,若干組XML文 檔包括表示publisher及其address的要素。然而,在一個(gè)子集中使用要素 〈publisher〉然而在另一子集中使用要素〈publishing company〉。 二者都包含 后代要素〈address〉、 〈city〉和〈zip〉。雖然對(duì)于這兩個(gè)子集而言使用了相同 的標(biāo)簽名稱來(lái)表示語(yǔ)義等價(jià)的后代要素,在子集之間也必須使用不同的 XPath字串來(lái)標(biāo)識(shí)后代要素。例如,為了指代要素〈address、在一個(gè)子集 中使用XPath字串/publisher/address/,而在另一子集中使用XPath字串 /publishing company/address/。
      用于解決標(biāo)簽名稱增殖的另一種方法是將所有的文檔規(guī)范為針對(duì)相同 語(yǔ)義使用相同標(biāo)簽名稱。例如,在XML文檔的集合中,將所有的語(yǔ)義等 價(jià)地址要素更改為〈Address、然后訪問(wèn)XML集合中的地址要素的査詢僅 需要引用一個(gè)標(biāo)簽名稱。該方法的主要缺點(diǎn)是沒(méi)有保留原始文檔的保真 度。
      基于前述討論,需要一種解決標(biāo)簽名稱增殖的改進(jìn)方法。 在該部分中描述的方法可能是被研究過(guò)的方法,但是并非一定是先前 想到了的或研究過(guò)的方法。因此,除非明確指出,不應(yīng)假定在該部分中描 述的任何方法僅是因?yàn)楸话ㄔ谠摬糠种卸灰暈楝F(xiàn)有技術(shù)。


      在附圖的示圖中通過(guò)示例而非通過(guò)限制示出本發(fā)明,在附圖中類似標(biāo)號(hào)指代類似元件,并且其中
      圖1示出根據(jù)本發(fā)明實(shí)施例的基于語(yǔ)義路徑標(biāo)識(shí)符(pathid)的XML 索弓l (index)。
      圖2示出根據(jù)本發(fā)明實(shí)施例的對(duì)查詢的語(yǔ)義感知改寫(xiě)。 圖3示出可以在本發(fā)明實(shí)施例中使用的計(jì)算機(jī)系統(tǒng)。
      具體實(shí)施例方式
      在以下的描述中,出于說(shuō)明的目的,提出了大量具體細(xì)節(jié)以提供對(duì)本 發(fā)明全面的理解。然而,顯然本發(fā)明可以被實(shí)踐而不需要這些具體細(xì)節(jié)。 在其他情況下,以框圖的形式示出為人熟知的結(jié)構(gòu)和設(shè)備以避免不必要地 使本發(fā)明變得晦澀。 概述
      在此描述的是這樣的方法,當(dāng)執(zhí)行"標(biāo)簽名稱操作"時(shí)該方法使得語(yǔ) 義等價(jià)異質(zhì)標(biāo)簽?zāi)軌虮灰暈橄嗤臉?biāo)簽名稱。標(biāo)簽名稱操作是依賴于節(jié)點(diǎn) 標(biāo)簽名稱的操作。標(biāo)簽名稱操作的示例包括計(jì)算利用諸如查詢QA之類的 XPath字串來(lái)引用XML數(shù)據(jù)的査詢。標(biāo)簽名稱操作的另一示例是模式驗(yàn)證 (schema validation),其中XML文檔被判定是否符合XML模式。
      該方法基于這樣的映射,該映射將一組語(yǔ)義等價(jià)標(biāo)簽名稱的每個(gè)標(biāo)簽 名稱映射到"規(guī)范(canonical)標(biāo)簽名稱"。語(yǔ)義等價(jià)標(biāo)簽名稱被分別稱 作規(guī)范標(biāo)簽名稱的同義詞以及彼此的同義詞。好像同義詞與它們所映射的 規(guī)范標(biāo)簽名稱是相同的那樣來(lái)執(zhí)行標(biāo)簽名稱操作。以這種方式來(lái)執(zhí)行標(biāo)簽 名稱操作在此被稱作語(yǔ)義感知處理。
      例如,XML文檔的集合包含如下的地址標(biāo)簽名稱的語(yǔ)義等價(jià)組 Address、 Addr、 cl:Address禾卩c2:Address。
      如下的XML片斷XA將這些語(yǔ)義等價(jià)地址標(biāo)簽名稱映射到規(guī)范標(biāo)簽 名稱Address 。
      片斷XA 〈element name= "Address,,〉 〈synonym name= "Addr,,/>〈synonym name= "cl:Address,7>
      〈synonym name= "c2: Address,V〉 當(dāng)計(jì)算如下的查詢QB時(shí), select... from PurchaseOrder
      where extractvalue (doc,'/ PurchaseOrder/Address,) = '500, 由以下路徑所標(biāo)識(shí)的要素被視為落入查詢QB中所指定的路徑/ PurchaseOrder/Address內(nèi) / PurchaseOrder/Address , / PurchaseOrder/Addr, / PurchaseOrder/c 1: Address,禾口 / PurchaseOrder/c2: Address 。
      將同義詞映射到規(guī)范標(biāo)簽名稱的映射在此被稱作語(yǔ)義映射。對(duì)諸如片 斷A之類的XML文檔或片斷的使用是表示語(yǔ)義映射的一種方式的示例。 本發(fā)明并不局限于表示語(yǔ)義映射的任何特定方式。
      根據(jù)本發(fā)明的一個(gè)實(shí)施例,由XML數(shù)據(jù)倉(cāng)庫(kù)來(lái)執(zhí)行標(biāo)簽名稱操作的 語(yǔ)義感知處理。這里使用的術(shù)語(yǔ)XML數(shù)據(jù)倉(cāng)庫(kù)是存儲(chǔ)XML文檔并管理對(duì) 其的訪問(wèn)的計(jì)算機(jī)系統(tǒng)。具體地,數(shù)據(jù)倉(cāng)庫(kù)是集成軟件組件和計(jì)算資源配 置的組合,該計(jì)算資源配置例如是存儲(chǔ)器、磁盤(pán)存儲(chǔ)器、計(jì)算機(jī)和用于在 處理器上執(zhí)行集成軟件組件的節(jié)點(diǎn)上的進(jìn)程,該軟件和計(jì)算資源的組合專 用于管理對(duì)XML文檔的存儲(chǔ)和訪問(wèn)。通常,數(shù)據(jù)倉(cāng)庫(kù)用于代表發(fā)出訪問(wèn) 或操作XML文檔的查詢的客戶端來(lái)存儲(chǔ)和訪問(wèn)XML文檔。由數(shù)據(jù)倉(cāng)庫(kù)所 處理的査詢符合諸如XML查詢語(yǔ)言("XQuery")和XML路徑語(yǔ)言 ("XPath")之類的XML標(biāo)準(zhǔn)。在1.0版的XML路徑語(yǔ)言(XPath) (1999年11月16日的W3C推薦規(guī)范)中描述了 XPath,該文獻(xiàn)通過(guò)引 用被結(jié)合于此。在XQuery 1.0和XPath 2.0 (W3C候選推薦規(guī)范,2005年 11月3日)中描述了 XPath 2.0和XQuery 1.0,該文獻(xiàn)通過(guò)引用被結(jié)合于 此。
      路徑標(biāo)識(shí)符和索引
      根據(jù)本發(fā)明的一個(gè)實(shí)施例,XML數(shù)據(jù)倉(cāng)庫(kù)使用語(yǔ)義路徑標(biāo)識(shí)符索弓l。路徑標(biāo)識(shí)符是XML文檔內(nèi)從一節(jié)點(diǎn)到另一節(jié)點(diǎn)的路徑的標(biāo)識(shí)符。
      XML文檔中節(jié)點(diǎn)的路徑反映了從XML文檔中的節(jié)點(diǎn)到分級(jí)結(jié)構(gòu)中更下游 的特定節(jié)點(diǎn)的一系列父一子鏈接。路徑通過(guò)路徑表達(dá)式來(lái)表示,路徑表達(dá) 式通常是表示路徑中節(jié)點(diǎn)名稱的級(jí)聯(lián)的字串。例如,從XML文檔D2的根 到節(jié)點(diǎn)Publication的路徑通過(guò)路徑表達(dá)式"/Book/Publication"來(lái)表示。
      節(jié)點(diǎn)名稱可能很長(zhǎng)。為了縮短路徑表達(dá)式的長(zhǎng)度,并且為了減小存儲(chǔ) 路徑表達(dá)式所需的存儲(chǔ)量,可以使用路徑標(biāo)識(shí)符來(lái)替代基于名稱的路徑表 達(dá)式。
      路徑標(biāo)識(shí)符由節(jié)點(diǎn)標(biāo)識(shí)符(node-id)代碼組成,節(jié)點(diǎn)標(biāo)識(shí)符代碼被用 來(lái)替代節(jié)點(diǎn)名稱。在路徑標(biāo)識(shí)符中,存在用于基于名稱的路徑表達(dá)式的每 個(gè)相應(yīng)節(jié)點(diǎn)名稱的節(jié)點(diǎn)標(biāo)識(shí)符代碼。
      出于說(shuō)明的目的,考慮以下兩個(gè)XML文檔
      文檔Dl
      <Purchase Order〉
      <Addr>10 Main St</Address〉 </Purchase Order〉
      文檔D2
      <Purchase Order〉
      <Address>500 Oracle Pkwy</Addr> </Purchase Order〉
      節(jié)點(diǎn)標(biāo)識(shí)符代碼12、 23和24分別被指定給節(jié)點(diǎn)PurchaseOrder、 Addr 和Address 。這樣,路徑"/Purchase Order/Addr "的路徑標(biāo)識(shí)符是 "/12/23";路徑"/Purchase Order/Address"的路徑標(biāo)識(shí)符是"/12/24"。 進(jìn)一步地,路徑標(biāo)識(shí)符自身可以被存儲(chǔ)在獨(dú)立的系統(tǒng)路徑標(biāo)識(shí)符表中,該表為整個(gè)路徑指定更短的標(biāo)識(shí)符,將42用于"/12/23"并且將43用于 /丄z/w 。
      路徑標(biāo)識(shí)符可以用于生成索引,該索引通過(guò)路徑標(biāo)識(shí)符來(lái)對(duì)XML文 檔集合中的節(jié)點(diǎn)進(jìn)行索引。因?yàn)槁窂綐?biāo)識(shí)符使用更少的存儲(chǔ)空間,所以路 徑標(biāo)識(shí)符索引對(duì)將基于其路徑而被索引到的節(jié)點(diǎn)進(jìn)行索引,而不會(huì)引起基 于完整節(jié)點(diǎn)名稱的索引路徑表達(dá)式的存儲(chǔ)開(kāi)銷。Index For Accessing XML Data描述了包括路徑表和次級(jí)索引的索引示例。 語(yǔ)義路徑標(biāo)識(shí)符
      語(yǔ)義路徑標(biāo)識(shí)符是基于路徑表達(dá)式的語(yǔ)義等價(jià)物而生成的路徑標(biāo)識(shí) 符。對(duì)于給定的路徑表達(dá)式,其語(yǔ)義等價(jià)的基于名稱的路徑表達(dá)式由規(guī)范 標(biāo)簽名稱而非其同義詞構(gòu)成。同義詞映射被用于確定將同義詞映射到哪個(gè) 規(guī)范標(biāo)簽名稱。語(yǔ)義路徑標(biāo)識(shí)符是基于語(yǔ)義等價(jià)路徑表達(dá)式的節(jié)點(diǎn)標(biāo)識(shí)符 代碼的;規(guī)范標(biāo)簽名稱的節(jié)點(diǎn)標(biāo)識(shí)符代碼被用來(lái)替代規(guī)范標(biāo)簽名稱的同義 詞的節(jié)點(diǎn)標(biāo)識(shí)符代碼。例如,規(guī)范標(biāo)簽名稱ADDRESS的節(jié)點(diǎn)標(biāo)識(shí)符代碼 是25 。這樣,路徑"/Purchase Order/Addr "的語(yǔ)義路徑標(biāo)識(shí)符是
      "/l2/25",并且對(duì)于"/Purchase Order/Address"的語(yǔ)義路徑標(biāo)識(shí)符也是
      "/l2/25"。
      正如路徑標(biāo)識(shí)符一樣,索引可以通過(guò)節(jié)點(diǎn)的語(yǔ)義路徑標(biāo)識(shí)符來(lái)對(duì) XML文檔集合中的節(jié)點(diǎn)進(jìn)行索引。這樣的索引在此稱作語(yǔ)義感知索引。 具有語(yǔ)義等價(jià)路徑的節(jié)點(diǎn)被索引到相同的語(yǔ)義路徑標(biāo)識(shí)符,即語(yǔ)義索引的 可用于優(yōu)化查詢并從具有語(yǔ)義等價(jià)異質(zhì)名稱的節(jié)點(diǎn)取回XML數(shù)據(jù)的方 面。在XML數(shù)據(jù)倉(cāng)庫(kù)的背景下來(lái)說(shuō)明這是如何完成的,XML數(shù)據(jù)倉(cāng)庫(kù)包 括針對(duì)存儲(chǔ)和查詢XML文檔而配置和/或增強(qiáng)的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)服務(wù)器。 數(shù)據(jù)倉(cāng)庫(kù)/數(shù)據(jù)庫(kù)服務(wù)器上的XML存儲(chǔ)
      根據(jù)一個(gè)實(shí)施例,XML數(shù)據(jù)倉(cāng)庫(kù)由針對(duì)存儲(chǔ)和査詢XML文檔而配置 和/或增強(qiáng)的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)服務(wù)器構(gòu)成。在這樣的數(shù)據(jù)庫(kù)服務(wù)器中, XML文檔可以被存儲(chǔ)在表的一行中,并且XML文檔的節(jié)點(diǎn)存儲(chǔ)在該行中 的各列中。整個(gè)的XML文檔或其片斷也可以存儲(chǔ)在一列中的lob (大對(duì) 象)中。XML文檔也可以作為數(shù)據(jù)庫(kù)中對(duì)象的分級(jí)結(jié)構(gòu)被存儲(chǔ);每個(gè)對(duì)象是對(duì)象類的實(shí)例并且存儲(chǔ)XML文檔的一個(gè)或多個(gè)要素。對(duì)象類例如定 義與要素相對(duì)應(yīng)的結(jié)構(gòu),并且包括對(duì)表示要素的直接后代的對(duì)象的引用或
      指針。數(shù)據(jù)庫(kù)系統(tǒng)中保存XML值的表和/或?qū)ο笤诖朔Q作基本表或?qū)ο蟆?br> 對(duì)象一關(guān)系數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行這樣的查詢,其至少部分地符合諸如
      XQuery/XPath之類的XML標(biāo)準(zhǔn)以及諸如SQL/XML標(biāo)準(zhǔn)之類的其他標(biāo)準(zhǔn) (參見(jiàn)INCITS/ISO/IEC 9075-14:2003,該文獻(xiàn)通過(guò)引用被結(jié)合于此)。 出于展示的目的,將通過(guò)參考數(shù)據(jù)庫(kù)服務(wù)器形式的數(shù)據(jù)倉(cāng)庫(kù)并且通過(guò) 參考由這樣的數(shù)據(jù)庫(kù)服務(wù)器用于存儲(chǔ)XML數(shù)據(jù)的基本數(shù)據(jù)結(jié)構(gòu)來(lái)說(shuō)明本 發(fā)明的實(shí)施例,該數(shù)據(jù)庫(kù)服務(wù)器包括針對(duì)存儲(chǔ)和查詢XML文檔而配置和/ 或增強(qiáng)的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)服務(wù)器。然而,本發(fā)明的實(shí)施例并不局限于這樣 的數(shù)據(jù)倉(cāng)庫(kù)。 索引
      根據(jù)一個(gè)實(shí)施例,數(shù)據(jù)庫(kù)服務(wù)器維護(hù)對(duì)XML文檔集合進(jìn)行索引的 "邏輯索引"。邏輯索引可以包含協(xié)同地用于訪問(wèn)另一數(shù)據(jù)體(例如一個(gè) 或多個(gè)XML文檔的組)的多個(gè)結(jié)構(gòu)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,邏輯索 引在此被稱作XML索引,并且包括路徑表,該路徑表包含關(guān)于XML文檔 集合中節(jié)點(diǎn)的分級(jí)結(jié)構(gòu)的信息并且可以包含節(jié)點(diǎn)值。邏輯索引可以包括其 他索引,這些其他索引包括對(duì)路徑表進(jìn)行索引的有序索引。有序索引包含 基于索引鍵而被排序了的條目。
      圖1示出根據(jù)一個(gè)實(shí)施例的XML索引的路徑表102。路徑表包含關(guān)于 XML文檔的集合的分級(jí)信息。通過(guò)參考文檔Dl和D2來(lái)示出路徑表 102。
      路徑表102包括列RID (R標(biāo)識(shí)符)、LOCATOR (定位符)、 VALUE (值)、ORDERKEY (命令鍵)、PATHID (路徑標(biāo)識(shí)符)和 SEMANTIC PATHID (語(yǔ)義路徑標(biāo)識(shí)符)。路徑表102中的行各自對(duì)應(yīng)于 包括文檔Dl和D2的XML文檔集合中的節(jié)點(diǎn)。列RID包括行的行標(biāo)識(shí) 符。對(duì)于路徑表102中特定行的節(jié)點(diǎn),行標(biāo)識(shí)符標(biāo)識(shí)基本表中包含該節(jié)點(diǎn) 的行。路徑表102的一組條目標(biāo)識(shí)行Rl,其將文檔Dl的節(jié)點(diǎn)保存在LOB 列中。條目103對(duì)應(yīng)于文檔D1中的節(jié)點(diǎn)/Purchase Order/Addr。路徑表102的另一組條目標(biāo)識(shí)行R2,其包含文檔D2的節(jié)點(diǎn)。條目104對(duì)應(yīng)于文檔 Dl中的節(jié)點(diǎn)/Purchase Order/Address。
      列LOCATOR包含節(jié)點(diǎn)定位符,節(jié)點(diǎn)定位符是指示XML文檔的數(shù)據(jù) 表示中的節(jié)點(diǎn)位置的值。例如,對(duì)于表示XML文檔的文本流,節(jié)點(diǎn)定位 符可以是表示文本流中表示該節(jié)點(diǎn)的文本的開(kāi)始字節(jié)位置的值。作為另一 示例, 一組相關(guān)對(duì)象可以表示XML文檔的節(jié)點(diǎn)。節(jié)點(diǎn)定位符可以是對(duì)表 示該節(jié)點(diǎn)的對(duì)象的引用。
      列VALUE包含節(jié)點(diǎn)的值??商娲兀窂奖砜梢允÷员4婀?jié)點(diǎn)值的 列??梢酝ㄟ^(guò)從節(jié)點(diǎn)定位符所標(biāo)識(shí)的位置取回這些值來(lái)獲得它們。
      列PATHID保存路徑標(biāo)識(shí)符。對(duì)于條目及其各自的節(jié)點(diǎn),列PATHID 保存節(jié)點(diǎn)的路徑標(biāo)識(shí)符。對(duì)于節(jié)點(diǎn)條目Purchase/Order/Addr, PATHID保 存值"12/23"。對(duì)于條目Purchase/Order/Address , PATHID保存值 "12/24"。
      歹!j SEMANTIC PATHID保存語(yǔ)義路徑標(biāo)識(shí)符。對(duì)于條目及其各自的 節(jié)點(diǎn),SEMANTIC PATHID保存節(jié)點(diǎn)的語(yǔ)義路徑標(biāo)識(shí)符。因?yàn)?Purchase/Order/Addr和Purchase/Order/Address具有語(yǔ)義等價(jià)路徑,所以列 SEMANTIC PATHID中它們各自的語(yǔ)義路徑標(biāo)識(shí)符是相同的,即 "12/25"。
      針對(duì)標(biāo)簽名稱操作注冊(cè)語(yǔ)義映射
      用戶可以針對(duì)XML文檔的集合向數(shù)據(jù)倉(cāng)庫(kù)注冊(cè)語(yǔ)義映射,從而使數(shù) 據(jù)倉(cāng)庫(kù)根據(jù)所注冊(cè)的語(yǔ)義映射,以語(yǔ)義感知的方式對(duì)XML文檔執(zhí)行標(biāo)簽 名稱操作。根據(jù)一個(gè)實(shí)施例,注冊(cè)在創(chuàng)建語(yǔ)義感知索引的過(guò)程期間發(fā)生。 例如,為了創(chuàng)建語(yǔ)義索引,用戶向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出DDL ("數(shù)據(jù)定義語(yǔ) 言")命令以創(chuàng)建用于XML文檔集合的XML索引。該命令涉及由數(shù)據(jù)庫(kù) 服務(wù)器所存儲(chǔ)的、表示語(yǔ)義映射的XML文檔。響應(yīng)于接收到命令,數(shù)據(jù) 庫(kù)服務(wù)器執(zhí)行命令以基于所注冊(cè)的語(yǔ)義映射來(lái)創(chuàng)建語(yǔ)義感知索引。數(shù)據(jù)庫(kù) 服務(wù)器隨后基于并根據(jù)語(yǔ)義映射來(lái)執(zhí)行標(biāo)簽名稱操作。當(dāng)文檔被添加到通 過(guò)語(yǔ)義感知索引而進(jìn)行索引的XML集合時(shí),該索引根據(jù)語(yǔ)義映射而被維 護(hù)。對(duì)査詢的語(yǔ)義感知改寫(xiě)
      圖2示出查詢改寫(xiě)操作,其中數(shù)據(jù)庫(kù)服務(wù)器改寫(xiě)查詢QP以使得查詢 以語(yǔ)義感知的方式被計(jì)算。
      用戶針對(duì)包括XML文檔Dl和D2的XML文檔集合發(fā)出査詢QP。査 詢QP包括具有參數(shù)值'SEMATIC一AWARE,的extractvalue函數(shù),該參 數(shù)值HEMATIC—AWARE'指定了査詢QP將以語(yǔ)義感知的方式被評(píng)估。 諸如査詢計(jì)算之類的語(yǔ)義感知處理可以以各種方式被指示;本發(fā)明并不局 限于任何特定的方式。語(yǔ)義感知處理可以在整個(gè)系統(tǒng)范圍內(nèi)被指定;例 如,用戶可以指定針對(duì)XML文檔集合所發(fā)出的所有査詢都應(yīng)當(dāng)經(jīng)過(guò)語(yǔ)義 感知處理。語(yǔ)義感知處理可以在會(huì)話層面上被指定,例如通過(guò)用戶與數(shù)據(jù) 庫(kù)服務(wù)器建立會(huì)話,或者通過(guò)如憑借査詢QP而進(jìn)行了說(shuō)明的顯性査詢參 數(shù)。
      因?yàn)槠蝀A已經(jīng)作為針對(duì)XML集合的語(yǔ)義映射而被注冊(cè)到了數(shù)據(jù) 庫(kù)服務(wù)器,所以語(yǔ)義感知改寫(xiě)基于該語(yǔ)義映射和路徑表102。
      在步驟200,查詢QP被改寫(xiě)為查詢QP',該查詢QP'查找與 extmctvahie函數(shù)所提供的路徑的語(yǔ)義等價(jià)路徑標(biāo)識(shí)符相匹配的條目。語(yǔ)義 等價(jià)路徑標(biāo)識(shí)符是'12/25'。該語(yǔ)義等價(jià)路徑標(biāo)識(shí)符是基于針對(duì)XML集 合所注冊(cè)的語(yǔ)義映射而生成的。應(yīng)注意,即使文檔內(nèi)的實(shí)際路徑是 /PurchaseOrder/Addr (而非/PurchaseOrder/Address),也通過(guò)查詢QP,來(lái)選 出文檔D2。 其他實(shí)施例
      如之前所提到的,所描述的方法可應(yīng)用于各種形式的標(biāo)簽名稱操作, 并且并不局限于查詢計(jì)算或求值。標(biāo)簽名稱操作的另一示例是模式驗(yàn)證。 模式驗(yàn)證確定XML文檔是否符合XML模式。
      XML模式定義特定類型的XML文檔的結(jié)構(gòu)。例如,XML模式可以 指定XML文檔中所包含要素的名稱,XML文檔中所包含要素之間的分級(jí) 關(guān)系,以及XML文檔中所包含值的類型。管理XML模式的標(biāo)準(zhǔn)包括 XML Schema, Part 0, Part 1, Part 2, W3C Recommendation, 2 May 2001 (該 文獻(xiàn)的內(nèi)容通過(guò)引用被結(jié)合于此),XMLSchemaPartl: Structures, SecondEdition, W3C Recommendation 28 October 2004 (該文獻(xiàn)的內(nèi)容通過(guò)引用被 結(jié)合于此),以及XML Schema Part 2: Data Types, Second Edition, W3C Recommendation 28 October 2004 (該文獻(xiàn)的內(nèi)容通過(guò)引用被結(jié)合于此)。
      在語(yǔ)義感知模式驗(yàn)證的情況下,與XML模式中所定義的節(jié)點(diǎn)具有語(yǔ) 義等價(jià)名稱的特定節(jié)點(diǎn)被視為相同節(jié)點(diǎn),即使該特定節(jié)點(diǎn)的真實(shí)名稱與由 模式所定義的節(jié)點(diǎn)的不同?;谥T如由片斷XA所表示的語(yǔ)義映射之類的 語(yǔ)義映射來(lái)確定語(yǔ)義等價(jià)物。
      例如,模式可以定義XML文檔包含作為〈purchase order〉的子要素的 要素々ddress、在不進(jìn)行語(yǔ)義感知處理的情況下,文檔Dl因?yàn)榘煌?的然而語(yǔ)義等價(jià)的要素〈AddP而不被視為符合XML模式。在進(jìn)行語(yǔ)義感 知處理的情況下,文檔D1被視為符合XML模式,因?yàn)榛谡Z(yǔ)義映射,要 素〈Addr〉被視為等同于〈Address〉。
      硬件概述
      圖3是示出其上可以實(shí)現(xiàn)本發(fā)明實(shí)施例的計(jì)算機(jī)系統(tǒng)300的框圖。計(jì) 算機(jī)系統(tǒng)300包括總線302或者用于傳送信息的其他通信機(jī)制,以及與總 線302耦合用于處理信息的處理器304。計(jì)算機(jī)系統(tǒng)300還包括耦合到總 線302用于存儲(chǔ)信息和待由處理器304執(zhí)行的指令的主存儲(chǔ)器306,例如 隨機(jī)存取存儲(chǔ)器(RAM)或其他的動(dòng)態(tài)存儲(chǔ)設(shè)備。主存儲(chǔ)器306還可以用 于在執(zhí)行待由處理器304執(zhí)行的指令期間存儲(chǔ)臨時(shí)變量或其他中間信息。 計(jì)算機(jī)系統(tǒng)300還包括耦合到總線302用于為處理器304存儲(chǔ)靜態(tài)信息和 指令的只讀存儲(chǔ)器(ROM) 308或者其他的靜態(tài)存儲(chǔ)設(shè)備。諸如磁盤(pán)或光 盤(pán)之類的存儲(chǔ)設(shè)備310被設(shè)置并耦合到總線302用于存儲(chǔ)信息和指令。
      計(jì)算機(jī)系統(tǒng)300可以經(jīng)由總線302耦合到用于向計(jì)算機(jī)用戶顯示信息 的、諸如陰極射線管(CRT)之類的顯示器312。包括字母數(shù)字和其他鍵 的輸入設(shè)備314被耦合到總線302用于向處理器304傳送信息和命令選 擇。另一種類型的用戶輸入設(shè)備是用于向處理器304傳送方向信息和命令 選擇的并且用于控制光標(biāo)在顯示器312上的移動(dòng)的、諸如滑鼠、軌跡球或 光標(biāo)方向鍵之類的光標(biāo)控制器316。輸入設(shè)備通常在兩個(gè)軸(第一軸(例如X)和第二軸(例如y))上具有兩級(jí)自由度,這使得設(shè)備能夠在平面 上指定位置。
      本發(fā)明涉及對(duì)用于實(shí)現(xiàn)在此所描述的技術(shù)的計(jì)算機(jī)系統(tǒng)300的使用。 根據(jù)本發(fā)明的一個(gè)實(shí)施例,由計(jì)算機(jī)系統(tǒng)300響應(yīng)于處理器304執(zhí)行主存 儲(chǔ)器306中所包含的一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序列來(lái)執(zhí)行那些技術(shù)。 這樣的指令可以從諸如存儲(chǔ)設(shè)備310之類的另一計(jì)算機(jī)可讀介質(zhì)被讀入到 主存儲(chǔ)器306中。執(zhí)行主存儲(chǔ)器306中所包含的指令序列使處理器304執(zhí) 行在此所描述的處理步驟。在替代實(shí)施例中,可以使用硬連線電路來(lái)替代 軟件指令的組合從而實(shí)現(xiàn)本發(fā)明。因此,本發(fā)明的實(shí)施例并不局限于硬件 電路和軟件的任何特定組合。
      這里使用的術(shù)語(yǔ)"機(jī)器可讀介質(zhì)"指參與提供使機(jī)器以特定方式進(jìn)行 操作的數(shù)據(jù)的任何介質(zhì)。在一個(gè)通過(guò)使用計(jì)算機(jī)系統(tǒng)300來(lái)實(shí)現(xiàn)的實(shí)施例 中,例如在向處理器304提供待執(zhí)行的指令時(shí)涉及了各種機(jī)器可讀介質(zhì)。 這樣的介質(zhì)可以采取各種形式,包括但并不局限于非易失性介質(zhì)、易失性 介質(zhì)和傳輸介質(zhì)。非易失性介質(zhì)例如包括諸如存儲(chǔ)設(shè)備310之類的光盤(pán)或 磁盤(pán)。易失性介質(zhì)包括諸如主存儲(chǔ)器306之類的動(dòng)態(tài)存儲(chǔ)器。傳輸介質(zhì)包 括同軸線纜、銅線和光纖,其包括含總線302的導(dǎo)線。傳輸介質(zhì)還可以采 用聲波或光波的形式,例如在無(wú)線電波和紅外數(shù)據(jù)通信期間生成的那些 波。所有這些介質(zhì)必須是有形的以使得由介質(zhì)所承載的指令能夠被將指令 讀入到機(jī)器中的物理機(jī)制檢測(cè)到。
      機(jī)器可讀介質(zhì)的常見(jiàn)形式例如包括軟盤(pán)、軟磁盤(pán)、硬盤(pán)、磁帶或任何 其他的磁性介質(zhì),CD-ROM或任何其他的光介質(zhì),穿孔卡片、紙帶或任何 其他的有孔圖案的物理介質(zhì),RAM、 PROM、 EPROM、 FLASH-EPROM 或任何其他的存儲(chǔ)芯片或盒式磁帶,以及如此后所描述的載波或任何其他 的計(jì)算機(jī)可從其進(jìn)行讀取的介質(zhì)。
      各種形式的機(jī)器可讀介質(zhì)可以涉及將一個(gè)或多個(gè)指令的一個(gè)或多個(gè)序 列承載到處理器304用于執(zhí)行。例如,指令可以最初被承載在遠(yuǎn)程計(jì)算機(jī) 的磁盤(pán)上。遠(yuǎn)程計(jì)算機(jī)可以將指令載入其動(dòng)態(tài)存儲(chǔ)器并且通過(guò)使用調(diào)制解 調(diào)器經(jīng)由電話線來(lái)發(fā)送指令。計(jì)算機(jī)系統(tǒng)300本地的調(diào)制解調(diào)器可以接收電話線上的數(shù)據(jù)并且使用紅外發(fā)射機(jī)將數(shù)據(jù)轉(zhuǎn)換為紅外信號(hào)。紅外檢測(cè)器可以接收紅外信號(hào)中所承載的數(shù)據(jù)并且適當(dāng)?shù)碾娐房梢詫?shù)據(jù)置于總線
      302上??偩€302將數(shù)據(jù)承載到主存儲(chǔ)器306,處理器304從主存儲(chǔ)器306取回并執(zhí)行指令。由主存儲(chǔ)器306所接收到的指令可以在被處理器304執(zhí)行之前或之后,選擇性地被存儲(chǔ)在存儲(chǔ)設(shè)備310上。
      計(jì)算機(jī)系統(tǒng)300還包括耦合到總線302的通信接口 318。通信接口318提供耦合到網(wǎng)絡(luò)鏈路320的雙向數(shù)據(jù)通信,網(wǎng)絡(luò)鏈路320連接到本地網(wǎng)絡(luò)322。例如,通信接口 318可以是用于將數(shù)據(jù)通信連接提供到相應(yīng)類型的電話線的集成服務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)卡或者調(diào)制解調(diào)器。作為另一示例,通信接口 318可以是用于將數(shù)據(jù)通信連接提供到兼容的LAN的局域網(wǎng)(LAN)卡。還可以實(shí)現(xiàn)無(wú)線鏈路。在任一種這樣的實(shí)現(xiàn)方式中,通信接口 318發(fā)送并接收承載表示各種類型的信息的數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光信號(hào)。
      網(wǎng)絡(luò)鏈路320通常通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)向其他數(shù)據(jù)設(shè)備提供數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈路320可以通過(guò)本地網(wǎng)絡(luò)322提供到主機(jī)計(jì)算機(jī)324的連接,或者到由因特網(wǎng)服務(wù)供應(yīng)商(ISP) 326所運(yùn)營(yíng)的數(shù)據(jù)設(shè)備的連接。ISP 326接著通過(guò)萬(wàn)維分組數(shù)據(jù)通信網(wǎng)(現(xiàn)在通常稱作"因特網(wǎng)")328來(lái)提供數(shù)據(jù)通信服務(wù)。本地網(wǎng)絡(luò)322和因特網(wǎng)328均使用承載數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光信號(hào)。承載去向和來(lái)自計(jì)算機(jī)系統(tǒng)300的數(shù)字?jǐn)?shù)據(jù)的、通過(guò)各種網(wǎng)絡(luò)的信號(hào)和網(wǎng)絡(luò)鏈路320上的并且通過(guò)通信接口 318的信號(hào)是傳輸信息的載波的示例形式。
      計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)系統(tǒng)300可以通過(guò)(一個(gè)或多個(gè))網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路320和通信接口 318來(lái)發(fā)送消息并且接收包括程序代碼的數(shù)據(jù)。在因特網(wǎng)的示例中,服務(wù)器330可能通過(guò)因特網(wǎng)328、 ISP 326、本地網(wǎng)絡(luò)322和通信接口 318來(lái)發(fā)送所請(qǐng)求的應(yīng)用程序代碼。
      所接收到的代碼當(dāng)其被接收到時(shí)就可以被處理器304執(zhí)行,和/或被存儲(chǔ)在存儲(chǔ)設(shè)備310或其他的非易失性存儲(chǔ)器中用于隨后執(zhí)行。以這種方式,計(jì)算機(jī)系統(tǒng)300可以獲得載波形式的應(yīng)用代碼。
      在前述的說(shuō)明書(shū)中,通過(guò)參考大量具體細(xì)節(jié)描述了本發(fā)明的實(shí)施例,這些具體細(xì)節(jié)可能隨實(shí)現(xiàn)方式的不同而不同。因此,本發(fā)明的本質(zhì)以及申請(qǐng)人所希望的本發(fā)明的本質(zhì)的、唯一且排他的指示物是從本申請(qǐng)發(fā)布的權(quán)利要求組,在這樣的權(quán)利要求發(fā)布的具體形式中,包括任何后續(xù)的修正。在此明確提出的對(duì)這樣的權(quán)利要求中所包含的術(shù)語(yǔ)的任何定義應(yīng)當(dāng)覆蓋如權(quán)利要求中所使用的這些術(shù)語(yǔ)的含義。因此,沒(méi)有明確記載在權(quán)利要求中的任何限制、要素、性質(zhì)、特征、優(yōu)點(diǎn)或?qū)傩远疾粦?yīng)當(dāng)以任何方式來(lái)限制這些權(quán)利要求的范圍。因此,說(shuō)明書(shū)和附圖被視為說(shuō)明性的而非限制性的。
      權(quán)利要求
      1.一種方法,包括由計(jì)算機(jī)實(shí)現(xiàn)的以下步驟存儲(chǔ)將規(guī)范標(biāo)簽名稱映射到第一節(jié)點(diǎn)的第一名稱和與所述第一名稱不同的第二節(jié)點(diǎn)的第二名稱兩者的語(yǔ)義映射,其中,XML文檔的集合包括所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn);并且基于所述語(yǔ)義映射,通過(guò)將所述第一名稱和所述第二名稱視為相同名稱來(lái)執(zhí)行標(biāo)簽名稱操作。
      2. 根據(jù)權(quán)利要求1所述的方法,其中,所述標(biāo)簽名稱操作是計(jì)算針對(duì) 所述XML文檔的集合而發(fā)出的査詢。
      3. 根據(jù)權(quán)利要求1所述的方法,其中,所述標(biāo)簽名稱操作包括模式驗(yàn)證。
      4. 根據(jù)權(quán)利要求1所述的方法,其中,所述標(biāo)簽名稱操作由管理對(duì)所 述XML文檔的集合的訪問(wèn)的數(shù)據(jù)倉(cāng)庫(kù)來(lái)執(zhí)行。
      5. 根據(jù)權(quán)利要求4所述的方法,其中,所述由計(jì)算機(jī)實(shí)現(xiàn)的步驟還包括接收對(duì)表示所述語(yǔ)義映射的數(shù)據(jù)進(jìn)行注冊(cè)的請(qǐng)求;以及 響應(yīng)于所述請(qǐng)求,將所述數(shù)據(jù)作為所述語(yǔ)義映射進(jìn)行注冊(cè)。
      6. —種方法,包括由計(jì)算機(jī)實(shí)現(xiàn)的以下步驟對(duì)于XML文檔的集合中的多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn),基于語(yǔ)義映射來(lái)生 成語(yǔ)義路徑標(biāo)識(shí)符;其中,所述多個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn);其中,第一名稱與所述第一節(jié)點(diǎn)或者所述第一節(jié)點(diǎn)的祖先節(jié)點(diǎn)相關(guān)聯(lián);其中,第二名稱與所述第二節(jié)點(diǎn)或者所述第二節(jié)點(diǎn)的祖先相關(guān)聯(lián); 其中,所述語(yǔ)義映射將規(guī)范標(biāo)簽名稱映射到所述第一名稱并且映射到 所述第二名稱;其中,針對(duì)所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)生成的語(yǔ)義路徑標(biāo)識(shí)符是相 同的。
      7. 根據(jù)權(quán)利要求6所述的方法,其中,所述每個(gè)節(jié)點(diǎn)的語(yǔ)義路徑標(biāo)識(shí)符包括用于所述每個(gè)節(jié)點(diǎn)的路徑中的每 個(gè)節(jié)點(diǎn)名稱的代碼;并且所述第一名稱的代碼和所述第二名稱的代碼是相同的。
      8. 根據(jù)權(quán)利要求6所述的方法,所述由計(jì)算機(jī)實(shí)現(xiàn)的步驟還包括 創(chuàng)建通過(guò)針對(duì)所述多個(gè)節(jié)點(diǎn)而生成的語(yǔ)義路徑標(biāo)識(shí)符來(lái)對(duì)所述多個(gè)節(jié)點(diǎn)進(jìn)行索引的索引。
      9. 根據(jù)權(quán)利要求6所述的方法,其中,由數(shù)據(jù)庫(kù)服務(wù)器來(lái)管理所述XML文檔的集合,所述由計(jì)算機(jī)實(shí)現(xiàn)的步驟還包括接收針對(duì)所述XML文檔的集合而發(fā)出的査詢,所述査詢指定路徑;并且基于所述路徑,數(shù)據(jù)庫(kù)服務(wù)器改寫(xiě)所述查詢以對(duì)所述索弓I進(jìn)行訪問(wèn)。
      10. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在 權(quán)利要求1中所記載的方法。
      11. 一種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多 個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在權(quán)利要求2中所記載的方法。
      12. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在權(quán)利要求3中所記載的方法。
      13. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多 個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在 權(quán)利要求4中所記載的方法。
      14. 一種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多 個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在 權(quán)利要求5中所記載的方法。 _
      15. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多 個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在權(quán)利要求6中所記載的方法。
      16. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多 個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在 權(quán)利要求7中所記載的方法。
      17. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多 個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在權(quán)利要求8中所記載的方法。
      18. —種承載一個(gè)或多個(gè)指令序列的計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多個(gè)指令序列在被一個(gè)或多個(gè)處理器執(zhí)行時(shí)使所述一個(gè)或多個(gè)處理器執(zhí)行在權(quán)利要求9中所記載的方法。
      19. 一種存儲(chǔ)XML文檔的集合中的多個(gè)節(jié)點(diǎn)的索引的計(jì)算機(jī)可讀介質(zhì),其中所述多個(gè)節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)與包括所述每個(gè)節(jié)點(diǎn)的確定路徑相關(guān)聯(lián); 所述索引的每個(gè)條目對(duì)應(yīng)于所述多個(gè)節(jié)點(diǎn)的特定節(jié)點(diǎn),并且使所述節(jié) 點(diǎn)與表示所述特定節(jié)點(diǎn)的確定路徑的語(yǔ)義路徑標(biāo)識(shí)符相關(guān)聯(lián); 所述多個(gè)節(jié)點(diǎn)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn);第一名稱與所述第一節(jié)點(diǎn)或者所述第一節(jié)點(diǎn)的祖先節(jié)點(diǎn)相關(guān)聯(lián); 第二名稱與所述第二節(jié)點(diǎn)或者所述第二節(jié)點(diǎn)的祖先節(jié)點(diǎn)相關(guān)聯(lián)-, 所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)各自的語(yǔ)義路徑標(biāo)識(shí)符是相同的。
      20. 根據(jù)權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),其中, 所述每個(gè)節(jié)點(diǎn)的語(yǔ)義路徑標(biāo)識(shí)符包括用于所述每個(gè)節(jié)點(diǎn)的路徑中的每個(gè)節(jié)點(diǎn)名稱的代碼;并且所述第一名稱和所述第二名稱各自的代碼是相同的。
      全文摘要
      XML文檔的語(yǔ)義感知處理在執(zhí)行依賴于要素名稱的操作(例如查詢和模式驗(yàn)證)時(shí),將具有不同名稱然而在語(yǔ)義上等價(jià)的要素視為相同的要素。語(yǔ)義感知處理基于這樣的映射,其將一組語(yǔ)義等價(jià)名稱的每個(gè)要素名稱映射到“規(guī)范標(biāo)簽名稱”。
      文檔編號(hào)G06F17/30GK101517572SQ200780034627
      公開(kāi)日2009年8月26日 申請(qǐng)日期2007年7月9日 優(yōu)先權(quán)日2006年7月18日
      發(fā)明者拉維·穆?tīng)柕?申請(qǐng)人:甲骨文國(guó)際公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1