簡體   English   中英

triplestores和圖形數據庫之間有什么區別?

[英]What is the difference between triplestores and graph databases?

有三個商店(語義數據庫),還有通用圖形數據庫。

兩者都基於通過關系將一個“項目”鏈接到另一個“項目”的類似概念。 Triplestores支持RDF並由SPARQL查詢,但是這些附加組件也可以(並且)在通用圖形數據庫的頂部實現。

什么是使您更喜歡語義db / triplestore到neo4j這樣的通用圖數據庫的根本區別?

三元組商店圖形數據庫。 RDF 一個圖表。 當然,三重商店往往不會在內部將信息存儲為圖表; 這對於查詢回答來說是次優的,但它們仍然是圖形數據庫。

如果你對基於W3C標准的生態系統感興趣,你會更喜歡neo4j。 與其他基於RDF的系統互操作變得微不足道,它使得拾取所有東西並移動到不同的三重存儲非常輕松。

首先,所有數據結構都可以或多或少地投射到任何底層存儲引擎(甚至文件系統和文本文件)中。 選擇特定數據模型和存儲后端的原因是恕我直言:

  • 您的開發和建模首選項
  • 用於插入,存儲和查詢模型的預期運行時性能。

如前所述,RDBMS和TripleStores在運行時在JOIN或SparQL遍歷的“淺層”遍歷中往往很有用,並且在緩存或准備好的視圖等方面做了很多工作。圖形數據庫(唯一的Neo4j)實際上將圖形結構放到了存儲層並在節點記錄級別上執行指針追蹤(具有許多優化)。 因此,當遍歷圖形時,您不需要觸摸比當前子圖更多的內容到存儲層,因此能夠遍歷部分數據而不觸及整個圖形,從而導致許多有趣場景的持續性能。

我的2美分。

Neo4j屬於Property Graph類別。 它們支持有向關系,每個關系只有兩個節點; 起始節點和結束節點。 節點和關系可以以鍵值對的形式存儲任意數據。 然而,他們無法支持3-ary關系。 即你不能有一個邊連接兩個以上的節點,即一種超級范圍 但是,您可以通過創建連接節點來模擬屬性圖中的3元關系。 你可以在這里看到如何在neo4j中實現它

Triplestores以SPARQL的形式具有標准化查詢語言,但是還沒有用於查詢其他圖形數據庫的標准。 RDF是從triplestores導入/導出的標准。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM