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