欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

全局查詢(xún)相關(guān)屬性的制作方法

文檔序號(hào):6422331閱讀:128來(lái)源:國(guó)知局

專(zhuān)利名稱(chēng)::全局查詢(xún)相關(guān)屬性的制作方法
技術(shù)領(lǐng)域
:本發(fā)明一般涉及數(shù)據(jù)處理,特別涉及使用一個(gè)或多個(gè)相關(guān)標(biāo)準(zhǔn)訪問(wèn)數(shù)據(jù)。
背景技術(shù)
:數(shù)據(jù)庫(kù)是計(jì)算機(jī)化的信息存儲(chǔ)和檢索系統(tǒng)。關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)是使用關(guān)系技術(shù)來(lái)存儲(chǔ)和檢索數(shù)據(jù)的計(jì)算機(jī)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。最普及的數(shù)據(jù)庫(kù)類(lèi)型是關(guān)系數(shù)據(jù)庫(kù),即數(shù)據(jù)被定義成可以以多種不同方式對(duì)其進(jìn)行重新組織和訪問(wèn)的表式數(shù)據(jù)庫(kù)。與特定架構(gòu)無(wú)關(guān),在DBMS中,請(qǐng)求實(shí)體(例如,應(yīng)用程序或操作系統(tǒng))通過(guò)發(fā)出數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求來(lái)要求對(duì)指定數(shù)據(jù)庫(kù)的訪問(wèn)。這樣的請(qǐng)求例如可包括簡(jiǎn)單的目錄查詢(xún)請(qǐng)求或事務(wù),以及用來(lái)在數(shù)據(jù)庫(kù)中讀取、改變和添加指定記錄的事務(wù)的組合。這些請(qǐng)求使用高級(jí)查詢(xún)語(yǔ)言如結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)來(lái)創(chuàng)建。示例性地,SQL用來(lái)創(chuàng)建用于從數(shù)據(jù)庫(kù),如國(guó)際商業(yè)機(jī)器公司(IBM)的DB2、Microsoft的SQLServer以及來(lái)自O(shè)racle、Sybase和ComputerAssociates的數(shù)據(jù)庫(kù)產(chǎn)品獲得信息和更新數(shù)據(jù)庫(kù)的交互式查詢(xún)。術(shù)語(yǔ)“查詢(xún)”是指一組用于從所存儲(chǔ)的數(shù)據(jù)庫(kù)檢索數(shù)據(jù)的命令。查詢(xún)采取讓編程人員和程序選擇、插入、更新、找出數(shù)據(jù)位置等等的命令語(yǔ)言的形式。當(dāng)針對(duì)存儲(chǔ)在數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)庫(kù)中的信息構(gòu)造復(fù)雜的查詢(xún)時(shí),經(jīng)常期望基于公共屬性使作為查詢(xún)的數(shù)據(jù)實(shí)體相關(guān)。例如,可基于以下發(fā)生的所有實(shí)體或事件使數(shù)據(jù)實(shí)體相關(guān)(i)在給定時(shí)間點(diǎn)或在給定時(shí)間范圍內(nèi)發(fā)生;(ii)相互同時(shí)或者在給定時(shí)間間隔內(nèi)發(fā)生;(iii)在可以多種不同方式定界的相同地點(diǎn)發(fā)生(例如,相同街道地址、城市、縣、州、郵政編碼或國(guó)家);(iv)當(dāng)正被討論的個(gè)人或項(xiàng)目為給定年齡或者在給定年齡范圍內(nèi)時(shí)發(fā)生;以及(v)當(dāng)與正被討論的所有數(shù)據(jù)實(shí)體相關(guān)聯(lián)的年齡相同時(shí)發(fā)生。構(gòu)造這樣的復(fù)雜查詢(xún)的典型方法涉及以附加謂詞(predicate)擴(kuò)增查詢(xún),以把作為查詢(xún)的每個(gè)數(shù)據(jù)實(shí)體的公共相關(guān)屬性的邏輯包括在內(nèi)。不幸的是,該方法要求較深入地理解所涉及數(shù)據(jù)和作為查詢(xún)的特定數(shù)據(jù)實(shí)體的物理關(guān)系(例如,數(shù)據(jù)實(shí)體是否支持時(shí)間、年齡或地點(diǎn)的概念)。作為例子,考慮對(duì)于識(shí)別被發(fā)現(xiàn)其肝酶級(jí)別高于特定閾值并且其接受了醫(yī)治肝異常的手術(shù)的目前60歲或更大的男性感興趣的用戶(hù)。采用SQL,對(duì)應(yīng)的查詢(xún)可采取查詢(xún)1的形式。SOL查詢(xún)1SELECTASTValue,Diagnostics,SurgeryTypeFROMDemographics,TestResults,SurgeryRecordWHEREGender=″M″ANDYEAR(CURRENT_DATE-BirthDate)>=60ANDASTValue>30ANDSurgeryType=″Liver″現(xiàn)在假定用戶(hù)希望窄化所返回的數(shù)據(jù),以?xún)H包括該人是在三十日內(nèi)接受了測(cè)試和治療的那些情況。如查詢(xún)2所示,這可通過(guò)以附加的謂詞擴(kuò)展SQL查詢(xún)1以選擇在相同時(shí)間范圍內(nèi)發(fā)生的測(cè)試和手術(shù)事件來(lái)完成。SOL查詢(xún)2SELECTASTValue,Diagnostics,SurgeryTypeFROMDemographics,TestResults,SurgeryRecordWHEREGender=″M″ANDYEAR(CURRENT_DATE-BirthDate)>=60ANDASTValue>30ANDSurgeryType=″Liver″ANDDAYS(SurgeryDate-TestDate)<=30在另一情況下,用戶(hù)可能希望識(shí)別具有相同的標(biāo)準(zhǔn)組合的人,但是將結(jié)果限于當(dāng)接受測(cè)試和治療時(shí)其年齡在40和50之間的那些人。如查詢(xún)3所示,這將需要將不同的謂詞集添加到基本查詢(xún)。SQL查詢(xún)3SELECTASTValue,Diagnostics,SurgeryTypeFROMDemographics,TestResults,SurgeryRecordWHEREGender=″M″ANDYEAR(CURRENT_DATE-BirthDate)>=60ANDASTValue>30ANDSurgeryType=″Liver″ANDYEAR(SurgeryDate-BirthDate)>=40ANDYEAR(SurgeryDate-BirthDate)<=50ANDYEAR(TestDate-BirthDate)>=40ANDYEAR(TestDate-BirthDate)<=50前述例子示出,雖然基本查詢(xún)?cè)诿糠N情況下保持不變,但是添加附加的謂詞來(lái)實(shí)現(xiàn)由查詢(xún)檢查的實(shí)體之間的期望相關(guān)。結(jié)果,為訪問(wèn)期望數(shù)據(jù)而施加在最終用戶(hù)上的負(fù)擔(dān)是相當(dāng)重的。因此,需要一種在查詢(xún)內(nèi)實(shí)現(xiàn)相關(guān)邏輯的方式。
發(fā)明內(nèi)容本發(fā)明一般涉及一種用于使用一個(gè)或多個(gè)相關(guān)標(biāo)準(zhǔn)訪問(wèn)數(shù)據(jù)的方法、系統(tǒng)和產(chǎn)品。一個(gè)實(shí)施例提供了一種提供被配置成將查詢(xún)邏輯添加到從由一個(gè)或多個(gè)邏輯字段定義的抽象查詢(xún)生成的查詢(xún)的屬性的方法。該方法包括為特定邏輯字段指定支持多個(gè)相關(guān)屬性中的哪些相關(guān)屬性;以及為特定邏輯字段指定用于計(jì)算所支持的相關(guān)屬性的值的定義。另一個(gè)實(shí)施例提供了一種提供被配置成將查詢(xún)邏輯添加到從由一個(gè)或多個(gè)邏輯字段定義的抽象查詢(xún)生成的查詢(xún)的屬性的方法。該方法包括,針對(duì)多個(gè)邏輯字段中的每一個(gè),為特定邏輯字段指定支持多個(gè)相關(guān)屬性中的哪些相關(guān)屬性;以及針對(duì)多個(gè)邏輯字段中的每一個(gè),為特定邏輯字段指定用于計(jì)算所支持的相關(guān)屬性的值的定義;其中為兩個(gè)不同邏輯字段指定的、用于計(jì)算特定相關(guān)屬性的值的定義中的至少兩個(gè)是不同的。另一個(gè)實(shí)施例提供了一種將查詢(xún)邏輯添加到從由一個(gè)或多個(gè)邏輯字段定義的抽象查詢(xún)生成的查詢(xún)的方法。該方法包括,針對(duì)抽象查詢(xún)的每個(gè)條件構(gòu)建可執(zhí)行查詢(xún)組成部分(contribution);確定抽象查詢(xún)是否包括應(yīng)用到該條件的邏輯字段的多個(gè)相關(guān)標(biāo)準(zhǔn)中的至少一個(gè),其中該多個(gè)相關(guān)標(biāo)準(zhǔn)中的每一個(gè)具有用于計(jì)算值的對(duì)應(yīng)相關(guān)屬性定義,并且其中為給定相關(guān)標(biāo)準(zhǔn)定義至少兩個(gè)不同的對(duì)應(yīng)相關(guān)屬性定義。另一個(gè)實(shí)施例提供了一種包含程序的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)被執(zhí)行時(shí),該程序執(zhí)行將查詢(xún)邏輯添加到從由一個(gè)或多個(gè)邏輯字段定義的抽象查詢(xún)生成的查詢(xún)的操作。該操作包括,針對(duì)抽象查詢(xún)的每個(gè)條件構(gòu)建可執(zhí)行查詢(xún)組成部分;確定抽象查詢(xún)是否包括應(yīng)用到該條件的邏輯字段的多個(gè)相關(guān)標(biāo)準(zhǔn)中的至少一個(gè),其中該多個(gè)相關(guān)標(biāo)準(zhǔn)中的每一個(gè)具有用于計(jì)算值的對(duì)應(yīng)相關(guān)屬性定義,并且其中為給定相關(guān)標(biāo)準(zhǔn)定義至少兩個(gè)不同的對(duì)應(yīng)相關(guān)屬性定義。另一個(gè)實(shí)施例提供了一種計(jì)算機(jī)可讀介質(zhì),其包括存儲(chǔ)在其上的信息,該信息包括查詢(xún)規(guī)范,其包括多個(gè)用于定義抽象查詢(xún)的邏輯字段;為該多個(gè)邏輯字段中的至少一個(gè)指定的至少一個(gè)相關(guān)屬性定義,其中相關(guān)屬性定義包括名稱(chēng)和用于計(jì)算相關(guān)屬性相關(guān)屬性定義的值的定義;以及運(yùn)行時(shí)組件,其可執(zhí)行,以響應(yīng)于接收對(duì)數(shù)據(jù)發(fā)出的抽象查詢(xún)而執(zhí)行操作,其中該抽象查詢(xún)根據(jù)查詢(xún)規(guī)范來(lái)定義,并且以為其指定了該至少一個(gè)相關(guān)屬性定義的該至少一個(gè)邏輯字段來(lái)配置。該操作包括計(jì)算該至少一個(gè)邏輯字段的相關(guān)屬性值。另一個(gè)實(shí)施例提供了一種計(jì)算機(jī)可讀介質(zhì),其包括存儲(chǔ)在其上的信息,該信息包括查詢(xún)規(guī)范,其包括多個(gè)用于定義抽象查詢(xún)的邏輯字段;為該多個(gè)邏輯字段中的至少兩個(gè)指定的多個(gè)相關(guān)屬性定義,其中每個(gè)相關(guān)屬性定義包括名稱(chēng)和用于計(jì)算相關(guān)屬性定義的值的定義;以及運(yùn)行時(shí)組件,其可執(zhí)行,以響應(yīng)于接收對(duì)數(shù)據(jù)發(fā)出的抽象查詢(xún)而執(zhí)行操作,其中該抽象查詢(xún)根據(jù)查詢(xún)規(guī)范來(lái)定義,并且以為其指定了該至少一個(gè)相關(guān)屬性定義的該至少一個(gè)邏輯字段來(lái)配置。該操作包括計(jì)算該至少一個(gè)邏輯字段的相關(guān)屬性值。通過(guò)參考在附圖中示出的本發(fā)明實(shí)施例對(duì)上面簡(jiǎn)要概述的本發(fā)明進(jìn)行更具體的描述,可以詳細(xì)地理解并獲得實(shí)現(xiàn)本發(fā)明上述特性的方式。然而,要注意的是,附圖僅示出本發(fā)明的典型實(shí)施例,因此其不被認(rèn)為是限制其范圍,相反,本發(fā)明可以包括其它等效的實(shí)施例。圖1是計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例;圖2A是本發(fā)明一個(gè)實(shí)施例的軟件組件的邏輯/物理視圖;圖2B是抽象查詢(xún)和數(shù)據(jù)存儲(chǔ)庫(kù)(repository)抽象的邏輯視圖;圖3A-C是示出運(yùn)行時(shí)(runtime)組件的操作的流程圖;以及圖4是示出運(yùn)行時(shí)組件的操作的流程圖。具體實(shí)施例方式介紹本發(fā)明一般涉及一種用于訪問(wèn)數(shù)據(jù)的系統(tǒng)、方法和產(chǎn)品。一般而言,通過(guò)以一個(gè)或多個(gè)相關(guān)標(biāo)準(zhǔn)配置的查詢(xún),幫助數(shù)據(jù)訪問(wèn)。相關(guān)標(biāo)準(zhǔn)的存在幫助引入附加的相關(guān)邏輯以將其應(yīng)用到查詢(xún)條件。一般而言,可以考慮基于時(shí)間、物理位置和年齡支持實(shí)體的相關(guān)的相關(guān)標(biāo)準(zhǔn)。在一個(gè)實(shí)施例中,相關(guān)屬性被實(shí)現(xiàn)為數(shù)據(jù)邏輯模型的一部分。邏輯模型在此稱(chēng)作數(shù)據(jù)存儲(chǔ)庫(kù)抽象層,其提供底層數(shù)據(jù)存儲(chǔ)庫(kù)的邏輯視圖。以這種方式,與在物理上表示數(shù)據(jù)的特定方式無(wú)關(guān)地創(chuàng)建數(shù)據(jù)。還提供查詢(xún)抽象層,并且該查詢(xún)抽象層基于數(shù)據(jù)存儲(chǔ)庫(kù)抽象層。運(yùn)行時(shí)組件執(zhí)行抽象查詢(xún)到可針對(duì)特定物理數(shù)據(jù)表示而使用的形式的翻譯。為方便起見(jiàn),這里使用術(shù)語(yǔ)“相關(guān)”來(lái)引用作為數(shù)據(jù)存儲(chǔ)庫(kù)抽象層的一部分定義的查詢(xún)標(biāo)準(zhǔn)和屬性。術(shù)語(yǔ)“相關(guān)”傳達(dá)本發(fā)明的一方面,其中查詢(xún)邏輯可被應(yīng)用到關(guān)于公共實(shí)體(commonentity)的兩個(gè)或更多個(gè)查詢(xún)條件。然而,在另一方面,查詢(xún)邏輯也可被應(yīng)用到僅一個(gè)查詢(xún)條件。從下文可以清楚,優(yōu)點(diǎn)仍將由最終用戶(hù)來(lái)實(shí)現(xiàn),因?yàn)樽罱K用戶(hù)沒(méi)有確定要如何計(jì)算實(shí)體的負(fù)擔(dān)。同樣地,在查詢(xún)條件與例如特定時(shí)間、位置或年齡屬性之間發(fā)生“相關(guān)”(相對(duì)于簡(jiǎn)單地兩個(gè)或更多個(gè)查詢(xún)條件之間的相關(guān))。值得注意的是,相關(guān)屬性作為整體應(yīng)用于查詢(xún),并且將影響與支持特定類(lèi)型的相關(guān)屬性的所有條件字段相關(guān)聯(lián)的數(shù)據(jù)選擇邏輯。本發(fā)明的一個(gè)實(shí)施例被實(shí)現(xiàn)為與計(jì)算機(jī)系統(tǒng),例如圖1所示和下面所述的計(jì)算機(jī)系統(tǒng),一起使用的程序產(chǎn)品。該程序產(chǎn)品的程序定義這些實(shí)施例的功能(包括這里所述的方法),并且可以包含在各種信號(hào)承載介質(zhì)上。示例性信號(hào)承載介質(zhì)包括但不限于(i)永久性地存儲(chǔ)在不可寫(xiě)入存儲(chǔ)介質(zhì)(例如,計(jì)算機(jī)內(nèi)的只讀存儲(chǔ)器裝置,如可由CD-ROM驅(qū)動(dòng)器讀取的CD-ROM盤(pán))上的信息;(ii)存儲(chǔ)在可寫(xiě)入存儲(chǔ)介質(zhì)(例如,磁盤(pán)驅(qū)動(dòng)器內(nèi)的軟盤(pán)或者硬盤(pán)驅(qū)動(dòng)器)上的可變更信息;或者(iii)通過(guò)通信介質(zhì),例如通過(guò)計(jì)算機(jī)或包括無(wú)線通信的電話網(wǎng)絡(luò)傳達(dá)給計(jì)算機(jī)的信息。后面的實(shí)施例具體包括從因特網(wǎng)或其它網(wǎng)絡(luò)下載的信息。當(dāng)承載引導(dǎo)本發(fā)明的功能的計(jì)算機(jī)可讀指令時(shí),這些信號(hào)承載介質(zhì)表示本發(fā)明的實(shí)施例。一般而言,被執(zhí)行以實(shí)現(xiàn)本發(fā)明實(shí)施例的例程可以是操作系統(tǒng)或特定應(yīng)用程序、組件、程序、模塊、對(duì)象或指令序列的一部分。本發(fā)明的軟件典型地包括大量指令,它們將被本地計(jì)算機(jī)翻譯成可機(jī)讀格式以及由此的可執(zhí)行指令。另外,程序包括本地駐留于程序或者在存儲(chǔ)器或存儲(chǔ)裝置中找到的變量和數(shù)據(jù)結(jié)構(gòu)。另外,以下描述的各種程序可以根據(jù)在本發(fā)明的特定實(shí)施例中實(shí)現(xiàn)它們的應(yīng)用程序來(lái)標(biāo)識(shí)。然而,應(yīng)當(dāng)理解,下面任何特定的術(shù)語(yǔ)僅是為了方便起見(jiàn)而使用的,因此本發(fā)明不應(yīng)當(dāng)局限于僅在由這樣的術(shù)語(yǔ)標(biāo)識(shí)和/或暗示的任何特定應(yīng)用程序中使用。環(huán)境的物理視1示出可實(shí)現(xiàn)本發(fā)明實(shí)施例的連網(wǎng)系統(tǒng)100的方框圖。一般而言,連網(wǎng)系統(tǒng)100包括客戶(hù)端(例如用戶(hù)的)計(jì)算機(jī)102(示出了三個(gè)這樣的客戶(hù)端計(jì)算機(jī)102)和至少一個(gè)服務(wù)器104(一個(gè)這樣的服務(wù)器104)。客戶(hù)端計(jì)算機(jī)102和服務(wù)器計(jì)算機(jī)104通過(guò)網(wǎng)絡(luò)126連接。一般而言,網(wǎng)絡(luò)126可以是局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。在特定實(shí)施例中,網(wǎng)絡(luò)126是因特網(wǎng)。客戶(hù)端計(jì)算機(jī)102包括通過(guò)總線130連接到存儲(chǔ)器112、存儲(chǔ)裝置114、輸入裝置116、輸出裝置119和網(wǎng)絡(luò)接口裝置118的中央處理單元(CPU)110。輸入裝置116可以是向客戶(hù)端計(jì)算機(jī)102提供輸入的任何裝置。例如,可以使用鍵盤(pán)、小鍵盤(pán)、光筆、觸摸屏、跟蹤球或語(yǔ)音識(shí)別單元、音頻/視頻播放器等等。輸出裝置119可以是向用戶(hù)提供輸出的任何裝置,例如任何傳統(tǒng)顯示屏。雖然與輸入裝置116分開(kāi)示出,但是可以組合輸出裝置119和輸入裝置116。例如,可以使用具有集成觸摸屏的顯示屏、具有集成鍵盤(pán)的顯示器或者與文本語(yǔ)音轉(zhuǎn)換器組合的語(yǔ)音識(shí)別單元。網(wǎng)絡(luò)接口裝置118可以是被配置成允許通過(guò)網(wǎng)絡(luò)126在客戶(hù)端計(jì)算機(jī)102和服務(wù)器計(jì)算機(jī)104之間進(jìn)行網(wǎng)絡(luò)通信的任何出/入(entry/exit)裝置。例如,網(wǎng)絡(luò)接口裝置118可以是網(wǎng)絡(luò)適配器或其它網(wǎng)絡(luò)接口卡(NIC)。存儲(chǔ)裝置114優(yōu)選地是直接訪問(wèn)存儲(chǔ)裝置(DASD)。雖然它被示出為單個(gè)單元,但是它可以是固定和/或可移動(dòng)存儲(chǔ)裝置,如固定盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、可移動(dòng)存儲(chǔ)卡或光學(xué)存儲(chǔ)裝置的組合。存儲(chǔ)器112和存儲(chǔ)裝置114可以是跨越多個(gè)初級(jí)和次級(jí)存儲(chǔ)裝置的一個(gè)虛擬地址空間的一部分。存儲(chǔ)器112優(yōu)選地是大得足以保存本發(fā)明的必要程序和數(shù)據(jù)結(jié)構(gòu)的隨機(jī)存取存儲(chǔ)器。雖然存儲(chǔ)器112被示出為單個(gè)實(shí)體,但是應(yīng)當(dāng)理解,存儲(chǔ)器112實(shí)際上可包括多個(gè)模塊,并且存儲(chǔ)器112可存在于從高速寄存器和高速緩沖存儲(chǔ)器到較低速但較大的DRAM芯片的多個(gè)級(jí)別。示例性地,存儲(chǔ)器112包含操作系統(tǒng)124。可優(yōu)選使用的示例性操作系統(tǒng),包括Linux和Microsoft(微軟)的Windows。更一般地,可使用任何支持這里公開(kāi)的功能的操作系統(tǒng)。存儲(chǔ)器112還被示出為包含瀏覽器程序122,當(dāng)在CPU110上執(zhí)行時(shí),提供對(duì)在各個(gè)服務(wù)器104之間導(dǎo)航并且定位一個(gè)或多個(gè)服務(wù)器104上的網(wǎng)絡(luò)地址的支持。在一個(gè)實(shí)施例中,瀏覽器程序122包括基于萬(wàn)維網(wǎng)的圖形用戶(hù)界面(GUI),其允許用戶(hù)顯示超文本標(biāo)記語(yǔ)言(HTML)信息。然而,更一般地,瀏覽器程序122可以是能夠呈現(xiàn)從服務(wù)器計(jì)算機(jī)104傳輸?shù)男畔⒌娜魏纬绦?優(yōu)先地基于GUI)。服務(wù)器計(jì)算機(jī)104在物理上可以以類(lèi)似于客戶(hù)端計(jì)算機(jī)102的方式布置。從而,服務(wù)器計(jì)算機(jī)104被一般性地示出為包括通過(guò)總線136相互耦接的CPU130、存儲(chǔ)器132、以及存儲(chǔ)裝置134。存儲(chǔ)器132可以是大得足以保存位于服務(wù)器計(jì)算機(jī)104上的必要程序和數(shù)據(jù)結(jié)構(gòu)的隨機(jī)存取存儲(chǔ)器。服務(wù)器計(jì)算機(jī)104一般處于駐留在存儲(chǔ)器132中的所示操作系統(tǒng)138的控制之下。操作系統(tǒng)138的例子包括IBMOS/400、UNIX、MicrosoftWindows等等。更一般地,可使用任何支持這里所述的功能的操作系統(tǒng)。存儲(chǔ)器132還包括一個(gè)或多個(gè)應(yīng)用程序140和抽象查詢(xún)接口146。應(yīng)用程序140和抽象查詢(xún)接口146是這樣的軟件產(chǎn)品,其包括在不同的時(shí)候駐留在計(jì)算機(jī)系統(tǒng)100中的不同存儲(chǔ)器和存儲(chǔ)裝置中的多條指令。當(dāng)由服務(wù)器104中的一個(gè)或多個(gè)處理器130讀取和執(zhí)行時(shí),應(yīng)用程序140和抽象查詢(xún)接口146使計(jì)算機(jī)系統(tǒng)100執(zhí)行對(duì)于執(zhí)行實(shí)施本發(fā)明的各方面的步驟或元素所需的步驟。應(yīng)用程序140(并且更一般地,任何請(qǐng)求實(shí)體,包括操作系統(tǒng)138,以及處于最高層的用戶(hù))對(duì)數(shù)據(jù)庫(kù)(例如,數(shù)據(jù)庫(kù)1561...156N,統(tǒng)稱(chēng)作數(shù)據(jù)庫(kù)156)發(fā)出查詢(xún)。示例性地,數(shù)據(jù)庫(kù)156被示出為存儲(chǔ)裝置134中的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的一部分。數(shù)據(jù)庫(kù)156代表任何數(shù)據(jù)集合而與特定物理表示無(wú)關(guān)。作為示例,數(shù)據(jù)庫(kù)156可根據(jù)關(guān)系大綱(schema)(可通過(guò)SQL查詢(xún)來(lái)訪問(wèn))或者根據(jù)XML大綱(可通過(guò)XML查詢(xún)來(lái)訪問(wèn))來(lái)組織。然而,本發(fā)明不限于特定大綱,并且考慮向目前未知的大綱的擴(kuò)展。這里所用的術(shù)語(yǔ)“大綱”一般性地是指數(shù)據(jù)的特定安排。在一個(gè)實(shí)施例中,由應(yīng)用程序140發(fā)出的查詢(xún)根據(jù)與每個(gè)應(yīng)用程序140一起包括的應(yīng)用程序查詢(xún)規(guī)范142來(lái)定義。由應(yīng)用程序140發(fā)出的查詢(xún)可以是預(yù)定義的(即被硬編碼為應(yīng)用程序140的一部分)或者可以響應(yīng)于輸入(例如,用戶(hù)輸入)而生成。在任何情況下,查詢(xún)(這里稱(chēng)作“抽象查詢(xún)”)使用由抽象查詢(xún)接口146定義的邏輯字段來(lái)組合/執(zhí)行。具體地說(shuō),在抽象查詢(xún)中使用的邏輯字段由抽象查詢(xún)接口146的數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148定義。抽象查詢(xún)由運(yùn)行時(shí)組件150執(zhí)行,其中運(yùn)行時(shí)組件150首先將抽象查詢(xún)變換成與包含在DBMS154中的數(shù)據(jù)的物理表示一致的形式。在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148以相關(guān)屬性162配置。相關(guān)屬性162例如可指定可施加在用于定義查詢(xún)條件之間的關(guān)系的邏輯字段上的空間和時(shí)間約束。運(yùn)行時(shí)組件150的相關(guān)算法151用來(lái)施行由相關(guān)屬性162指定的規(guī)則。為此,運(yùn)行時(shí)組件150可維護(hù)包括范圍(span)標(biāo)準(zhǔn)列表170、單獨(dú)(individual)標(biāo)準(zhǔn)列表172和范圍字段列表174的臨時(shí)數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,由用戶(hù)通過(guò)圖形用戶(hù)界面(GUI)指定查詢(xún)的各元素。GUI的內(nèi)容由應(yīng)用程序140生成。在特定實(shí)施例中,GUI內(nèi)容是超文本標(biāo)記語(yǔ)言(HTML)內(nèi)容,其可以通過(guò)瀏覽器程序122在客戶(hù)端計(jì)算機(jī)系統(tǒng)102上呈現(xiàn)。從而,存儲(chǔ)器132包括超文本傳輸協(xié)議(http)服務(wù)器進(jìn)程152(例如,萬(wàn)維網(wǎng)服務(wù)器),其被配置成服務(wù)來(lái)自客戶(hù)端計(jì)算機(jī)102的請(qǐng)求。例如,服務(wù)器進(jìn)程152可響應(yīng)訪問(wèn)示例性地駐留在服務(wù)器104上的數(shù)據(jù)庫(kù)156的請(qǐng)求。對(duì)數(shù)據(jù)庫(kù)156中的數(shù)據(jù)的進(jìn)入客戶(hù)端請(qǐng)求調(diào)用應(yīng)用程序140。當(dāng)由處理器130執(zhí)行時(shí),應(yīng)用程序140使服務(wù)器計(jì)算機(jī)104執(zhí)行實(shí)施本發(fā)明的各方面的步驟或元素,包括訪問(wèn)數(shù)據(jù)庫(kù)156。在一個(gè)實(shí)施例中,應(yīng)用程序140包括多個(gè)小服務(wù)程序,其被配置成構(gòu)建然后由瀏覽器程序122呈現(xiàn)的GUI元素。圖1只是連網(wǎng)的客戶(hù)端計(jì)算機(jī)102和服務(wù)器計(jì)算機(jī)104的一種硬件/軟件配置。本發(fā)明的實(shí)施例可應(yīng)用于任何同等的硬件配置,而與計(jì)算機(jī)系統(tǒng)是否是復(fù)雜的多用戶(hù)計(jì)算設(shè)備、單用戶(hù)工作站或者沒(méi)有其自己的非易失性存儲(chǔ)裝置的網(wǎng)絡(luò)設(shè)備無(wú)關(guān)。此外,應(yīng)當(dāng)理解,雖然引用了特定標(biāo)記語(yǔ)言,包括HTML,但是本發(fā)明不限于特定語(yǔ)言、標(biāo)準(zhǔn)或版本。從而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,本發(fā)明可適用于其它標(biāo)記語(yǔ)言以及非標(biāo)記語(yǔ)言,并且本發(fā)明也適用于特定標(biāo)記語(yǔ)言的將來(lái)改變以及目前未知的其它語(yǔ)言。同樣地,圖1所示的http服務(wù)器進(jìn)程152僅是示例性的,并且可以考慮被配置成支持任何已知和未知協(xié)議的其它實(shí)施例。環(huán)境的邏輯/運(yùn)行時(shí)視2A-2B示出本發(fā)明的各組件的示例性關(guān)系視圖200。請(qǐng)求實(shí)體(例如,應(yīng)用程序140之一)發(fā)出由請(qǐng)求實(shí)體的各自應(yīng)用程序查詢(xún)規(guī)范142定義的查詢(xún)202。所得到的查詢(xún)202在此一般性地稱(chēng)作“抽象查詢(xún)”,因?yàn)樵摬樵?xún)根據(jù)抽象(即邏輯)字段而非采用對(duì)DBMS154中的底層物理數(shù)據(jù)實(shí)體的直接引用來(lái)組合。結(jié)果,可以定義與所使用的特定底層數(shù)據(jù)表示無(wú)關(guān)的抽象查詢(xún)。在一個(gè)實(shí)施例中,應(yīng)用程序查詢(xún)規(guī)范142可包括用于數(shù)據(jù)選擇的標(biāo)準(zhǔn)(選擇標(biāo)準(zhǔn)204)、用于使查詢(xún)的一個(gè)或多個(gè)(并且更典型地為兩個(gè)或更多個(gè))條件相關(guān)的標(biāo)準(zhǔn)(相關(guān)標(biāo)準(zhǔn)203)和根據(jù)選擇標(biāo)準(zhǔn)204返回的字段的顯式規(guī)范(返回?cái)?shù)據(jù)規(guī)范206)。下面表I示出圖2B所示的抽象查詢(xún)202的詳細(xì)信息。作為示例,抽象查詢(xún)202采用XML來(lái)定義。然而,也可以有利地使用任何其它語(yǔ)言。表I-抽象查詢(xún)示例001<QueryAbstraction>002<Selection>003<Conditionfield=″Diagnosis″operator=″EQ″value=″Anemia″/>004<Conditionfield=″Hemoglobin″operator=″LT″value=″20″005relOperator=″AND″/>006<Correlationattribute=″Age″operator=″GT″value=″40″/>007<Correlationattribute=″Span(Time)″operator=″LT″value=″5″008relOperator=″AND″/>009</Selection>010<Results>011<Fieldname=″FirstName″/>012<Fieldname=″LastName″/>013</Results>014</QueryAbstraction>示例性地,表I所示的抽象查詢(xún)包括選擇規(guī)范(第005-014行)和結(jié)果規(guī)范(第015-019行),其中選擇規(guī)范包含選擇標(biāo)準(zhǔn)。在一個(gè)實(shí)施例中,選擇標(biāo)準(zhǔn)(這里也稱(chēng)作“條件”)包括字段名稱(chēng)(用于邏輯字段)、比較操作符(=、>、<等)以及值表達(dá)式(即字段所比較的)。在一個(gè)實(shí)施例中,結(jié)果規(guī)范是要作為查詢(xún)執(zhí)行的結(jié)果而返回的抽象字段列表。抽象查詢(xún)中的結(jié)果規(guī)范可包括字段名稱(chēng)和排序標(biāo)準(zhǔn)。示例性地,相關(guān)標(biāo)準(zhǔn)是Age(年齡)相關(guān)標(biāo)準(zhǔn)和Span(Time)(范圍(時(shí)間))相關(guān)標(biāo)準(zhǔn)。這些相關(guān)標(biāo)準(zhǔn)均被應(yīng)用到該查詢(xún)的一個(gè)或多個(gè)條件。在本例中,Age相關(guān)標(biāo)準(zhǔn)將附加邏輯添加到用來(lái)選擇特定診斷和測(cè)試結(jié)果值的各個(gè)謂詞。Span(Time)標(biāo)準(zhǔn)將附加邏輯添加到該查詢(xún),作為一個(gè)整體,在這種情況下,僅選擇其診斷和測(cè)試結(jié)果相互在5日內(nèi)的那些病人。作為比較,下面表示與表I的抽象查詢(xún)對(duì)應(yīng)的SQL查詢(xún)。SQL查詢(xún)4SELECIf_name,I_nameFROMpatientWHERE(diag=′Anemia′ANDYEAR(diagdate-birthdate)>40)AND(testval<20ANDYEAR(testdate-birthdate)>40)AND(ABS(DAYS(diagdate-testdate))<5)注意,用戶(hù)具有根據(jù)需要將相關(guān)邏輯應(yīng)用到每個(gè)條件的負(fù)擔(dān)。相反,在本發(fā)明中,相關(guān)標(biāo)準(zhǔn)被應(yīng)用到在數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148中存在其預(yù)定義相關(guān)屬性的每個(gè)條件。下面將更詳細(xì)地描述此點(diǎn)上數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148的各方面。在一個(gè)實(shí)施例中,相關(guān)標(biāo)準(zhǔn)203、選擇標(biāo)準(zhǔn)204以及返回?cái)?shù)據(jù)規(guī)范206均可通過(guò)用戶(hù)界面例如瀏覽器程序122由用戶(hù)指定。為此,用戶(hù)界面可針對(duì)相關(guān)標(biāo)準(zhǔn)203、選擇標(biāo)準(zhǔn)204以及返回?cái)?shù)據(jù)規(guī)范206的每一個(gè),包括單獨(dú)的輸入字段,從而組合抽象查詢(xún)202。由應(yīng)用程序查詢(xún)規(guī)范142規(guī)定且用來(lái)組合抽象查詢(xún)202的邏輯字段由數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148定義。一般而言,數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148暴露(expose)作為邏輯字段集的信息,其中該邏輯字段集可在由應(yīng)用程序140(其可以響應(yīng)于用戶(hù)輸入查詢(xún)條件)發(fā)出的查詢(xún)(例如,抽象查詢(xún)202)內(nèi)使用,以指定數(shù)據(jù)選擇的標(biāo)準(zhǔn)、用于查詢(xún)條件的相關(guān)的標(biāo)準(zhǔn),并指定從查詢(xún)操作返回的結(jié)果數(shù)據(jù)的形式。邏輯字段獨(dú)立于在DBMS154中使用的底層數(shù)據(jù)表示來(lái)定義,從而允許形成與底層數(shù)據(jù)表示松散耦合的查詢(xún)。一般而言,數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148包括多個(gè)字段規(guī)范2081、2082、...(作為示例而示出六個(gè)),其統(tǒng)稱(chēng)為字段規(guī)范208。具體地說(shuō),為可用于組合抽象查詢(xún)的每個(gè)邏輯字段提供字段規(guī)范。在一個(gè)實(shí)施例中,字段規(guī)范208包括邏輯字段名稱(chēng)2101、2102...(統(tǒng)稱(chēng)為字段名稱(chēng)210)和關(guān)聯(lián)的訪問(wèn)方法2121、2122...(統(tǒng)稱(chēng)為訪問(wèn)方法212)。在示例性實(shí)施例中,字段規(guī)范208還包括一個(gè)或多個(gè)范疇(category)名稱(chēng)2161、2162和2163(統(tǒng)稱(chēng)為范疇名稱(chēng)216)。范疇名稱(chēng)關(guān)聯(lián)一組邏輯字段名稱(chēng)。例如,在圖2B中,字段規(guī)范2081和2082是Demographic(人口統(tǒng)計(jì))范疇2161的一部分,字段規(guī)范2083、2084和2085是Diagnostics(診斷)范疇2162的一部分,并且字段規(guī)范2086、2087和2088是Tests(測(cè)試)范疇2162的一部分。然而,范疇的使用僅代表特定實(shí)施例,并且其它實(shí)施例不采用范疇。訪問(wèn)方法212將邏輯字段名稱(chēng)關(guān)聯(lián)(映射)到數(shù)據(jù)庫(kù)(例如,數(shù)據(jù)庫(kù)156之一)中的特定物理數(shù)據(jù)表示2141、2142...214N。作為示例,圖2A示出兩個(gè)數(shù)據(jù)表示,即XML數(shù)據(jù)表示2141和關(guān)系數(shù)據(jù)表示2142。然而,也可以考慮表示已知或未知的任何其它數(shù)據(jù)表示的物理數(shù)據(jù)表示214N。在一個(gè)實(shí)施例中,單個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148包含兩個(gè)或更多個(gè)物理數(shù)據(jù)表示214的字段規(guī)范(與關(guān)聯(lián)的訪問(wèn)方法)。在可選實(shí)施例中,為每個(gè)單獨(dú)的物理數(shù)據(jù)表示214提供不同的單個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148。在另一個(gè)實(shí)施例中,提供多個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148,其中每個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148暴露相同底層物理數(shù)據(jù)(其可包括一個(gè)或多個(gè)物理數(shù)據(jù)表示214)的不同部分。以這種方式,單個(gè)應(yīng)用程序140可以由多個(gè)用戶(hù)同時(shí)使用,以訪問(wèn)相同的底層數(shù)據(jù),其中由各自的數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148確定向應(yīng)用程序暴露的底層數(shù)據(jù)的特定部分。根據(jù)所要支持的不同類(lèi)型的邏輯字段的數(shù)目,考慮任意數(shù)目的訪問(wèn)方法。在一個(gè)實(shí)施例中,提供對(duì)簡(jiǎn)單字段、過(guò)濾字段和組合字段的訪問(wèn)方法。字段規(guī)范2081和2082分別是簡(jiǎn)單字段訪問(wèn)方法2121和2122的例子。簡(jiǎn)單字段被直接映射到底層物理數(shù)據(jù)表示中的特定實(shí)體(例如,映射到給定數(shù)據(jù)庫(kù)表和列的字段)。作為示例,圖2B所示的簡(jiǎn)單字段訪問(wèn)方法2121將邏輯字段名稱(chēng)2101(“FirstName(名)”)映射到名稱(chēng)為“patient(病人)”的表中名稱(chēng)為“f_name”的列。過(guò)濾字段(圖2中未示出例子)標(biāo)識(shí)關(guān)聯(lián)的物理實(shí)體,并且提供用來(lái)定義物理數(shù)據(jù)表示內(nèi)的特定項(xiàng)目子集的規(guī)則。過(guò)濾字段的例子是映射到郵政編碼(ZIPcode)的物理表示、并且將該數(shù)據(jù)僅限于為紐約州定義的那些郵政編碼的NewYorkZIPcode(紐約州郵政編碼)字段。組合訪問(wèn)方法(例如,2131和2132)使用作為訪問(wèn)方法定義的一部分而提供的表達(dá)式,從一個(gè)或多個(gè)物理字段計(jì)算邏輯字段。以這種方式,可以計(jì)算在底層數(shù)據(jù)表示中不存在的信息。一個(gè)例子是通過(guò)將銷(xiāo)售價(jià)格字段乘以銷(xiāo)售稅率而組合的銷(xiāo)售稅字段??梢钥紤],底層數(shù)據(jù)的任何給定數(shù)據(jù)類(lèi)型(例如,日期、十進(jìn)制數(shù)字等)的格式可以變化。從而,在一個(gè)實(shí)施例中,字段規(guī)范208包括類(lèi)型屬性,其反映底層數(shù)據(jù)的格式。然而,在另一個(gè)實(shí)施例中,字段規(guī)范208的數(shù)據(jù)格式不同于關(guān)聯(lián)的底層物理數(shù)據(jù),在這種情況下,訪問(wèn)方法負(fù)責(zé)以由請(qǐng)求實(shí)體采取的適當(dāng)格式返回?cái)?shù)據(jù)。因此,訪問(wèn)方法必須知道采取數(shù)據(jù)的什么格式(即,根據(jù)邏輯字段)以及底層物理數(shù)據(jù)的實(shí)際格式。然后,訪問(wèn)方法可以將底層物理數(shù)據(jù)轉(zhuǎn)換成邏輯字段的格式。作為例子,圖2所示的數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148的字段規(guī)范208表示被映射到在關(guān)系數(shù)據(jù)表示2142中表示的數(shù)據(jù)的邏輯字段。然而,數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148的其它實(shí)例將邏輯字段映射到其它物理數(shù)據(jù)表示,如XML。還可以以相關(guān)屬性(在圖1中統(tǒng)一地作為相關(guān)屬性162示出)配置字段規(guī)范208中的一個(gè)或多個(gè)。例如,Diagnosis(診斷)字段規(guī)范2083包括Age(年齡)相關(guān)屬性2181和Time(時(shí)間)相關(guān)屬性2182,并且TestResult(測(cè)試結(jié)果)字段規(guī)范2086也包括Age(年齡)相關(guān)屬性2181和Time(時(shí)間)相關(guān)屬性2182。應(yīng)當(dāng)注意的是,不是每一個(gè)字段規(guī)范都需要具有相關(guān)屬性。一般地,相關(guān)屬性標(biāo)識(shí)邏輯字段可與其相關(guān)的實(shí)體/事件。在一個(gè)實(shí)施例中,邏輯字段可與時(shí)間(特定時(shí)間點(diǎn)或時(shí)間范圍)、物理位置和年齡相關(guān)。因此,在一個(gè)實(shí)施例中,相關(guān)屬性標(biāo)識(shí)可用來(lái)約束與邏輯字段相關(guān)聯(lián)的數(shù)據(jù)實(shí)例的空間或時(shí)間維數(shù)(dimension)。然而,更一般地,可將相關(guān)屬性定義為考慮在查詢(xún)操作中涉及的各個(gè)實(shí)體的其他特性,例如顏色、重量、體積、長(zhǎng)度、寬度等。從圖2B可以看出,與每個(gè)字段定義相關(guān)聯(lián)的相關(guān)屬性一般包括“Name(名稱(chēng))”和“Fieldref(字段引用)”。Name提供用于根據(jù)對(duì)應(yīng)字段(為其定義相關(guān)屬性)可與什么相關(guān)來(lái)標(biāo)識(shí)相關(guān)屬性的句柄。例如,相關(guān)屬性2181被給予名稱(chēng)“Age(年齡)”,其表示對(duì)應(yīng)邏輯字段可與年齡相關(guān)。在本例中,Age相關(guān)屬性2181和Time相關(guān)屬性2182是“Diagnosis”邏輯字段2103和“TestResult”邏輯字段2106的字段規(guī)范的一部分?!癋ieldref”提供特定邏輯字段的相關(guān)屬性的定義。例如,“Diagnosis”邏輯字段2103的Age相關(guān)屬性2181的“Fieldref”指定稱(chēng)作“AgeAtDiagnosis(診斷時(shí)的年齡)”的定義。在本實(shí)施例中,“AgeAtDiagnosis”是另一個(gè)邏輯字段2105,其也是Diagnostics(診斷)范疇2162的一部分。更具體地說(shuō),如上所定義的那樣,“AgeAtDiagnosis”邏輯字段2105是組合字段。在本例中,組合邏輯字段2105接收DiagnosisDate(診斷日期)和BirthDate(生日日期)作為輸入?yún)?shù),并且獲得這兩個(gè)參數(shù)值之間的差值。以這種方式,Age相關(guān)屬性可采取各種各樣的定義。例如,根據(jù)測(cè)試時(shí)的年齡(Fieldref=“AgeAtTest(測(cè)試時(shí)的年齡)”)定義為邏輯字段TestResult2106指定的Age相關(guān)屬性2181?!癆geAtTest”邏輯字段2108是組合字段,其接收TestDate和BirthDate作為輸入,并且獲得差值,由此計(jì)算測(cè)試時(shí)的年齡。在工作時(shí),當(dāng)發(fā)出以相關(guān)標(biāo)準(zhǔn)配置的抽象查詢(xún)(例如,表I和圖2B的抽象查詢(xún)202所示的抽象查詢(xún))以便執(zhí)行時(shí),相關(guān)算法151采取確定對(duì)其應(yīng)用了相關(guān)標(biāo)準(zhǔn)的每個(gè)條件是否支持相關(guān)標(biāo)準(zhǔn)的步驟。這使用對(duì)應(yīng)數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148中的信息來(lái)完成,其中數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148為由抽象查詢(xún)202引用的邏輯字段定義必要的元數(shù)據(jù)和訪問(wèn)方法信息。具體地說(shuō),檢查數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148的相關(guān)屬性162,以查看對(duì)于抽象查詢(xún)的指定邏輯字段支持哪些相關(guān)標(biāo)準(zhǔn)。對(duì)于支持相關(guān)標(biāo)準(zhǔn)的每個(gè)邏輯字段,將附加謂詞添加到被生成以表示抽象查詢(xún)的可執(zhí)行查詢(xún)語(yǔ)句。對(duì)應(yīng)于圖2B所示的示例性數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148可參照表II作進(jìn)一步的說(shuō)明。作為示例,數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件使用XML來(lái)定義。然而,可以有利地使用任何其它語(yǔ)言。表II-數(shù)據(jù)存儲(chǔ)庫(kù)抽象示例001<DataRepository>002<Categoryname=″Demographic″>003<Fieldqueryable=″Yes″displayable=″Yes″name=″FirstName″>004<AccessMethod>005<SimplecolumnName=″f_name″tableName=″patient″/>006</AccessMethod>007<TypebaseType=″char″/>008</Field>009<Fieldqueryable=″Yes″displayable=″Yes″name=″LastName″>010<AccessMethod>011<SimplecolumnName=″l_name″tableName=″patient″/>012</AccessMethod>013<TypebaseType=″char″/>014</Field>015<Fieldqueryable=″Yes″displayable=″Yes″name=″BirthDate″>016<AccessMethod>017<SimplecolumnName=″b_date″tableName=″patient″/>018</AccessMethod>019<TypebaseType=″date″/>020</Field>021</Category>022<Categoryname=″Diagnostics″>023<Fieldqueryable=″Yes″displayable=″Yes″name=″Diagnosis″>024<AccessMethod>025<SimplecolumnName=″diag″tableName=″patient″/>026</AccessMethod>027<Correlationname=″Age″fieldRef=″AgeAtDiagnosis″/>028<Correlationname=″Time″fieldRef=″DiagnosisDate″/>029<TypebaseType=″char″/>030</Field>031<Fieldqueryable=″Yes″displayable=″Yes″name=″DiagnosisDate″>032<AccessMethod>033<SimplecolumnName=″diagdate″tableName=″patient″/>034</AccessMethod>035<TypebaseType=″date″/>036</Field>037<Fieldqueryable=″Yes″displayable=″Yes″name=″AgeAtDiagnosis″>038<AccessMethod>039<Composed>040<Composition>YEAR(Field(DiagnosisDate)-Field(BirthDate))041</Composition>042</Composed>043</AccessMethod>044<TypebaseType=″int″/>045</Field>046</Category>047<Categoryname=″Tests″>048<Fieldqueryable=″Yes″displayable=″Yes″name=″Hemoglobin″>049<AccessMethod>050<SimplecolumnName=″testval″tableName=″patient″/>051</AccessMethod>052<Correlationname=″Age″fieldRef=″AgeAtTest″/>053<Correlationname=″Time″fieldRef=″TestDate″/>054<TypebaseType=″int″/>055</Field>056<Fieldqueryable=″Yes″displayable=″Yes″name=″TestDate″>057<AccessMethod>058<SimplecolumnName=″testdate″tableName=″patient″/>059</AccessMethod>060<TypebaseType=″date″/>061</Field>062<Fieldqueryable=″Yes″displayable=″Yes″name=″AgeAtTest″>063<AccessMethod>064<Composed>065<Composition>YEAR(Field(TestDate)-Field(BirthDate))066</Composition>067</Composed>068</AccessMethod>069<TypebaseType=″int″/>071</Field>072</Category>073</DataRepository>現(xiàn)在將參照?qǐng)D3描述用于由運(yùn)行時(shí)組件150處理抽象查詢(xún)的一個(gè)實(shí)施例。在運(yùn)行時(shí)組件150接收到抽象查詢(xún)以便處理的情況下,在步驟302進(jìn)入查詢(xún)處理方法300。此外,運(yùn)行時(shí)組件150讀取和解析抽象查詢(xún)的實(shí)例,并且定位各個(gè)選擇標(biāo)準(zhǔn)、相關(guān)標(biāo)準(zhǔn)和期望的結(jié)果字段。在步驟304,針對(duì)抽象查詢(xún)中的每個(gè)相關(guān)標(biāo)準(zhǔn),進(jìn)入并執(zhí)行循環(huán)。在步驟306,運(yùn)行時(shí)組件150確定標(biāo)準(zhǔn)是否是范圍類(lèi)型標(biāo)準(zhǔn),即基于每個(gè)數(shù)據(jù)實(shí)體之間的時(shí)間間隔使數(shù)據(jù)實(shí)體相關(guān)的標(biāo)準(zhǔn)。例如,圖2B所示的抽象查詢(xún)包括相關(guān)標(biāo)準(zhǔn)“Span(Time)<5”,其指定對(duì)其應(yīng)用時(shí)間相關(guān)屬性的抽象查詢(xún)數(shù)據(jù)實(shí)體必須相互在五個(gè)時(shí)間單位(示例性地為日)之內(nèi)。如果(在步驟306)標(biāo)準(zhǔn)是范圍類(lèi)型標(biāo)準(zhǔn),則在步驟308將標(biāo)準(zhǔn)添加到范圍標(biāo)準(zhǔn)列表170(還參見(jiàn)圖1)。然后,方法300返回到步驟304,以開(kāi)始處理下一個(gè)相關(guān)標(biāo)準(zhǔn)。如果(在步驟306)標(biāo)準(zhǔn)不是范圍類(lèi)型標(biāo)準(zhǔn),則在步驟310將標(biāo)準(zhǔn)添加到單獨(dú)標(biāo)準(zhǔn)列表170(還參見(jiàn)圖1)。然后,方法300返回到步驟304,以開(kāi)始處理下一個(gè)相關(guān)標(biāo)準(zhǔn)。一旦抽象查詢(xún)中的每個(gè)相關(guān)標(biāo)準(zhǔn)都被處理,則方法300繼續(xù)到步驟312,其中針對(duì)每個(gè)具有選擇標(biāo)準(zhǔn)的條件進(jìn)入循環(huán)?;叵胍幌?,在一個(gè)實(shí)施例中,條件可包括字段名稱(chēng)(用于邏輯字段)、比較操作符(=、>、<等)以及值表達(dá)式(即字段所比較的)。在步驟314,運(yùn)行時(shí)組件150使用來(lái)自抽象查詢(xún)條件的字段名稱(chēng),在數(shù)據(jù)存儲(chǔ)庫(kù)抽象148中查詢(xún)?cè)撟侄蔚亩x。然后,運(yùn)行時(shí)組件150為正被處理的邏輯字段構(gòu)建(步驟316)可執(zhí)行查詢(xún)組成部分(ExecutableQueryContribution)。如這里所定義的,可執(zhí)行查詢(xún)組成部分是用來(lái)根據(jù)當(dāng)前邏輯字段執(zhí)行數(shù)據(jù)選擇的可執(zhí)行查詢(xún)的一部分。可執(zhí)行查詢(xún)是采用諸如SQL和XMLQuery(查詢(xún))的語(yǔ)言表示的查詢(xún),并且與給定物理數(shù)據(jù)存儲(chǔ)庫(kù)(例如,關(guān)系數(shù)據(jù)庫(kù)或XML存儲(chǔ)庫(kù))的數(shù)據(jù)一致。從而,使用可執(zhí)行查詢(xún)來(lái)從由圖1所示的數(shù)據(jù)庫(kù)156所代表的物理數(shù)據(jù)存儲(chǔ)庫(kù)定位和檢索數(shù)據(jù)。然后,在步驟318將為當(dāng)前字段生成的可執(zhí)行查詢(xún)組成部分添加到可執(zhí)行查詢(xún)語(yǔ)句。在步驟320,運(yùn)行時(shí)組件150確定正被處理的條件的字段是否具有與范圍標(biāo)準(zhǔn)列表170中的相關(guān)標(biāo)準(zhǔn)對(duì)應(yīng)的相關(guān)屬性(即,在數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148中)。如果是,則在步驟322,將字段添加到范圍字段列表174。在一個(gè)實(shí)施例中,為每種類(lèi)型的范圍相關(guān)屬性提供范圍字段列表174(一個(gè)列表用于Span(Time),另一個(gè)用于Span(Location(位置))等)。然而,在另一個(gè)實(shí)施例中,在該步驟創(chuàng)建單個(gè)范圍字段列表,當(dāng)處理單獨(dú)范圍相關(guān)標(biāo)準(zhǔn)(下面描述該處理)時(shí),從該列表選擇字段的子集。然后,方法300返回到步驟312,以開(kāi)始處理下一個(gè)選擇標(biāo)準(zhǔn)條件。然而,如果步驟320被否定回答,則處理繼續(xù)到步驟324,其中運(yùn)行時(shí)組件150確定正被處理的字段是否具有與單獨(dú)標(biāo)準(zhǔn)列表172中的相關(guān)標(biāo)準(zhǔn)對(duì)應(yīng)的相關(guān)屬性(即,在數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148中)。如果否,則處理返回到步驟312。否則,在步驟326,從數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148檢索正被處理的字段的相關(guān)屬性的字段定義。在步驟328,運(yùn)行時(shí)組件150從相關(guān)標(biāo)準(zhǔn)和字段相關(guān)屬性定義構(gòu)建查詢(xún)謂詞。在步驟330,將謂詞添加到可執(zhí)行查詢(xún)。然后,處理返回到步驟312。當(dāng)通過(guò)在步驟312進(jìn)入的循環(huán)處理了每一個(gè)選擇標(biāo)準(zhǔn)條件時(shí),方法300繼續(xù)到步驟332,其中針對(duì)范圍字段列表174中的每個(gè)字段對(duì)(為其定義了相同相關(guān)屬性的字段的無(wú)序排列),進(jìn)入循環(huán)。在步驟334,運(yùn)行時(shí)組件150為該對(duì)中的每個(gè)字段檢索相關(guān)屬性的字段定義(即,來(lái)自數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148)。在步驟336,運(yùn)行時(shí)組件150構(gòu)建用來(lái)計(jì)算每個(gè)字段屬性定義之間的絕對(duì)差值的表達(dá)式(例如,ABS(DAYS(testdate(測(cè)試日期)-diagdate(診斷日期))))。將該表達(dá)式與范圍標(biāo)準(zhǔn)進(jìn)行組合,以形成包括該字段對(duì)的范圍查詢(xún)謂詞(例如,ABS(DAYS(testdate-diagdate))>5)。然后,在步驟340將該謂詞添加到可執(zhí)行查詢(xún),并且針對(duì)范圍字段列表174中的下一個(gè)字段對(duì),處理返回到步驟332。一旦每個(gè)字段對(duì)都被處理,則方法300結(jié)束,并且準(zhǔn)備執(zhí)行查詢(xún)。參照?qǐng)D4描述用于根據(jù)步驟316和步驟328構(gòu)建邏輯字段的可執(zhí)行查詢(xún)組成部分的方法400的一個(gè)實(shí)施例。在步驟402,方法400查詢(xún)與當(dāng)前邏輯字段相關(guān)聯(lián)的訪問(wèn)方法是否是簡(jiǎn)單訪問(wèn)方法。如果是,則基于物理數(shù)據(jù)位置信息構(gòu)建(步驟404)可執(zhí)行查詢(xún)組成部分,然后根據(jù)上述方法300繼續(xù)進(jìn)行處理。否則,處理繼續(xù)到步驟406,以查詢(xún)與當(dāng)前邏輯字段相關(guān)聯(lián)的訪問(wèn)方法是否是過(guò)濾訪問(wèn)方法。如果是,則基于某物理數(shù)據(jù)實(shí)體的物理數(shù)據(jù)位置信息構(gòu)建(步驟408)可執(zhí)行查詢(xún)組成部分。在步驟410,以用于與物理數(shù)據(jù)實(shí)體相關(guān)聯(lián)的子集數(shù)據(jù)的附加邏輯(過(guò)濾選擇)擴(kuò)展可執(zhí)行查詢(xún)組成部分。然后,根據(jù)上述方法300繼續(xù)進(jìn)行處理。如果訪問(wèn)方法不是過(guò)濾訪問(wèn)方法,則處理從步驟406進(jìn)入步驟412,其中方法400查詢(xún)?cè)L問(wèn)方法是否是組合訪問(wèn)方法。如果訪問(wèn)方法是組合訪問(wèn)方法,則在步驟414定位和檢索組合字段表達(dá)式中每個(gè)子字段引用的物理數(shù)據(jù)位置。在步驟416,以組合字段表達(dá)式的物理字段位置信息替代組合字段表達(dá)式的邏輯字段引用,由此生成可執(zhí)行查詢(xún)組成部分。然后,根據(jù)上述方法300繼續(xù)進(jìn)行處理。如果訪問(wèn)方法不是組合訪問(wèn)方法,則處理從步驟412進(jìn)入步驟418。步驟418代表可被考慮為本發(fā)明實(shí)施例的任何其它訪問(wèn)方法類(lèi)型。然而,應(yīng)當(dāng)理解,可以考慮其中實(shí)現(xiàn)少于全部可用訪問(wèn)方法的實(shí)施例。例如,在特定實(shí)施例中,僅使用簡(jiǎn)單訪問(wèn)方法。在另一個(gè)實(shí)施例中,僅使用簡(jiǎn)單訪問(wèn)方法和過(guò)濾訪問(wèn)方法。如前所述,在查詢(xún)條件中引用的邏輯字段將定義相關(guān)屬性和“FieldRef”,其中“FieldRef”標(biāo)識(shí)定義了如何解釋查詢(xún)條件字段的給定相關(guān)屬性的另一個(gè)邏輯字段。使用“被引用”的邏輯字段和與相關(guān)屬性相關(guān)聯(lián)的邏輯執(zhí)行圖4的方法400。例如,如果相關(guān)標(biāo)準(zhǔn)是Age>50并且Test字段包括FieldRef為AgeAtTest的Age的定義,則方法400根據(jù)條件AgeAtTest>50構(gòu)建查詢(xún)謂詞。如上所述,如果邏輯字段指定不同于底層物理數(shù)據(jù)的數(shù)據(jù)格式,則可能有必要執(zhí)行數(shù)據(jù)轉(zhuǎn)換。在一個(gè)實(shí)施例中,當(dāng)根據(jù)方法400構(gòu)建邏輯字段的可執(zhí)行查詢(xún)組成部分時(shí),對(duì)每個(gè)相應(yīng)的訪問(wèn)方法執(zhí)行初始轉(zhuǎn)換。例如,可以作為步驟404、408和416的一部分或者緊接在其后執(zhí)行轉(zhuǎn)換。在步驟322執(zhí)行查詢(xún)之后,執(zhí)行隨后的從物理數(shù)據(jù)格式到邏輯字段格式的轉(zhuǎn)換。當(dāng)然,如果邏輯字段定義的格式與底層物理數(shù)據(jù)相同,則不需要轉(zhuǎn)換。前面例子涉及醫(yī)療領(lǐng)域,并且關(guān)于時(shí)間、位置和年齡說(shuō)明了相關(guān)屬性。然而,本發(fā)明不限于此,并且可考慮向任何數(shù)據(jù)庫(kù)環(huán)境和數(shù)據(jù)類(lèi)型的擴(kuò)展。例如,如上所述,可定義這樣的相關(guān)屬性,其考慮在查詢(xún)操作中涉及的各個(gè)實(shí)體的其他特性,例如顏色、重量、體積、長(zhǎng)度、寬度等??紤]下面可為其定義對(duì)應(yīng)數(shù)據(jù)抽象組件的抽象查詢(xún)(表III)。表III-抽象查詢(xún)示例001<QueryAbstraction>002<Selection>003<Conditionfield=″CarpetType″operator=″EQ″value=″berber″/>004<Conditionfield=″WallpaperPattern″operator=″EQ″value=″floral″005relOperator=″AND″/>006<conditionfield=″PaintFinish″operator=″EQ″value=″satin″/>relOperator=″AND″007/>008<Correlationattribute=″Span(Color)″operator=″LT″value=″10″/>009</Selection>010<Results>011<Fieldname=″CarpetNumber″/>012<Fieldname=″WallpaperNumber″/>013<Fieldname=″PaintNumber″/>014</Results>015</QueryAbstraction>該抽象查詢(xún)被設(shè)計(jì)成基于為地毯類(lèi)型、墻紙圖案和油漆類(lèi)型指定的標(biāo)準(zhǔn)選擇一組地毯、墻紙和油漆組合。假定這里的每個(gè)實(shí)體(地毯、墻紙和油漆)定義了“color(顏色)”的相關(guān)屬性,則相關(guān)條件Span(Color)<10將所選組合限定為在顏色上類(lèi)似的組合。Span(Color)的可能定義將是在紅、綠和藍(lán)含量上彼此在“n”個(gè)單位之內(nèi)的顏色的RGB值。從而,數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148提供各種優(yōu)點(diǎn)。在一方面,通過(guò)定義應(yīng)用程序查詢(xún)規(guī)范和底層數(shù)據(jù)表示之間的松散耦合來(lái)實(shí)現(xiàn)優(yōu)點(diǎn)。不是采用特定表、列和關(guān)系信息對(duì)應(yīng)用程序進(jìn)行編碼,例如使用SQL的情況,而是應(yīng)用程序以更抽象的方式定義數(shù)據(jù)查詢(xún)需求,然后,在運(yùn)行時(shí)將這些需求綁定到特定物理數(shù)據(jù)表示。本發(fā)明的松散查詢(xún)-數(shù)據(jù)耦合使得,即使修改底層數(shù)據(jù)表示或者如果要與相比于在開(kāi)發(fā)請(qǐng)求實(shí)體時(shí)所使用的是全新的物理數(shù)據(jù)表示一起使用請(qǐng)求實(shí)體,請(qǐng)求實(shí)體(例如,應(yīng)用程序)也能夠工作。在修改或重構(gòu)給定物理數(shù)據(jù)表示的情況下,更新對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)庫(kù)抽象,以反映對(duì)底層物理數(shù)據(jù)模型做出的改變。相同的邏輯字段集可供查詢(xún)使用,只是綁定于物理數(shù)據(jù)模型中的不同實(shí)體或位置。結(jié)果,即使對(duì)應(yīng)的物理數(shù)據(jù)模型發(fā)生了重大的改變,針對(duì)抽象查詢(xún)接口而編寫(xiě)的請(qǐng)求實(shí)體也繼續(xù)不變地工作。在與開(kāi)發(fā)請(qǐng)求實(shí)體時(shí)使用相比、與全新的物理數(shù)據(jù)表示一起使用請(qǐng)求實(shí)體的情況下,新的物理數(shù)據(jù)模型可使用相同的技術(shù)(例如,關(guān)系數(shù)據(jù)庫(kù))、但遵循不同的命名策略和組織信息(例如,不同的大綱)來(lái)被實(shí)現(xiàn)。新大綱將包含可使用簡(jiǎn)單、過(guò)濾和組合字段訪問(wèn)方法技術(shù)映射到應(yīng)用程序所需的邏輯字段集的信息??蛇x地,新的物理表示可使用用于表示類(lèi)似信息的可選技術(shù)(例如,使用基于XML的數(shù)據(jù)存儲(chǔ)庫(kù),而非關(guān)系數(shù)據(jù)庫(kù)系統(tǒng))。在任何情況下,通過(guò)提供映射在查詢(xún)中引用的字段與新物理數(shù)據(jù)模型中的位置和物理表示的可選數(shù)據(jù)存儲(chǔ)庫(kù)抽象,被編寫(xiě)成使用抽象查詢(xún)接口的現(xiàn)有請(qǐng)求實(shí)體可以容易地移植成使用新的物理數(shù)據(jù)表示。此外,與抽象查詢(xún)和底層數(shù)據(jù)抽象模型一起使用全局相關(guān)屬性大大簡(jiǎn)化了描述包括高度數(shù)據(jù)相關(guān)和分析的復(fù)雜數(shù)據(jù)查詢(xún)邏輯的任務(wù)。此外,基本數(shù)據(jù)選擇邏輯與相關(guān)邏輯的分離使得有可能快速地再次使用相同的基本查詢(xún),但是采用不同的相關(guān)條件。關(guān)于最終用戶(hù),數(shù)據(jù)存儲(chǔ)庫(kù)抽象消除了與表達(dá)相關(guān)的數(shù)據(jù)查詢(xún)相關(guān)聯(lián)的大部分復(fù)雜性。具體地說(shuō),最終用戶(hù)不再需要擔(dān)心哪些查詢(xún)選擇條件支持給定相關(guān)方案,并且不再具有必須理解如何為在查詢(xún)中涉及的每個(gè)新實(shí)體表達(dá)基于事件和/或基于實(shí)體(例如,基于時(shí)間、面向位置等)的邏輯的負(fù)擔(dān)。雖然數(shù)據(jù)存儲(chǔ)庫(kù)抽象模型的使用提供了這些和其它優(yōu)點(diǎn),但是應(yīng)當(dāng)強(qiáng)調(diào)的是,本領(lǐng)域的技術(shù)人員可以容易地認(rèn)識(shí)到,可以與數(shù)據(jù)存儲(chǔ)庫(kù)抽象組件148分離地實(shí)現(xiàn)相關(guān)屬性的目的和功能。例如,實(shí)施例提供附加的元數(shù)據(jù),以補(bǔ)充由基于SQL的查詢(xún)實(shí)現(xiàn)使用的表和列信息。在這種情況下,給定列的元數(shù)據(jù)將標(biāo)識(shí)諸如Age的相關(guān)屬性和標(biāo)識(shí)如何為在列中表示的實(shí)體計(jì)算年齡的關(guān)聯(lián)SQL查詢(xún)表達(dá)式。然后,SQL查詢(xún)預(yù)處理器可獲取初始SQL查詢(xún)和一個(gè)或多個(gè)相關(guān)條件作為輸入,并且以附加謂詞擴(kuò)增SQL查詢(xún),以考慮所提供的相關(guān)條件。這將通過(guò)掃描對(duì)支持來(lái)自該相關(guān)條件集的相關(guān)屬性的列的引用、并且基于為給定列的特定相關(guān)屬性的定義而定義的查詢(xún)表達(dá)式生成附加的SQLWHERE子句謂詞來(lái)完成。應(yīng)當(dāng)注意的是,這里對(duì)特定值、定義、編程語(yǔ)言和例子的任何引用僅僅為了示例說(shuō)明的目的。從而,本發(fā)明不局限于任何特定說(shuō)明和例子。此外,雖然本發(fā)明的各方面是參照SELECTION(選擇)操作來(lái)描述的,但是也可考慮其它輸入/輸出操作,包括公知的操作,如ADD(添加)、MODIFY(修改)、INSERT(插入)、DELETE(刪除)等。當(dāng)然,特定訪問(wèn)方法可對(duì)抽象查詢(xún)功能的類(lèi)型施加限制,其中可使用利用該特定訪問(wèn)方法的字段來(lái)定義抽象查詢(xún)功能。例如,包括組合訪問(wèn)方法的字段不是MODIFY、INSERT和DELETE的可行目標(biāo)。雖然前文涉及本發(fā)明的多個(gè)實(shí)施例,但是在不脫離本發(fā)明的基本范圍的情況下可以設(shè)計(jì)本發(fā)明的其它和另外實(shí)施例,并且其范圍由所附權(quán)利要求確定。權(quán)利要求1.一種提供被配置成將查詢(xún)邏輯添加到從抽象查詢(xún)生成的查詢(xún)的屬性的方法,該抽象查詢(xún)由一個(gè)或多個(gè)邏輯字段定義,該方法包括為特定邏輯字段指定支持多個(gè)相關(guān)屬性中的哪些相關(guān)屬性;以及為特定邏輯字段指定用于計(jì)算所支持的相關(guān)屬性的值的定義。2.如權(quán)利要求1所述的方法,其中指定支持多個(gè)相關(guān)屬性中的哪些相關(guān)屬性包括為特定邏輯字段指定兩個(gè)或更多個(gè)相關(guān)屬性。3.如權(quán)利要求1所述的方法,其中該值可以是年齡值、時(shí)間值和位置值之一。4.如權(quán)利要求1所述的方法,其中該值可以是顏色值、重量值、體積值、長(zhǎng)度值和寬度值之一。5.一種提供被配置成將查詢(xún)邏輯添加到從抽象查詢(xún)生成的查詢(xún)的屬性的方法,該抽象查詢(xún)由一個(gè)或多個(gè)邏輯字段定義,該方法包括針對(duì)多個(gè)邏輯字段中的每一個(gè),為特定邏輯字段指定支持多個(gè)相關(guān)屬性中的哪些相關(guān)屬性;以及針對(duì)多個(gè)邏輯字段中的每一個(gè),為特定邏輯字段指定用于計(jì)算所支持的相關(guān)屬性的值的定義;其中為兩個(gè)不同邏輯字段指定的、用于計(jì)算特定相關(guān)屬性的值的定義中的至少兩個(gè)是不同的。6.如權(quán)利要求5所述的方法,其中指定支持多個(gè)相關(guān)屬性中的哪些相關(guān)屬性包括為特定邏輯字段指定兩個(gè)或更多個(gè)相關(guān)屬性。7.如權(quán)利要求5所述的方法,其中該值可以是年齡值、時(shí)間值和位置值之一。8.一種將查詢(xún)邏輯添加到從抽象查詢(xún)生成的查詢(xún)的方法,該抽象查詢(xún)由一個(gè)或多個(gè)邏輯字段定義,該方法包括針對(duì)抽象查詢(xún)的每個(gè)條件構(gòu)建可執(zhí)行查詢(xún)組成部分;以及確定抽象查詢(xún)是否包括應(yīng)用于該條件的邏輯字段的多個(gè)相關(guān)標(biāo)準(zhǔn)中的至少一個(gè),其中該多個(gè)相關(guān)標(biāo)準(zhǔn)中的每一個(gè)具有用于計(jì)算值的對(duì)應(yīng)相關(guān)屬性定義,并且其中為給定相關(guān)標(biāo)準(zhǔn)定義至少兩個(gè)不同的對(duì)應(yīng)相關(guān)屬性定義。9.如權(quán)利要求8所述的方法,還包括,如果抽象查詢(xún)包括應(yīng)用于該條件的邏輯字段的多個(gè)相關(guān)標(biāo)準(zhǔn)中的至少一個(gè),則從相關(guān)標(biāo)準(zhǔn)和相關(guān)屬性定義構(gòu)建查詢(xún)謂詞。10.如權(quán)利要求8所述的方法,其中構(gòu)建可執(zhí)行查詢(xún)組成部分包括根據(jù)為該條件的邏輯字段定義的訪問(wèn)方法構(gòu)建查詢(xún)謂詞,并且指定訪問(wèn)物理數(shù)據(jù)的方法。11.如權(quán)利要求8所述的方法,其中該值可以是年齡值、時(shí)間值和位置值之一。12.如權(quán)利要求8所述的方法,還包括確定應(yīng)用于抽象查詢(xún)的兩個(gè)條件的邏輯字段的范圍相關(guān)標(biāo)準(zhǔn);以及構(gòu)建表達(dá)式,用來(lái)計(jì)算為邏輯字段定義的相關(guān)屬性定義所計(jì)算的、并對(duì)應(yīng)于該范圍相關(guān)標(biāo)準(zhǔn)的每個(gè)值之間的差值。13.一種包含程序的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)被執(zhí)行時(shí),該程序執(zhí)行將查詢(xún)邏輯添加到從抽象查詢(xún)生成的查詢(xún)的操作,該抽象查詢(xún)由一個(gè)或多個(gè)邏輯字段定義,該操作包括針對(duì)抽象查詢(xún)的每個(gè)條件構(gòu)建可執(zhí)行查詢(xún)組成部分;以及確定抽象查詢(xún)是否包括應(yīng)用于該條件的邏輯字段的多個(gè)相關(guān)標(biāo)準(zhǔn)中的至少一個(gè),其中該多個(gè)相關(guān)標(biāo)準(zhǔn)中的每一個(gè)具有用于計(jì)算值的對(duì)應(yīng)相關(guān)屬性定義,并且其中為給定相關(guān)標(biāo)準(zhǔn)定義至少兩個(gè)不同的對(duì)應(yīng)相關(guān)屬性定義。14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),還包括,如果抽象查詢(xún)包括應(yīng)用于該條件的邏輯字段的多個(gè)相關(guān)標(biāo)準(zhǔn)中的至少一個(gè),則從相關(guān)標(biāo)準(zhǔn)和相關(guān)屬性定義構(gòu)建查詢(xún)謂詞。15.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中構(gòu)建可執(zhí)行查詢(xún)組成部分包括根據(jù)為該條件的邏輯字段定義的訪問(wèn)方法構(gòu)建查詢(xún)謂詞,并且指定訪問(wèn)物理數(shù)據(jù)的方法。16.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中該值可以是年齡值、時(shí)間值和位置值之一。17.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),還包括確定應(yīng)用于抽象查詢(xún)的兩個(gè)條件的邏輯字段的范圍相關(guān)標(biāo)準(zhǔn);以及構(gòu)建表達(dá)式,用來(lái)計(jì)算為邏輯字段定義的相關(guān)屬性定義所計(jì)算的、并對(duì)應(yīng)于該范圍相關(guān)標(biāo)準(zhǔn)的每個(gè)值之間的差值。18.一種計(jì)算機(jī)可讀介質(zhì),其包括存儲(chǔ)在其上的信息,該信息包括查詢(xún)規(guī)范,其包括多個(gè)用于定義抽象查詢(xún)的邏輯字段;為該多個(gè)邏輯字段中的至少一個(gè)指定的至少一個(gè)相關(guān)屬性定義,其中相關(guān)屬性定義包括名稱(chēng)和用于計(jì)算相關(guān)屬性定義的值的定義;以及運(yùn)行時(shí)組件,其可執(zhí)行以響應(yīng)于接收對(duì)數(shù)據(jù)發(fā)出的抽象查詢(xún)而執(zhí)行操作,其中該抽象查詢(xún)根據(jù)查詢(xún)規(guī)范來(lái)定義,并且以為其指定了該至少一個(gè)相關(guān)屬性定義的該至少一個(gè)邏輯字段來(lái)配置,該操作包括計(jì)算該至少一個(gè)邏輯字段的相關(guān)屬性值。19.如權(quán)利要求18所述的系統(tǒng),還包括多個(gè)映射規(guī)則,其將該多個(gè)邏輯字段映射到數(shù)據(jù)的物理實(shí)體。20.如權(quán)利要求18所述的系統(tǒng),其中該值是年齡值、時(shí)間值和位置值之一。21.一種計(jì)算機(jī)可讀介質(zhì),其包括存儲(chǔ)在其上的信息,該信息包括查詢(xún)規(guī)范,其包括多個(gè)用于定義抽象查詢(xún)的邏輯字段;為該多個(gè)邏輯字段中的至少兩個(gè)指定的多個(gè)相關(guān)屬性定義,其中每個(gè)相關(guān)屬性定義包括名稱(chēng)和用于計(jì)算相關(guān)屬性定義的值的定義;以及運(yùn)行時(shí)組件,其可執(zhí)行以響應(yīng)于接收對(duì)數(shù)據(jù)發(fā)出的抽象查詢(xún)而執(zhí)行操作,其中該抽象查詢(xún)根據(jù)查詢(xún)規(guī)范來(lái)定義,并且以為其指定了該至少一個(gè)相關(guān)屬性定義的該至少一個(gè)邏輯字段來(lái)配置,該操作包括計(jì)算該至少一個(gè)邏輯字段的相關(guān)屬性值。22.如權(quán)利要求20所述的系統(tǒng),其中該值是年齡值、時(shí)間值和位置值之一。23.如權(quán)利要求20所述的系統(tǒng),還包括多個(gè)映射規(guī)則,其將該多個(gè)邏輯字段映射到數(shù)據(jù)的物理實(shí)體。全文摘要公開(kāi)了一種用于訪問(wèn)數(shù)據(jù)的系統(tǒng)、方法和產(chǎn)品。一般而言,通過(guò)以一個(gè)或多個(gè)相關(guān)標(biāo)準(zhǔn)(203)配置的查詢(xún)(202)來(lái)幫助數(shù)據(jù)訪問(wèn)。相關(guān)標(biāo)準(zhǔn)(203)的存在幫助引入附加的相關(guān)邏輯以將其應(yīng)用到查詢(xún)條件(204)。一般而言,可以考慮基于時(shí)間、物理位置和年齡支持實(shí)體的相關(guān)的相關(guān)標(biāo)準(zhǔn)(203)。文檔編號(hào)G06F17/30GK1705945SQ200380101903公開(kāi)日2005年12月7日申請(qǐng)日期2003年10月17日優(yōu)先權(quán)日2002年10月31日發(fā)明者理查德·D·德廷杰,理查德·J·史蒂文斯申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
河东区| 贵州省| 乐至县| 陇南市| 体育| 理塘县| 教育| 奉新县| 涡阳县| 龙山县| 五华县| 厦门市| 渑池县| 定南县| 安康市| 洪泽县| 尚义县| 鄯善县| 海原县| 全椒县| 葵青区| 金沙县| 南充市| 盘锦市| 温泉县| 泗阳县| 莱西市| 资兴市| 兴宁市| 长顺县| 乌兰县| 荔波县| 梓潼县| 商水县| 黑龙江省| 和静县| 巩留县| 奉节县| 阿坝县| 平度市| 扎兰屯市|