RDF object in SQL database

By default now i am using Quad Store DB. Is there an option to save RDF triplets with Sparql query in SQL database. I saw some converter in the documentation but i did not found some example in Java. I can make connection with virtuoso.jdbc4.Driver to the DB but i dont know how can Triplets be saved in SQL (should I create seperate tables and etc. or Virtuoso will handle that just with changing the connection driver).

I must ask, why do you want to “save RDF [triples to a] SQL database”? My sense is that you think you need to do something, which is already handled within Virtuoso components.

Virtuoso is a hybrid, a multi-model DBMS, which handles SQL data as well as RDF data, and SQL queries as well as SPARQL queries. RDF graph data naturally belongs in the triple/quad-store, and SQL tabular data naturally belongs in the table-store – and both RDF graph data and SQL tabular data are accessible through both SQL queries (using SPASQL or SPARQL-in-SQL to get the RDF data) and SPARQL queries (using SQL stored procedures to get the SQL data).

If you will describe what you’re trying to achieve, and what your actual starting point is or will be, we can better advise you on how to achieve your goal(s).


Considering this particular case, there is a customer requests (electric utility) which is firmly familiar with MSSQL to use it. Among other things customer is performing statistics reports and they are familiar with typical SQL querying. Beside that they have a maintenance team who is willing to assign a separate instance/s on their MSSQL cloud solution - better then dealing with external SQL store.

If we’re to convince customer, everything they need to do is available in Virtuoso solution, maybe we could come to a common agreement. However from my experiences they are hard to be released from their “beliefs” .

@sif7en: This sounds like the same question you emailed me about, presented slightly differently.

Are you saying the customer has reporting applications with SQL interfaces, and thus want to use these same application to query the Virtuoso RDF Quad Store and retrieve results in tabular form? This is possible, as any SPARQL query can be executed via any of the Virtuoso SQL interfaces (i.e. JDBC, ODBC, ADO.Net, etc.) by prepending the query with the SPARQL keyword, which will instruct the Virtuoso to direct this request to the SPARQL engine and return any result in tabular form for consumption by the SQL application. See the following post on How Virtuoso extends SQL with SPARQL — and vice versa

It is still not clear to me as how this MSSQL cloud solution fits into the mix. Does this contain data that would also need to be queried either directly as relational data or as RDF Views of the relational data?