- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Mon, 22 Mar 2010 23:24:19 -0500
- To: Richard Cyganiak <richard@cyganiak.de>
- Cc: Souripriya Das <souripriya.das@oracle.com>, Public-Rdb2rdf-Wg <public-rdb2rdf-wg@w3.org>
- Message-ID: <f914914c1003222124s40331d82of379423954d24772@mail.gmail.com>
Richard, > > 1. Why the SQL query based approach is nice > ------------------------------------------- > > First, I definitely see the attraction of the SQL query based approach. I > understand this approach as: leveraging the expressivity of SQL to do as > much of the mapping/transformation as possible, with some simple glue around > it that essentially turns each SQL result record into a few triples > according to some simple rules. > > It's attractive because the approach leverages existing SQL knowledge of > mapping authors; it maximises expressivity; it means we don't have to > specify a large chunk of the problem ourselves; it produces syntactically > compact mappings. So, purely from an authoring point of view it is > definitely a nicer approach than any of the proposed alternatives (D2RQ, > Virtuoso RDF views, R2O etc). > > In order to run SPARQL queries against such a mapped database, one would > use the “triple view” approach, as detailed in Juan's work. So the > SPARQL-to-SQL engine would create a single view in the DB which consists of > lots of unions and in the end contains one row for each mapped triple, with > subject, predicate and object. How to run SPARQL queries against such a > relational structure is well-known from prior work on database-backed triple > stores. The result is a humongous SQL query over a humongous view > definition, but as Juan has shown, good SQL optimizers can simplify this > into a reasonable query plan. > You don't have to use a triple view approach. Our inspiration of the triple view was from the naive triple table approach that initial rdbms backed triple stores used. It was an experiment to see how the sql optimizer would work.. and it turned out pretty neat. So Yes, we great a humongous view definition. But No, this is not THE way to go. Our work shows what can be done with very little effort (hoping to persuade that this is useful and it isn't going to cost basically anything) The same way we create a humongous sql triple view definition, you could create several views a la triplify or oracle proposal. The advantage (IMO) of our triple view approach is that the sparql to sql translation is straightforward and we let all the hard stuff to the optimizer (hence it needs to be a good optimizer). My guess is that if you to follow another approach, the sparql to sql translation may be a bit more complicated (and may not depend on the sql optimizer). However, this shouldn't be part of the WG.
Received on Tuesday, 23 March 2010 04:24:51 UTC