2014-01-13 48 views
2

根據Apache website TDB'可用作單個機器上的高性能RDF存儲'。閱讀文檔我沒有看到它存儲什麼東西。它是否將每個資源存儲在自己的文件中,如this教程中所述定義的目錄中?如果這樣看起來好像不會很好地擴展。Apache TDB如何存儲RDF數據?

+1

我不清楚確切清楚你在問什麼。 RDF是一種基於圖形的數據表示,其中基本信息是由主體,謂詞和對象組成的有向邊(三元組)。 TDB是一家三重商店。當你加載一個RDF文檔時,例如用''tdbloader'](http://jena.apache.org/documentation/tdb/commands.html#tdbloader)加載,你就會在數據庫中結束文檔中的三元組。在初始設置之後,您通常會使用SPARQL更新來插入或刪除數據庫中的內容。 –

+0

TDB數據庫存儲在磁盤上(就像任何不在內存中的數據庫一樣),所以當你初始化一個可以訪問TDB存儲的Java對象時,你可以通過指向新的Java對象磁盤(在這種情況下,包含數據庫文件的目錄)。 –

回答

4

TDB不僅將文件存儲在指定的文件夾中。該文件的內容將被編入索引。有一個索引是爲一個文件構建的:一個索引是爲S P O順序構建的,另一個索引是爲例如P O S等等(如我對每個組合所說的)。

這些索引存儲在指定的文件夾中。根據查詢,相應的索引將被加載。

如果您將RDF文件添加到TDB商店,您將看到創建了許多文件。儘管這意味着文件的實際內容將被多次存儲(對於每個索引),但它會加快查詢的執行速度,這往往是最佳的存儲使用方式。

3

您鏈接的文檔包括一個TDB Design鏈接。

本頁包含什麼數據結構內部使用的技術細節,以及它們是如何存儲在磁盤上

+0

如果發生了這種情況,SO會減少到其內容的10%。 – ketan