A triplestore or RDF store is a purpose-built database for the storage and retrieval of Semantic triple[ TripleStore, Jack Rusher, , Workshop on Semantic Web Storage and Retrieval – Position Papers.] through Semantic query. A triple is a data entity composed of subject–predicate–object, like "Bob is 35" (i.e., Bob's age measured in years is 35) or "Bob knows Fred".
Much like a relational database, information in a triplestore is stored and retrieved via a query language. Unlike a relational database, a triplestore is optimized for the storage and retrieval of triples. In addition to queries, triples can usually be imported and exported using the Resource Description Framework (RDF) and other formats.
Implementations
Some triplestores have been built as database engines from scratch, while others have been built on top of existing commercial relational database engines (such as
SQL-based)
[, now expired; use of SQL relational databases as an RDF triple store.] or NoSQL document-oriented database engines.
Like the early development of online analytical processing (OLAP) databases, this intermediate approach allowed large and powerful database engines to be constructed for little programming effort in the initial phases of triplestore development. A difficulty with implementing triplestores over SQL is that although "triples" may thus be "stored", implementing efficient querying of a graph-based RDF model (such as mapping from
SPARQL) onto SQL queries is difficult.
Related database types
Adding a name to the triple makes a "quad store" or
named graph.
A graph database has a more generalized structure than a triplestore, using graph structures with nodes, edges, and properties to represent and store data. Graph databases might provide index-free adjacency, meaning every element contains a direct pointer to its adjacent elements, and no index lookups are necessary. General graph databases that can store any graph are distinct from specialized graph databases such as triplestores and network model.
See also
-
Dataspaces
-
Entity–relationship model
-
– The first two elements of the class-attribute-value triple (class, attribute) are pieces of some structural metadata having a defined semantic. The third element is a value, preferably from some controlled vocabulary.
-
Outline of databases
-
Semantic Integration
-
Semantic MediaWiki — an example of subject-predicate-object support for Semantic wiki, advanced query support, and implementations by many large organizations
-
SPARQL – W3C specification involving subject-predicate-object triples
-
List of SPARQL implementations
-
Entity–attribute–value model is a similar approach to data modeling.
External links