RdfAndSql
While SQL databases are sometimes used for StoringRDF (a la Large Triple Stores) it's also quite interesting to take SQL stores that were not designed with RDF in mind and export/expose them as RDF. With SPARQL, the connection becomes even more interesting.
Some implementations map the database contents to an RDF vocabulary that is created automatically from the database schema. Others require a manual mapping of tables and columns to RDF properties and classes, but support use of existing vocabularies without an external rules engine.
SPARQL-based
- D2R Server - SPARQL and LinkedData over HTTP; automatic, highly customizable mapping. Part of D2RQ (see below).
- SquirrelRDF - SPARQL over API or HTTP, automatic or manual mapping. SquirrelRDF exports LDAP as well as SQL via SPARQL. See AdapterArchitecture for more along those lines.
- SPASQL - SPARQL over MySQL, automatic mapping
- RDQuery - RDQL and SPARQL (?) over GUI, automatic mapping (same as Relational.OWL)
- DartGrid - is a Semantic Grid system, includes a SPARQL rewriting component using Datalog-like rules (more details in a PPT presentation and a Conference paper
- Virtuoso Universal Server - SPARQL-based Declarative Metaschema Language for exposing any Virtuoso-housed data, as well as HTTP-, ODBC-, JDBC-, and otherwise-accessible SQL and XML data sources as URI Dereferenceable Linked RDF Instance Data. RDFized data may be retrieved as RDF/XML, JSON, N3, etc.
- P2R - provides dynamic access to Prolog knowledge bases, which may wrap SQL queries, calls to web services, XML parsing, etc.
- Anzo Data Collaboration Server - from Cambridge Semantics, uses SPARQL to do integrated queries of RDBMSes in addition RDF stores, LDAP directories, etc. Also pushes RDF updates to SQL inserts&updates when possible.
- RDFox - Highly scalable in-memory RDF triple store supporting SPARQL queries and direct mapping of SQL data into RDF.
SPARQL Across Federated Sources
The Semantic Discovery System: Provides the functionality to rapidly build solutions for non technical Users to create and execute Ad Hoc queries using the network Graph User Interface (SPARQL to SQL is auto generated). Integrates and interconnects ALL data silo types - providing a virtual Semantic Web interface to all RDBMS's, Web Services, Excel Spreadsheets, and any Hybrid File Systems.
RDF/XML-based
- dbview - Browsable RDF/XML (LinkedData) over HTTP, manual mapping (?)
- Relational.OWL - RDF/XML dump, automatic mapping
- D2R Map - RDF/XML dump, manual mapping
- METAmorphoses - Produces RDF/XML through a template language that selects a subgraph. Includes servlet for publishing the RDF/XML as LinkedData. Manual mapping.
- Triplify is a small plug-in for Web applications, which reveals the semantic structures encoded in relational databases by making database content available as RDF, JSON or Linked Data.
- Virtuoso Universal Server (in SPARQL-based section above) facilitates retrieval of RDBMS-hosted data in RDF Linked Data form, including RDF/XML serialization.
- SPARQL2XQuery - Querying XML Data with SPARQL.
Proprietary APIs and query languages
- D2RQ - Java library, provides access to relational data from the command line, through SPARQL, and through the Jena API. Automatic, highly customizable mapping.
- FeDeRate - Algae query language, manual mapping (?)
- R2O - proprietary query language, manual mapping
- Jena property tables - Jena API, manual mapping
- Virtuoso Universal Server - (in SPARQL-based section above) uses SPASQL to implement its own Declarative Metaschema Language for exposing ODBC- or JDBC-accessible SQL data sources as URI Dereferenceable Linked RDF Instance Data. RDFized data may be retrieved as RDF/XML, JSON, N3, etc.
Other Related Dynamic RDF->SQL Mappings
- FOPLRelationalModel - Models a target relational model as a set of objects which dynamically generate optimized SQL queries (intersections, unions, etc..) from Basic Triple Patterns
Benchmarking RDB-to-RDF Tools
- latest info is found in RdfStoreBenchmarking
- Martin Svihala, Ivan Jelinek: Benchmarking RDF Production Tools Paper comparing the performance of relational database to RDF mapping tools (METAmorphoses, D2RQ, SquirrelRDF) with native RDF stores (Jena, Sesame)
Some History
- TimBL wrote a design note on Relational Databases on the Semantic Web in 1998.
- As a follow-up to some semweb dev track stuff at WWW2006 (e.g., D2R Server talk), a few of us (DanConnolly, ericP, EliasT, TimBL, AndyS, chimezie) got together for an IRC/phone meeting 8 Jun, where we agreed to use sparql-dev and this wiki topic.
- Chris B. and a few others had a lunch discussion at ESWC a few days later.
- Note the W3C Workshop on RDF Access to Relational Databases 25 to 26 October 2007 Cambridge, MA, USA.
Related
- List of Dynamic RDFizers for RDFization of non/less-structured sources.