專利名稱::數(shù)據(jù)關(guān)系的圖形表示的制作方法數(shù)據(jù)關(guān)系的圖形表示優(yōu)先權(quán)的要求本申請要求于2008年2月26日提交的序列號W).61/031,672的美國專利申請的35USC§119(e)的優(yōu)先權(quán),在此通過引用并入其全部內(nèi)容。
背景技術(shù):
:本描述涉及數(shù)據(jù)關(guān)系的圖形表示。企業(yè)可能使用諸如數(shù)據(jù)入庫(warehousing)、客戶關(guān)系管理、以及數(shù)據(jù)采掘之類的各種復(fù)雜的數(shù)據(jù)處理系統(tǒng)來管理數(shù)據(jù)。在許多數(shù)據(jù)處理系統(tǒng)中,從諸如數(shù)據(jù)庫文件、操作系統(tǒng)、普通文件(flatfile)、因特網(wǎng)之類的許多不同的數(shù)據(jù)源向中央儲存庫抽取(pull)數(shù)據(jù)。通常,在載入系統(tǒng)之前,對數(shù)據(jù)進行變換。變換可以包括凈制(cleansing)、集合,以及提取。為了對存儲在系統(tǒng)中的數(shù)據(jù)發(fā)生的變換進行跟蹤,可以使用元數(shù)據(jù)。元數(shù)據(jù)是描述其他數(shù)據(jù)的起源、歷史、相互關(guān)系等等的數(shù)據(jù)。在一些系統(tǒng)中,提供了用戶界面來管理元數(shù)據(jù)??梢允褂妹嫦?qū)ο蟮?、有關(guān)系的,或者用于管理存儲的數(shù)據(jù)的其他技術(shù)和結(jié)構(gòu)來訪問所存儲的數(shù)據(jù)項,其中所述數(shù)據(jù)項包括元數(shù)據(jù)或者已經(jīng)(或者將要)由系統(tǒng)存儲或處理的以其他方式表示或者涉及的數(shù)據(jù)。例如,包括元數(shù)據(jù)的數(shù)據(jù)項可以包括有關(guān)表格、文件,或者其他數(shù)據(jù)集的,或者生成數(shù)據(jù)集的應(yīng)用或者數(shù)據(jù)處理元素的信息。
發(fā)明內(nèi)容在一方面,一般地,一種用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的方法,其包括從用戶界面接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求;檢索存儲的包括多個選擇規(guī)范的配置信息,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合;對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別;使用配置信息生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖;以及通過用戶界面來呈現(xiàn)所生成的圖。各方面可以包括一個或多個以下特征。根據(jù)選擇規(guī)范查詢數(shù)據(jù)管理系統(tǒng)以識別一個或多個數(shù)據(jù)項的集合包括響應(yīng)于請求,使用選擇規(guī)范來動態(tài)地配制(formulate)查詢,通過數(shù)據(jù)管理系統(tǒng)來處理查詢,以及從識別一個或多個數(shù)據(jù)項的集合的數(shù)據(jù)管理系統(tǒng)接收查詢結(jié)果。查詢包括對數(shù)據(jù)管理系統(tǒng)進行導(dǎo)航的至少一個導(dǎo)航動作以檢索通過第一數(shù)據(jù)項的屬性引用的數(shù)據(jù)項。查詢包括對數(shù)據(jù)管理系統(tǒng)進行導(dǎo)航的至少一個導(dǎo)航動作以檢索具有引用第一數(shù)據(jù)項的屬性的數(shù)據(jù)項。通過數(shù)據(jù)管理系統(tǒng)處理查詢包括遞歸地對管理系統(tǒng)進行導(dǎo)航,并且返回在多個遞歸步驟的每一個處所找到的至少一些數(shù)據(jù)項。查詢數(shù)據(jù)管理系統(tǒng)來確定是否識別附加數(shù)據(jù)項包括執(zhí)行多次查詢的迭代,其中每次迭代包括確定其中每一個與來自之前的迭代的之前的一個或多個數(shù)據(jù)項的集合的至少一個數(shù)據(jù)項有關(guān)的、一個或多個數(shù)據(jù)項的另一集合。執(zhí)行查詢的迭代直到不再找到與之前的一個或多個數(shù)據(jù)項的集合的任一個有關(guān)的數(shù)據(jù)項為止。該方法還包括從用戶界面接收對配置文件的選擇,所述配置文件包括來自多個存儲的配置文件的配置信息,配置信息包括與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的標注規(guī)范,其用于構(gòu)建表示第一數(shù)據(jù)項的所生成的圖中的節(jié)點的標注。配置信息包括與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的標注規(guī)范,其用于構(gòu)建表示第一數(shù)據(jù)項和另一數(shù)據(jù)項之間的關(guān)系的所生成的圖中的邊的標注。每個預(yù)定類型對應(yīng)于數(shù)據(jù)流圖形處理系統(tǒng)中的不同部分。至少一個預(yù)定類型對應(yīng)于表示數(shù)據(jù)流圖形的部分的數(shù)據(jù)項,所述數(shù)據(jù)流圖形包括表示處理組件的節(jié)點和表示處理組件之間的數(shù)據(jù)流的鏈接。至少一個預(yù)定類型對應(yīng)于表示數(shù)據(jù)集中的字段的數(shù)據(jù)項。第一數(shù)據(jù)項包括描述與數(shù)據(jù)集或可執(zhí)行程序的至少一部分對應(yīng)的存儲的數(shù)據(jù)的元數(shù)據(jù)。存儲的數(shù)據(jù)被存儲在與數(shù)據(jù)管理系統(tǒng)不同的第一數(shù)據(jù)源中,并且所生成的圖包括表示在表示存儲的數(shù)據(jù)的節(jié)點和表示與存儲在第二數(shù)據(jù)源中的數(shù)據(jù)集或者可執(zhí)行程序的至少一部分對應(yīng)的數(shù)據(jù)的節(jié)點之間的數(shù)據(jù)體系(lineage)關(guān)系的邊,其中所述第二數(shù)據(jù)源不同于第一數(shù)據(jù)源和數(shù)據(jù)管理系統(tǒng)。生成的圖包括表示在表示存儲的數(shù)據(jù)的節(jié)點和表示受該存儲的數(shù)據(jù)影響的實體的節(jié)點之間的下游數(shù)據(jù)體系關(guān)系的邊。生成的圖包括表示在表示存儲的數(shù)據(jù)的節(jié)點和表示從其得到該存儲的數(shù)據(jù)的源的節(jié)點之間的上游數(shù)據(jù)體系關(guān)系的邊。在另一方面中,一般地,一種用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的系統(tǒng),其包括存儲數(shù)據(jù)項的數(shù)據(jù)管理系統(tǒng);用戶界面,包括被配置為接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求的輸入界面;存儲系統(tǒng),存儲包括多個選擇規(guī)范的配置信息,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);數(shù)據(jù)管理系統(tǒng)界面,被配置為查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合,以及對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別;以及一個或多個處理器,被配置為使用配置信息執(zhí)行圖生成器來生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖。用戶界面包括被配置為呈現(xiàn)所生成的圖的輸出界面。在另一方面,一般地,一種用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的系統(tǒng),其包括用于從用戶界面接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求的部件;用于檢索存儲的包括多個選擇規(guī)范的配置信息的部件,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);用于查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合、并且對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個查詢數(shù)據(jù)管理系統(tǒng),以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別的部件;使用配置信息用于生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖的部件;以及用于通過用戶界面來呈現(xiàn)所生成的圖的部件。在另一方面,一般地,一種存儲用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的計算機程序的計算機可讀介質(zhì)。該計算機程序包括促使計算機進行以下操作的指令從用戶界面接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求;檢索存儲的包括多個選擇規(guī)范的配置信息,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合;對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別;使用配置信息生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖;以及通過用戶界面來呈現(xiàn)所生成的圖。各方面包括一個或多個以下優(yōu)點。有時候數(shù)據(jù)庫用戶可能想要調(diào)查如何從不同的數(shù)據(jù)源派生出某個數(shù)據(jù)。例如,數(shù)據(jù)庫用戶可能想要知道數(shù)據(jù)集或者數(shù)據(jù)對象從哪個源輸入。追蹤數(shù)據(jù)集從源的派生被稱為上游數(shù)據(jù)體系跟蹤。有時候數(shù)據(jù)庫用戶想要調(diào)查已經(jīng)怎樣使用了某些數(shù)據(jù)集(下游數(shù)據(jù)體系跟蹤),例如,哪一個應(yīng)用讀取了給定的數(shù)據(jù)集。數(shù)據(jù)庫用戶還可能對知道數(shù)據(jù)集怎樣與其他數(shù)據(jù)集有關(guān)感興趣。例如,用戶可能想要知道如果修改了數(shù)據(jù)集,則將影響到那些表(table)。在此描述的技術(shù)可以用于幫助用戶找到關(guān)于各種數(shù)據(jù)關(guān)系查詢(包括其中相關(guān)數(shù)據(jù)跨越多重分布的異類的源的查詢)的答案。根據(jù)以下的描述和權(quán)利要求,本發(fā)明的其他特征和優(yōu)點將變得明顯。圖1是示例性的數(shù)據(jù)處理系統(tǒng)的圖。圖2是用于數(shù)據(jù)瀏覽的網(wǎng)絡(luò)用戶界面的示例。圖3是圖示生成數(shù)據(jù)關(guān)系圖的處理的示意圖。圖4A示出了示例性的數(shù)據(jù)關(guān)系圖。圖4B是用于檢索數(shù)據(jù)項的處理的流程圖。圖5示出了示例性的數(shù)據(jù)關(guān)系圖。圖6是用于生成數(shù)據(jù)關(guān)系圖的處理的流程圖。圖7A和7B是配置文件的示例。圖8示出了用于顯示數(shù)據(jù)關(guān)系圖的節(jié)點的詳細信息的示例性界面。具體實施例方式用戶使用用戶界面可以在數(shù)據(jù)處理系統(tǒng)中瀏覽、修改或者創(chuàng)建新的數(shù)據(jù)項。一些數(shù)據(jù)項對應(yīng)于程序或者程序模塊(例如,源代碼或者可執(zhí)行代碼),而一些數(shù)據(jù)項對應(yīng)于表示程序、數(shù)據(jù)集、數(shù)據(jù)源,或者其他數(shù)據(jù)項的集合(collection)的元數(shù)據(jù)??梢韵虿煌愋偷挠脩籼峁└鞣N類型的用戶界面。例如,開發(fā)系統(tǒng)的應(yīng)用的用戶(開發(fā)者)可以使用一種界面,而執(zhí)行應(yīng)用或者觀看應(yīng)用的結(jié)果的用戶可以使用另一種界面。圖1示出了包括圖形開發(fā)環(huán)境(OTE)102的示例性的數(shù)據(jù)處理系統(tǒng)100,其是允許用戶使用數(shù)據(jù)流圖形來建立應(yīng)用的用戶界面。數(shù)據(jù)流圖形使用被稱為組件的功能模塊和被稱為流的數(shù)據(jù)管道(conduit)來表示從一個組件到另一個組件的數(shù)據(jù)移動。從而可以通過定向的圖形來表示基于圖形的應(yīng)用,所述有向的圖形在圖形中具有表示組件(數(shù)據(jù)存儲組件或者可執(zhí)行計算組件)的頂點,以及連接圖形中的頂點的、表示組件之間的數(shù)據(jù)流的有向的鏈接或者“邊(edge)”。數(shù)據(jù)流圖形(也被簡單地稱為“圖形”)是模塊化的實體。每個圖形可以由一個或多個其他圖形組成,并且特定的圖形可以是更大的圖形中的組件。GDE102使得開發(fā)者能夠開發(fā)、測試和部署作為被剪裁為給定的用戶專用環(huán)境的可執(zhí)行的圖形應(yīng)用。被構(gòu)建為使用⑶E102的圖1中所示的示例性的數(shù)據(jù)流圖形包括生成數(shù)據(jù)的組件112、通過流116接收數(shù)據(jù)并且通過流120向輸出數(shù)據(jù)集118提供數(shù)據(jù)的組件114。⑶E102與儲存庫104和并行操作環(huán)境106通信。儲存庫104例如是被設(shè)計為支持基于圖形的應(yīng)用的開發(fā)和執(zhí)行以及在基于圖形的應(yīng)用和其他系統(tǒng)(例如,其他操作系統(tǒng))之間的元數(shù)據(jù)的互換的可擴展的、面向?qū)ο蟮臄?shù)據(jù)庫系統(tǒng)。儲存庫104是用于各種的元數(shù)據(jù)(例如,包括文檔、記錄格式(例如,表格中的記錄的字段和數(shù)據(jù)類型)、變換函數(shù)、圖形、作業(yè),以及監(jiān)控信息)的存儲系統(tǒng)。并行操作系統(tǒng)106解釋由用戶在⑶E102中已經(jīng)構(gòu)建的數(shù)據(jù)流圖形所表示的程序,基于在圖形中所定義的處理邏輯和資源來生成計算機指令,并且在一個或多個處理器和/或計算機系統(tǒng)(其不必是同類的)上執(zhí)行這些指令。執(zhí)行程序(executive)110是可選的基于儲存庫的作業(yè)調(diào)度系統(tǒng)。執(zhí)行程序110保持作為儲存庫104內(nèi)的對象的作業(yè)和作業(yè)隊列。元數(shù)據(jù)界面108(例如基于網(wǎng)絡(luò)瀏覽器的界面)向用戶界面提供在儲存庫104中存儲的、由元數(shù)據(jù)組成的或者包括元數(shù)據(jù)或者引用元數(shù)據(jù)的數(shù)據(jù)項。通過元數(shù)據(jù)界面108,用戶可以訪問儲存庫104來瀏覽現(xiàn)有的數(shù)據(jù)項、更改現(xiàn)有的數(shù)據(jù)項、創(chuàng)建新的數(shù)據(jù)項,以及指定應(yīng)用參數(shù)。一些數(shù)據(jù)項例如表示數(shù)據(jù)流圖形或者其他可執(zhí)行程序、提供圖形的來源或者圖形的存儲結(jié)果的數(shù)據(jù)集,或者有關(guān)圖形的開發(fā)者的信息。元數(shù)據(jù)界面108還提供用戶界面以在執(zhí)行程序110中觀看和操縱作業(yè)和作業(yè)隊列。通過元數(shù)據(jù)界面108,用戶可以為數(shù)據(jù)流圖形指定運行參數(shù)的值來允許執(zhí)行程序110運行從數(shù)據(jù)流圖形生成的作業(yè)。在此通過引用并入的、標題為“ManagingRelatedDataObjects”的美國申請NO.10/979,742公開了對于有關(guān)數(shù)據(jù)項管理并提供界面的技術(shù)。其中公開的技術(shù)給予了用戶定義在網(wǎng)絡(luò)瀏覽器上要呈現(xiàn)的視圖的能力。這樣的視圖允許用戶訪問在數(shù)據(jù)項中包含的和/或與數(shù)據(jù)項相關(guān)聯(lián)的期望的信息。每個視圖與數(shù)據(jù)項的類型相關(guān)聯(lián)并且包括一個或多個用于定義要表現(xiàn)的數(shù)據(jù)的“視圖元素”。每個視圖元素包括使得能夠在與該視圖相關(guān)聯(lián)的類別中檢索數(shù)據(jù)項的元素描述符。圖2示出了在網(wǎng)絡(luò)瀏覽器中呈現(xiàn)的視圖的示例。該視圖包括導(dǎo)航條202、內(nèi)容部分204以及頁腳206。根據(jù)用戶定義的視圖來顯示內(nèi)容部分204,在該情形下,視圖包括四個視圖元素類別名稱208(例如,人員)、類別成員名稱210(例如,JimAnchower),示出該雇員負責的應(yīng)用的視圖元素212,以及示出該雇員負責的數(shù)據(jù)文件的視圖元素214。當用戶對知道數(shù)據(jù)項的歷史以及該數(shù)據(jù)項與儲存庫104中的其他數(shù)據(jù)項的關(guān)系感興趣時,他可以通過手動處理來尋找期望的信息。他可以使用界面108來依序瀏覽鏈接的數(shù)據(jù)項??商鎿Q地,用戶可以使用編程語言來查詢數(shù)據(jù)庫。在兩種方法中,為了提取歷史信息,用戶可能需要發(fā)送第一查詢,等待查詢結(jié)果,提取查詢結(jié)果中的字段信息,基于所提取的字段信息發(fā)送第二查詢。如果用戶對具有長的數(shù)據(jù)體系的數(shù)據(jù)項的歷史感興趣或者對嵌入很深的數(shù)據(jù)對象的關(guān)系感興趣,則該逐步的手動處理可能是令人乏味的。有利地是允許用戶提出例如與數(shù)據(jù)體系有關(guān)的或者其他類型的數(shù)據(jù)關(guān)系的特別的(ad-hoc)查詢并且允許用戶以動態(tài)的和用戶可配置的方式來檢索數(shù)據(jù)關(guān)系信息。此外有利的是以圖形來呈現(xiàn)查詢結(jié)果。參照圖3,在提取期望的信息的另一方法的示例性實施方案中,用戶通過選擇在用戶界面300(例如諸如⑶E102之類的界面或者元數(shù)據(jù)界面108)上呈現(xiàn)的數(shù)據(jù)項302來啟動數(shù)據(jù)關(guān)系圖生成處理。圖生成器320(例如,在操作系統(tǒng)106中運行的應(yīng)用)使用用戶管理系統(tǒng)接口(例如,用于發(fā)送查詢和接收響應(yīng)的通信端口)與數(shù)據(jù)管理系統(tǒng)340(例如,在儲存庫104中實現(xiàn)的數(shù)據(jù)庫)交互以檢索與所選擇的數(shù)據(jù)項302有關(guān)的數(shù)據(jù)項并且自動地生成用于在用戶界面300上向用戶呈現(xiàn)的數(shù)據(jù)關(guān)系圖。所選擇的數(shù)據(jù)項302在圖3中被標注為D1。用戶使用輸入界面(例如,按鈕、菜單等等)從所選擇的起始數(shù)據(jù)項開始來選擇他感興趣的數(shù)據(jù)關(guān)系圖的類型(例如數(shù)據(jù)體系),以及諸如上游(例如,怎樣從源導(dǎo)出該數(shù)據(jù)項,或者該數(shù)據(jù)項怎樣用于從源接收輸入數(shù)據(jù))和/或下游(例如,怎樣通過受影響的實體來接收該數(shù)據(jù)項,或者該數(shù)據(jù)項怎樣用于為受影響的實體生成輸出數(shù)據(jù))之類的可選的任何相關(guān)聯(lián)的信息,其指示數(shù)據(jù)關(guān)系圖要示出數(shù)據(jù)項上游的關(guān)系、下游的關(guān)系或兩者的關(guān)系。利用作為自變量(argument)傳遞的所選擇的數(shù)據(jù)項Dl的指示,對圖生成器320做出請求314。數(shù)據(jù)項Dl用作使用輸出界面(例如,屏幕上的窗口)生成要向用戶呈現(xiàn)的圖的起始點。圖生成器320接收請求314并且在配置文件存儲裝置360中搜索與請求314對應(yīng)的配置文件。典型的配置文件380包含一個或多個選擇規(guī)范,382、384等,每個選擇規(guī)范與對應(yīng)的預(yù)定數(shù)據(jù)項類型相關(guān)聯(lián)。例如,每個數(shù)據(jù)項類型可以對應(yīng)于數(shù)據(jù)流圖形處理環(huán)境的不同部分。一些數(shù)據(jù)流類型可以對應(yīng)于表示圖形的數(shù)據(jù)項。一些數(shù)據(jù)項類型可以對應(yīng)于表示圖形內(nèi)的組件的數(shù)據(jù)項。一些數(shù)據(jù)項類型可以對應(yīng)于表示數(shù)據(jù)集的數(shù)據(jù)項。一些數(shù)據(jù)項可以對應(yīng)于表示數(shù)據(jù)集內(nèi)的字段的數(shù)據(jù)項。選擇規(guī)范指定選擇動作或者選擇動作的序列以在其中進行導(dǎo)航并且選擇在數(shù)據(jù)管理系統(tǒng)340中存儲的數(shù)據(jù)項。選擇動作可以包括例如指示怎樣從一個數(shù)據(jù)項導(dǎo)航到下一數(shù)據(jù)項的導(dǎo)航動作,或者通過執(zhí)行諸如濾波之類的功能來確定將返回哪些數(shù)據(jù)項的另一類型的動作。在配置文件380中,每個類型的數(shù)據(jù)項與選擇規(guī)范相關(guān)聯(lián)。例如,選擇規(guī)范382與類型A相關(guān)聯(lián),而選擇規(guī)范384與類型B相關(guān)聯(lián)。例如,根據(jù)定義屬性(或者“字段”或“列”)的數(shù)據(jù)庫模式(schema)和這些屬性之間的關(guān)系(例如由實體關(guān)系圖所表示的)可以指定數(shù)據(jù)項的類型。圖生成器320從配置文件存儲裝置360中檢索與請求314對應(yīng)的配置文件380,并且使用配置文件向數(shù)據(jù)管理系統(tǒng)340發(fā)出查詢330。可能在圖生成器320和數(shù)據(jù)管理系統(tǒng)340之間發(fā)生一系列多個查詢交互。圖生成器320基于與Dl類型相關(guān)聯(lián)的選擇規(guī)范,使用Dl作為對數(shù)據(jù)管理系統(tǒng)340導(dǎo)航的第一查詢的起始點,并且接收可能包括一個或多個附加數(shù)據(jù)項的查詢結(jié)果。例如,如果Dl的類型是類型B,則圖生成器320選擇所述選擇規(guī)范384并且配制包括選擇規(guī)范384中所包含的選擇動作的系列的查詢。例如,以數(shù)據(jù)管理系統(tǒng)340能夠解釋的查詢語言的方式來配制查詢。利用每個查詢,可以檢索一個或多個數(shù)據(jù)項的集合。在一些情形下,查詢可能不返回任何數(shù)據(jù)項。如在圖3中作為示例所圖示的,數(shù)據(jù)管理系統(tǒng)340以Dl開始,使用選擇規(guī)范384來檢索一個或多個數(shù)據(jù)項的集合。選擇規(guī)范指定要在數(shù)據(jù)管理系統(tǒng)340中導(dǎo)航的關(guān)系的種類(例如,主關(guān)鍵字/外關(guān)鍵字關(guān)系)以檢索數(shù)據(jù)項的集合。在該示例中,所檢索的數(shù)據(jù)項的集合包含D2、D3和Pl并且將所檢索的數(shù)據(jù)項的集合返回給圖生成器。數(shù)據(jù)項D2和D3是與Dl相同的類型,即,類型B。數(shù)據(jù)項Pl是不同的類型,即,類型A。對于在所檢索的數(shù)據(jù)項的集合內(nèi)的每個數(shù)據(jù)項,圖生成器320查找與該數(shù)據(jù)項的類型相關(guān)聯(lián)的選擇規(guī)范并且向數(shù)據(jù)管理系統(tǒng)340發(fā)送查詢來檢索跟隨在與該類型相關(guān)聯(lián)的選擇規(guī)范中的選擇動作之后的數(shù)據(jù)項的另一集合。因為D2和D3是與Dl相同的類型,所以D2和D3的選擇規(guī)范是選擇規(guī)范384。因為Pl屬于與選擇規(guī)范382相關(guān)聯(lián)的類型A,所以Pl的選擇規(guī)范是選擇規(guī)范382。數(shù)據(jù)管理系統(tǒng)嘗試對所檢索的集合內(nèi)的每個數(shù)據(jù)項檢索一個或多個數(shù)據(jù)項的新的集合,所以對于D2、D3和Pl的第一集合而言,數(shù)據(jù)管理系統(tǒng)可以使用D2和D3的選擇規(guī)范384和Pl的選擇規(guī)范382來潛在地檢索一個或多個數(shù)據(jù)項的三個新的集合。在一些情形下,檢索數(shù)據(jù)項的新的集合的嘗試導(dǎo)致沒有找到數(shù)據(jù)項。在返回給圖生成器320的、對于D2、D3或Pl所檢索的一個或多個數(shù)據(jù)項的每個新的集合內(nèi)包含的每個數(shù)據(jù)項而言,圖生成器320找到針對該數(shù)據(jù)項的類型的選擇規(guī)范并且向數(shù)據(jù)管理系統(tǒng)340發(fā)送出新的查詢。數(shù)據(jù)管理系統(tǒng)340然后在規(guī)范申執(zhí)行選擇動作并且嘗試向圖生成器檢索一個或多個數(shù)據(jù)項的另一集合。圖4A和4B進一步圖示了該循環(huán)處理。圖4A示出在該處理的每次迭代中檢索的數(shù)據(jù)項的集合,以及到達這些數(shù)據(jù)項所遍歷的關(guān)系鏈接。Dl是起始的數(shù)據(jù)項(迭代i0)。從Dl開始,所檢索的數(shù)據(jù)項的集合包含D2、D3和Pl(迭代il)。從D2開始,所檢索的一個或多個數(shù)據(jù)項的集合僅僅包含一個數(shù)據(jù)項D4。從D3開始,檢索零個數(shù)據(jù)項。從Pl開始,所檢索的一個或多個數(shù)據(jù)項的集合包含兩個數(shù)據(jù)項,P2和D5。因此,在下一迭代(i2)中,檢索了三個數(shù)據(jù)項。從D4開始,檢索的一個或多個數(shù)據(jù)項的集合包含P3(迭代i3)。從P3開始,所檢索的數(shù)據(jù)項的集合包含P5(迭代i4)。從P2、D5和P5開始檢索零個數(shù)據(jù)項。圖4B示出用于檢索數(shù)據(jù)項的示例性處理的流程圖。以數(shù)據(jù)項Ds開始,在步驟410中識別Ds的類型。在步驟412中確定與Ds的類型相關(guān)聯(lián)的選擇規(guī)范。在步驟414中執(zhí)行在選擇規(guī)范中定義的、潛在地導(dǎo)致檢索一個或多個數(shù)據(jù)項的集合的選擇動作(步驟416)。當因為不再找得到數(shù)據(jù)項而不再需要選擇動作時,處理結(jié)束。在圖4A的示例中,作為查詢結(jié)果返回到圖生成器320的數(shù)據(jù)項被表示為節(jié)點,所述節(jié)點通過對應(yīng)于它們在數(shù)據(jù)管理系統(tǒng)340中如何關(guān)聯(lián)的邊而連接。例如,邊可以表示在對應(yīng)的數(shù)據(jù)項之間的主關(guān)鍵字(key)/外關(guān)鍵字關(guān)系。邊可以表示例如在上述的美國申請NO.10/979,742中描述的各種關(guān)系中的任一種。圖5是基于在用戶界面300的窗口500中呈現(xiàn)的所檢索的數(shù)據(jù)項、由圖生成器320生成的數(shù)據(jù)關(guān)系圖的示例。圖5中的直角和圓角矩形是表示數(shù)據(jù)項的節(jié)點。節(jié)點之間的連接是表示節(jié)點之間的關(guān)系的有向邊。箭頭的方向指示表示實體的下游的數(shù)據(jù)項受到上游數(shù)據(jù)項表示的實體的影響。例如,在圖5中所示的圖中,節(jié)點對應(yīng)于在各種數(shù)據(jù)集內(nèi)表示字段的元數(shù)據(jù)以及在這些數(shù)據(jù)集內(nèi)處理數(shù)據(jù)的圖形。圓角矩形表示類型是“字段”的數(shù)據(jù)項。直角表示類型為“圖形”的數(shù)據(jù)項,其是對與定位于緊接著左側(cè)的數(shù)據(jù)項相關(guān)聯(lián)的輸入進行動作并且提供與定位于緊接著右側(cè)的數(shù)據(jù)項相關(guān)聯(lián)的輸出的應(yīng)用。例如,圖形中的組件可以在第一字段中訪問數(shù)據(jù)(其元數(shù)據(jù)被存儲在第一數(shù)據(jù)項中),并且可以在第二數(shù)據(jù)項中輸出數(shù)據(jù)(其元數(shù)據(jù)被存儲在第二數(shù)據(jù)項中)。第一數(shù)據(jù)項510,字段custjd,是用戶為數(shù)據(jù)關(guān)系圖生成所選擇的起始數(shù)據(jù)項。圖5的圖呈現(xiàn)了怎樣使用字段custjd510的畫面,S卩,下游數(shù)據(jù)體系圖。應(yīng)用db_unload,mp從字段cust_id讀入并且處理數(shù)據(jù),然后在兩個字段custid中輸出數(shù)據(jù)。應(yīng)用Example#4然后從兩個字段之一讀入并且處理數(shù)據(jù),并且在字段id中輸出數(shù)據(jù)。然后在四個字段中輸出數(shù)據(jù)的應(yīng)用importing,mp讀取字段id。最后,應(yīng)用db_load.mp從由應(yīng)用reporting,mp產(chǎn)生的四個字段的兩個中讀取并且寫入更多的四個字段。圖5的數(shù)據(jù)關(guān)系圖是當用戶點擊在元數(shù)據(jù)瀏覽器(其示例在圖2中示出)中顯示的數(shù)據(jù)項cust_id時,對他呈現(xiàn)的數(shù)據(jù)關(guān)系圖。在圖6中所示的流程示了從當用戶點擊有關(guān)他感興趣尋找數(shù)據(jù)關(guān)系信息的數(shù)據(jù)項到當呈現(xiàn)該圖時的示例性的處理。圖6示出了用于生成數(shù)據(jù)關(guān)系圖的動態(tài)的和用戶可配置的處理。用戶通過選擇(例如,點擊)他感興趣的數(shù)據(jù)項來啟動該處理并且例如通過點擊對應(yīng)的無線電按鈕(圖3中示出的)來指定要使用的配置文件。然后以該用戶的名義發(fā)送用戶請求。圖生成器320在步驟601接收該用戶請求。用戶請求識別起始數(shù)據(jù)項,以及指示生成用戶期望的數(shù)據(jù)關(guān)系圖所要使用的適當?shù)呐渲梦募赡苄枰钠渌魏涡畔ⅰT诓襟E602中,圖生成器從配置文件存儲裝置360中檢索配置文件。步驟603是循環(huán)處理。該循環(huán)處理開始于第一數(shù)據(jù)項,即,起始數(shù)據(jù)項。循環(huán)的每次迭代包括針對從之前的迭代中返回的每個數(shù)據(jù)項(或者對第一次迭代中的起始數(shù)據(jù)項)的以下步驟步驟652-識別數(shù)據(jù)項的類型,步驟654-確定于該類型相關(guān)聯(lián)的選擇規(guī)范,步驟656-執(zhí)行選擇規(guī)范中包含的選擇動作,步驟658-檢索作為步驟656的結(jié)果的一個或多個數(shù)據(jù)項的集合,以及步驟660-通過檢查是否還存在必須要處理的任何檢索到的數(shù)據(jù)項來確定是否應(yīng)終止循環(huán)處理。在以上的示例中,循環(huán)是基于檢索的各個數(shù)據(jù)項的??商鎿Q的,可以以以下方式來構(gòu)建嵌套的循環(huán)處理第一級循環(huán)基于遠離第一數(shù)據(jù)項的步驟(例如整個關(guān)系圖中的邊),而第二級循環(huán)基于在每個第一級循環(huán)迭代中檢索的一個或多個數(shù)據(jù)項的集合中包含的數(shù)據(jù)項。當不再存在要檢索的數(shù)據(jù)項時(根據(jù)由配置文件定義的選擇規(guī)范中的選擇動作),循環(huán)處理終止并且在步驟604處理循環(huán)處理期間獲得的數(shù)據(jù)項的集合以及它們相互間的關(guān)系并且基于返回的查詢結(jié)果的處理生成數(shù)據(jù)關(guān)系圖。在循環(huán)處理中檢索的所有數(shù)據(jù)項被返回并且被重現(xiàn)在數(shù)據(jù)關(guān)系圖上??商鎿Q的,數(shù)據(jù)生成器320可以在執(zhí)行循環(huán)處理時,呈遞數(shù)據(jù)關(guān)系圖,消除對在步驟604中執(zhí)行的一些或者所有處理的需要。在美國申請NO.10/979,742中描述了其中可以闡述選擇動作的查詢語言的一個示例,其公開了用于管理和分析在數(shù)據(jù)系統(tǒng)中存儲的數(shù)據(jù)的方法。在該申請中,描述了用于從數(shù)據(jù)存儲裝置中檢索期望的數(shù)據(jù)的選擇動作,包括導(dǎo)航動作和表達動作。在導(dǎo)航動作中,定義了以下四種類型walk、inv_walk、gather_all、find_ultimate。動作walk采用兩個參數(shù),注釋規(guī)則和類別。動作walk返回由指定的注釋規(guī)則所引用的指定的類別中的數(shù)據(jù)項。在一些實施方案中,數(shù)據(jù)項對應(yīng)于根據(jù)定義的模式而涉及的對象并且通過其在定義的模式中的類別來確定數(shù)據(jù)項的類型。動作inv_Walk也采用兩個參數(shù),注釋規(guī)則和類別。動作inV_Walk返回指定的類別cat中具有注釋規(guī)則的數(shù)據(jù)項,所述注釋規(guī)則引用在其上調(diào)用動作inv_Walk的數(shù)據(jù)項。動作gather_all采用一個或多個導(dǎo)航動作的系列作為參數(shù)。其遞歸地執(zhí)行(多個)導(dǎo)航動作并且在每個遞歸步驟處返回所找到的所有數(shù)據(jù)對象。動作find_all也采用一個或多個導(dǎo)航動作的系列作為參數(shù)。其遞歸地執(zhí)行(多個)導(dǎo)航動作并且在遞歸的結(jié)束處返回所找到的所有“葉節(jié)點”數(shù)據(jù)對象。利用以上的四個動作,用戶可以構(gòu)成一系列的導(dǎo)航動作來對存儲在數(shù)據(jù)庫中的數(shù)據(jù)對象進行導(dǎo)航。導(dǎo)航動作的構(gòu)成可以被存儲為配置文件中的選擇規(guī)范。用戶還可以將表達動作并入選擇規(guī)范。表達動作在一個或多個數(shù)據(jù)項的集合上操作。例如,表達動作s0rt(eXpr)通過expr對一個或多個數(shù)據(jù)項的集合進行排序。表達動作filter(expr)通過expr對一個或多個數(shù)據(jù)項的集合進行濾波。表達動作eval(expr)在一個或多個數(shù)據(jù)項的集合上評估expr。對于給定類型的起始數(shù)據(jù)項,配置文件使用具有一個或多個選擇動作(諸如上述的導(dǎo)航和表達動作)的選擇規(guī)范來識別與起始數(shù)據(jù)項有關(guān)的一個或多個對象的集合。配置文件還可以包括與對于給定類型的數(shù)據(jù)項的選擇規(guī)范一起的標注規(guī)范。標注規(guī)范被用于為表示起始項的數(shù)據(jù)關(guān)系圖中的節(jié)點構(gòu)建標注。圖7A、7B和7C示出了利用由導(dǎo)航組成的選擇規(guī)范和作為選擇動作的表達動作的配置文件的示例。圖7A示出了具有針對三個類型的數(shù)據(jù)項‘SubjectArea\iLogicalEntity',和‘EntityRelationship’定義的三個選擇規(guī)范的配置文件的示例。針對屬于類型‘SubjectArea’的數(shù)據(jù)項,被標明為sel_spec的對應(yīng)的選擇規(guī)范包括導(dǎo)航動作inv_walk("SubjectAreaOID","LogicalEntity,,),其返回屬于類別LogicalEntity的一個或多個數(shù)據(jù)項的集合并且具有引用所述一個或多個數(shù)據(jù)項的集合的注釋規(guī)則SubjectAreaOID,在所述一個或多個數(shù)據(jù)項的集合上應(yīng)用該選擇規(guī)范。針對屬于類型‘LogicalEntity'數(shù)據(jù)項,被標明為sel_spec的選擇規(guī)范包括四個動作的合成,導(dǎo)航動作inv_Walk,其后的表達動作filter,再后的兩個導(dǎo)航動作walk。針對屬于‘EntityRelationship,類型的數(shù)據(jù)項,被標明為sel_SpeC的對應(yīng)的選擇規(guī)范包括導(dǎo)航動作walk。標明為label_SpeC的標注規(guī)范包括表達動作eval。該表達動作的返回值用于對生成的數(shù)據(jù)關(guān)系圖中的表示數(shù)據(jù)項的節(jié)點做標注。在該示例中,從表達動作eval獲得的值用于作為屬于類型‘EntityRelationship'的數(shù)據(jù)項的節(jié)點標注。圖7B示出了具有針對‘system’類型的數(shù)據(jù)項定義的選擇規(guī)范的配置文件的一部分。在該示例中,存在針對相同類型的數(shù)據(jù)項定義的兩個不同的選擇規(guī)范,其使得圖生成器320能夠針對數(shù)據(jù)關(guān)系圖的上游和下游方向使用不同的選擇動作。因此,在最終的數(shù)據(jù)關(guān)系圖中,起始數(shù)據(jù)項將位于中間的某個地方,而不是任一端。在被標明為《Downstream的下游部分中,數(shù)據(jù)項類型‘system’對應(yīng)于具有兩個inv_Walk導(dǎo)航動作和兩個walk導(dǎo)航的合成的選擇規(guī)范。在被標明為《Upstream的下游部分中,數(shù)據(jù)項類型‘system’也對應(yīng)于具有兩個inv_walk導(dǎo)航動作和兩個walk導(dǎo)航的合成的選擇規(guī)范,但是與下游方向相比較,用于指示給定的數(shù)據(jù)集是正被讀取還是正被寫入的注釋規(guī)則被交換。配置文件還包括定義節(jié)點標注的標注規(guī)范、和定義來自導(dǎo)航動作所源自的節(jié)點的邊的標注的標注規(guī)范?;谠谶叺娜我欢说墓?jié)點的類型的標注可以用于對邊進行標注??商鎿Q的,可以由用戶通過分配給配置文件中的變量的值來定制邊標注。在一些實施例中,選擇規(guī)范可以包括多個選擇動作的集合來使得圖生成器320能夠每次執(zhí)行多個查詢,而不是每次一個查詢,并且允許返回節(jié)點的集合的序列,而不是節(jié)點的單一集合。在各節(jié)點之間存在某種依賴性時,這樣的特征對于圖的準確重現(xiàn)是有用的。即使以上討論的示例性的選擇規(guī)范是以一種特定的語言來寫的,也應(yīng)該理解在此公開的方法論同樣地應(yīng)用于對存儲在數(shù)據(jù)存儲裝置中的數(shù)據(jù)進行導(dǎo)航或跟蹤的其他語言。迄今,上述的數(shù)據(jù)關(guān)系圖生成處理是在以下意義上用戶可配置的用戶可以通過在配置文件中定義選擇規(guī)范來配置他期望要執(zhí)行的某些選擇動作。用戶還可以通過控制圖6中描繪的循環(huán)處理來配置數(shù)據(jù)關(guān)系圖生成處理。循環(huán)處理可以以所需要的許多次迭代來繼續(xù),直至在任何查詢結(jié)果中沒有附加的數(shù)據(jù)項返回。可替換的,用戶可以通過施加退出條件來限制循環(huán)處理的迭代次數(shù),諸如η<n_maX,其中η作為在上述的嵌套的循環(huán)處理方案中執(zhí)行的第一級迭代的次數(shù),使得njiiax是沿著遠離表示所選擇的起始數(shù)據(jù)項的節(jié)點的路徑的邊的最大數(shù)目。用戶也可以在圖重現(xiàn)處理中直接控制在最終的圖上顯示多少節(jié)點和邊。在一些實施方案中,用戶可以在數(shù)據(jù)關(guān)系圖和用于數(shù)據(jù)瀏覽的用戶界面之間來回移動。例如,在數(shù)據(jù)瀏覽界面中,用戶可以選擇第一數(shù)據(jù)項并且請求該數(shù)據(jù)項的數(shù)據(jù)關(guān)系圖。在數(shù)據(jù)關(guān)系圖中,用戶可以選擇與第一數(shù)據(jù)項相關(guān)聯(lián)的節(jié)點不同的節(jié)點而將用戶界面重新指向?qū)?yīng)于數(shù)據(jù)項的數(shù)據(jù)瀏覽界面。在一些實施方案中,用戶可以針對詳細信息選擇數(shù)據(jù)關(guān)系圖形中的節(jié)點,其可以顯示在彈出窗口中,例如,顯示在圖8中所示的窗口800中。可以使用在計算機上執(zhí)行的軟件來實施上述的技術(shù)。例如,軟件形成在一個或多個編程的或可編程的計算機系統(tǒng)(其可以屬于各種架構(gòu),諸如分布式、客戶機/服務(wù)器,或者網(wǎng)格)上執(zhí)行的一個或多個計算機程序中的例程,上述編程的或可編程的計算機系統(tǒng)中的每一個包括至少一個處理器、至少一個數(shù)據(jù)存儲系統(tǒng)(包括易失性的和非易失性存儲器和/或存儲元件)、至少一個輸入設(shè)備或端口,以及至少一個輸出設(shè)備或端口。軟件可以形成例如用于提供與數(shù)據(jù)流圖形的設(shè)計和配置有關(guān)的其他服務(wù)的較大的程序的一個或多個模塊??梢詫⒃搱D形的節(jié)點和元素實施為在計算機可讀介質(zhì)中存儲的數(shù)據(jù)結(jié)構(gòu)或者符合在數(shù)據(jù)儲存庫中存儲的數(shù)據(jù)模型的其他組織的數(shù)據(jù)??梢栽谟赏ㄓ玫幕蛘邔S玫目删幊痰挠嬎銠C讀取的、諸如CD-ROM之類的存儲介質(zhì)中提供該軟件,或者可以通過網(wǎng)絡(luò)的通信介質(zhì)將該軟件遞送到(以傳播的信號來編碼)執(zhí)行該軟件的計算機??梢栽趯S糜嬎銠C上或者使用專用硬件(諸如協(xié)處理器)來執(zhí)行所有這些功能??梢砸苑植嫉姆绞絹韺嵤┰撥浖?,其中通過不同的計算機來執(zhí)行由該軟件指定的計算的不同部分。每一個這樣的計算機程序優(yōu)選地存儲在或者下載到通過通用的或者專用的可編程的計算機可讀取的存儲介質(zhì)或者設(shè)備(例如,固態(tài)存儲器或者介質(zhì),或者磁介質(zhì)或者光學(xué)介質(zhì)),當該存儲介質(zhì)或設(shè)備被計算機系統(tǒng)讀取時,用來配置和操作計算機以執(zhí)行在此描述的例程。還可以將本發(fā)明的系統(tǒng)視為配置有計算機程序的、實施為計算機可讀的存儲介質(zhì),其中這樣配置存儲介質(zhì)使得計算機系統(tǒng)以特定的和預(yù)定義的方式來操作以執(zhí)行在此描述的功能。已經(jīng)描述了本發(fā)明的許多實施例。然而,應(yīng)理解可以進行各種修改,而不脫離本發(fā)明的精神和范圍。例如,上述的一些步驟可能是與順序無關(guān)的,并且因此可以以與上述順序不同的順序來執(zhí)行。要理解的是,前述的描述旨在說明而不是限制本發(fā)明的范圍,本發(fā)明的范圍由所附的權(quán)利要求書的范圍來限定。例如,可以以不同的順序來執(zhí)行上述的許多功能步驟,而基本上不影響整個處理。其他實施例在以下權(quán)利要求的范圍中。權(quán)利要求一種用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的方法,該方法包括從用戶界面(300)接收(601)識別存儲在數(shù)據(jù)管理系統(tǒng)(340)中的第一數(shù)據(jù)項的請求(314);檢索(602)存儲的包括多個選擇規(guī)范(382,384)的配置信息(380),所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合;對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別;使用配置信息生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖;以及通過用戶界面來呈現(xiàn)(604)所生成的圖。2.如權(quán)利要求1所述的方法,其中根據(jù)選擇規(guī)范查詢數(shù)據(jù)管理系統(tǒng)以識別一個或多個數(shù)據(jù)項的集合包括響應(yīng)于請求,使用選擇規(guī)范來動態(tài)地配制查詢,通過數(shù)據(jù)管理系統(tǒng)來處理查詢,以及從識別一個或多個數(shù)據(jù)項的集合的數(shù)據(jù)管理系統(tǒng)接收查詢結(jié)果。3.如權(quán)利要求2所述的方法,其中查詢包括對數(shù)據(jù)管理系統(tǒng)進行導(dǎo)航的至少一個導(dǎo)航動作以檢索通過第一數(shù)據(jù)項的屬性引用的數(shù)據(jù)項。4.如權(quán)利要求2所述的方法,其中查詢包括對數(shù)據(jù)管理系統(tǒng)進行導(dǎo)航的至少一個導(dǎo)航動作以檢索具有引用第一數(shù)據(jù)項的屬性的數(shù)據(jù)項。5.如權(quán)利要求2所述的方法,其中通過數(shù)據(jù)管理系統(tǒng)處理查詢包括遞歸地對管理系統(tǒng)進行導(dǎo)航,并且返回在多個遞歸步驟的每一個處找到的至少一些數(shù)據(jù)項。6.如權(quán)利要求1所述的方法,其中查詢數(shù)據(jù)管理系統(tǒng)來確定是否識別附加數(shù)據(jù)項包括執(zhí)行多次查詢的迭代,其中每次迭代包括確定其中每一個與來自之前的迭代的之前的一個或多個數(shù)據(jù)項的集合的至少一個數(shù)據(jù)項有關(guān)的、一個或多個數(shù)據(jù)項的另一集合。7.如權(quán)利要求6所述的方法,其中執(zhí)行查詢的迭代直到不再找到與之前的一個或多個數(shù)據(jù)項的集合的任一個有關(guān)的數(shù)據(jù)項為止。8.如權(quán)利要求1所述的方法,還包括從用戶界面接收對配置文件的選擇,所述配置文件包括來自多個存儲的配置文件的配置信息,9.如權(quán)利要求1所述的方法,其中配置信息包括與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的標注規(guī)范,其用于構(gòu)建表示第一數(shù)據(jù)項的所生成的圖中的節(jié)點的標注。10.如權(quán)利要求1所述的方法,其中配置信息包括與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的標注規(guī)范,其用于構(gòu)建表示第一數(shù)據(jù)項和另一數(shù)據(jù)項之間的關(guān)系的所生成的圖中的邊的標注。11.如權(quán)利要求1所述的方法,其中每個預(yù)定類型對應(yīng)于數(shù)據(jù)流圖形處理系統(tǒng)中的不同部分。12.如權(quán)利要求11所述的方法,其中至少一個預(yù)定類型對應(yīng)于表示數(shù)據(jù)流圖形的部分的數(shù)據(jù)項,所述數(shù)據(jù)流圖形包括表示處理組件的節(jié)點和表示處理組件之間的數(shù)據(jù)流的鏈接。13.如權(quán)利要求11所述的方法,其中至少一個預(yù)定類型對應(yīng)于表示數(shù)據(jù)集中的字段的數(shù)據(jù)項。14.如權(quán)利要求1所述的方法,其中第一數(shù)據(jù)項包括描述與數(shù)據(jù)集或可執(zhí)行程序的至少一部分對應(yīng)的存儲的數(shù)據(jù)的元數(shù)據(jù)。15.如權(quán)利要求14所述的方法,其中存儲的數(shù)據(jù)被存儲在與數(shù)據(jù)管理系統(tǒng)不同的第一數(shù)據(jù)源中,并且所生成的圖包括表示在表示存儲的數(shù)據(jù)的節(jié)點和表示與存儲在第二數(shù)據(jù)源中的數(shù)據(jù)集或者可執(zhí)行程序的至少一部分對應(yīng)的數(shù)據(jù)的節(jié)點之間的數(shù)據(jù)體系關(guān)系的邊,其中所述第二數(shù)據(jù)源不同于第一數(shù)據(jù)源和數(shù)據(jù)管理系統(tǒng)。16.如權(quán)利要求14所述的方法,其中生成的圖包括表示在表示存儲的數(shù)據(jù)的節(jié)點和表示受該存儲的數(shù)據(jù)影響的實體的節(jié)點之間的下游數(shù)據(jù)體系關(guān)系的邊。17.如權(quán)利要求14所述的方法,其中生成的圖包括表示在表示存儲的數(shù)據(jù)的節(jié)點和表示從其得到該存儲的數(shù)據(jù)的源的節(jié)點之間的上游數(shù)據(jù)體系關(guān)系的邊。18.一種用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的系統(tǒng),所述系統(tǒng)包括存儲數(shù)據(jù)項的數(shù)據(jù)管理系統(tǒng);用戶界面,包括被配置為接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求的輸入界面;存儲系統(tǒng),存儲包括多個選擇規(guī)范的配置信息,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);數(shù)據(jù)管理系統(tǒng)界面,被配置為查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合,以及對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別;以及一個或多個處理器,被配置為使用配置信息執(zhí)行圖生成器來生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖;其中用戶界面包括被配置為呈現(xiàn)所生成的圖的輸出界面。19.一種用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的系統(tǒng),所述系統(tǒng)包括、用于從用戶界面接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求的部件;用于檢索存儲的包括多個選擇規(guī)范的配置信息的部件,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);用于查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合、并且對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個查詢數(shù)據(jù)管理系統(tǒng),以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別的部件;使用配置信息,用于生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖的部件;以及用于通過用戶界面來呈現(xiàn)所生成的圖的部件。20.一種存儲用于呈現(xiàn)指示存儲在數(shù)據(jù)管理系統(tǒng)中的數(shù)據(jù)項之間的關(guān)系的圖的計算機程序的計算機可讀介質(zhì),該計算機程序包括促使計算機進行以下操作的指令從用戶界面接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求;檢索存儲的包括多個選擇規(guī)范的配置信息,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項,其中每個選擇規(guī)范與各自不同的預(yù)定類型相關(guān)聯(lián);查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合;對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)來自與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的配置信息的選擇規(guī)范來確定是否附加數(shù)據(jù)項被識別;使用配置信息生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖;以及通過用戶界面來呈現(xiàn)所生成的圖。全文摘要呈現(xiàn)圖包括從用戶界面接收識別存儲在數(shù)據(jù)管理系統(tǒng)中的第一數(shù)據(jù)項的請求;檢索存儲的包括多個選擇規(guī)范的配置信息,所述選擇規(guī)范用于選擇數(shù)據(jù)管理系統(tǒng)中與預(yù)定類型的給定數(shù)據(jù)項有關(guān)的數(shù)據(jù)項;查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)與第一數(shù)據(jù)項的類型相關(guān)聯(lián)的選擇規(guī)范來識別一個或多個數(shù)據(jù)項的集合;對于在所識別的集合中的多個返回的數(shù)據(jù)項中的每一個,查詢數(shù)據(jù)管理系統(tǒng)以根據(jù)與返回的數(shù)據(jù)項的類型相關(guān)聯(lián)的選擇規(guī)范來確定是否識別附加數(shù)據(jù)項;使用配置信息生成指示識別的數(shù)據(jù)項之間的關(guān)系的圖;以及通過用戶界面來呈現(xiàn)所生成的圖。文檔編號G06F15/177GK101971165SQ200980106520公開日2011年2月9日申請日期2009年2月26日優(yōu)先權(quán)日2008年2月26日發(fā)明者杰弗里·布雷納德,艾倫·莫斯申請人:起元技術(shù)有限責任公司