What is the difference between triplestores and graph databases?

后端 未结 3 925
醉话见心
醉话见心 2021-01-31 10:20

There are triplestores (semantic databases), and there are general-purpose graph databases.

Both are based on the similar concepts of linking one \"item\" to another via

3条回答
  •  再見小時候
    2021-01-31 10:35

    To start with, besically all data-structures can be projected more or less painful into any underlying storage engine (or even your file system and text files). The reason to choose a certain data model and storage backend are IMHO:

    • your development and modelling preferences
    • your expected runtime performance for inserting, storing, and querying of your model.

    As mentioned before, both RDBMSes and TripleStores tend to be useful at runtime in "shallow" traversing of JOIN or SparQL traversals, and do much work in caches or prepared views etc. Graph Databases (uniquely Neo4j) put the graph structure actually down to the storage layer and do pointer chasing (with a number of optimizations) on node-record level. Thus, when traversing the graph, you don't need to touch more than your current subgraph down to the storage layer, thus being able to traverse parts of the data without touching the whole graph, resulting in constant performance for a number of interesting scenarios.

提交回复
热议问题