Re: R2RML draft - new introduction

  Juan and all,

On 14/10/2010 3:17, Juan Sequeda wrote:
> Boris and all,
>
> On Wed, Oct 13, 2010 at 8:10 PM, Boris Villazón Terrazas 
> <bvillazon@fi.upm.es <mailto:bvillazon@fi.upm.es>> wrote:
>
>     Hi Juan
>
>
>     On 13/10/2010 23:49, Juan Sequeda wrote:
>>     I don't think answers my question.
>>
>>     Just to make sure that I understand what is being proposed, I see
>>     as the following:
>>
>>     Let R be a relational schema
>>     Let V be a target vocabulary
>>
>>     R2R(R, V) = RDF graph
>>
>>     Is this correct?
>     As far as I understand and according to the introduction:
>     R2RML is a language for expressing customized mappings from
>     relational databases to RDF datasets.
>
>     Again, I took the liberty of creating a preliminary diagram that
>     depicts this definition. You can find it at:
>     http://mccarthy.dia.fi.upm.es/rdb2rdf/R2RML.png
>
>
> Just like the one in the use case doc
>
> http://www.w3.org/2001/sw/rdb2rdf/use-cases/
>
> :)

Yes, they are similar .... :)
>
>
>
>     IMHO, a R2RML mapping only expresses the mappings from RDB to RDF.
>     A specific R2RML engine takes as input: the R2RML mapping, the RDB
>     connection info, the target RDF dataset (vocabulary?) and
>     generates as output an RDF dataset
>
>     Or am I wrong?
>
>
> This is exactly what I want to have 100% cleary.
>
> Richard (I think) stated
>
> "The input to an R2RML mapping..."
>
> Now you introduce R2RML Engine and the input to that is the R2RML 
> mapping, RDB etc....
>
> So this is not consistent.
>
> We have then
>
> 1) R2RML mapping has inputs
> 2) R2RML mapping is an input itself
>
> What are we talking about?

Maybe, I'm introducing some noise (sorry for that), but the notion of 
R2RML engine is extracted from Richard and Souri introduction:
".... The mapping is conceptual; *implementations are free to 
materialize *the output data, or to offer virtual access through an 
interface that queries the underlying database. ... "
and
" .... A *client connecting to the relational database, *EITHER to 
materialize the RDF triples based upon an RDB2RDF mapping, OR to query 
via SQL query obtained via translation of a (end-user submitted) SPARQL 
query using an RDB2RDF mapping, must have sufficient privileges in the 
relational database to compute the logical table(s) specified in the 
mapping ..."

I was thinking in some like
http://mccarthy.dia.fi.upm.es/rdb2rdf/R2RMLEngine.png

Sorry if I'm wrong.

Boris

>
>
>     Boris
>
>
>
>
>
>
>
>>
>>     Juan Sequeda
>>     +1-575-SEQ-UEDA
>>     www.juansequeda.com <http://www.juansequeda.com>
>>
>>
>>     On Wed, Oct 13, 2010 at 1:50 PM, Souri Das
>>     <Souripriya.Das@oracle.com <mailto:Souripriya.Das@oracle.com>> wrote:
>>
>>         Not sure if you saw my earlier email ... I am including it
>>         here anyway, just in case:
>>         =====================
>>
>>         Ashok's question is very important and the answer in our FPWD
>>         must be absolutely clear.
>>
>>         I like the answer Richard came up with after discussing with
>>         Michael.
>>
>>         We may want to consider a rephrasing like the following:
>>         "An RDB2RDF mapping may be used against a relational database
>>         only if the logical table(s) used in the mapping is (are)
>>         valid in that relational database."
>>
>>         Also, there is an issue of privileges for actually using an
>>         RDB2RDF mapping:
>>         "A client connecting to the relational database, EITHER to
>>         materialize the RDF triples based upon an RDB2RDF mapping, OR
>>         to query via SQL query obtained via translation of a
>>         (end-user submitted) SPARQL query using an RDB2RDF mapping,
>>         must have sufficient privileges in the relational database to
>>         compute the logical table(s) specified in the mapping."
>>
>>         Thanks,
>>         - Souri.
>>         =====================
>>
>>
>>         Juan Sequeda wrote:
>>>         On Wed, Oct 13, 2010 at 1:11 PM, Richard Cyganiak
>>>         <richard@cyganiak.de <mailto:richard@cyganiak.de>> wrote:
>>>
>>>             On 13 Oct 2010, at 15:12, ashok malhotra wrote:
>>>
>>>                 How about "The input to an R2RML mapping is a
>>>                 Relational database which contains the data as well
>>>                 as the schema."
>>>
>>>
>>>             Well, the input can't be a database with *any* schema;
>>>             it must be the same schema that the mapping was written
>>>             for. I'd like to make that as clear as possible.
>>>
>>>             How about this:
>>>
>>>             “Every R2RML mapping is tailored to a specific database
>>>             schema and target vocabulary.
>>>
>>>
>>>         target vocabulary or vocabularies
>>>
>>>             The input to an R2RML mapping is a relational database
>>>             that conforms to the schema.
>>>
>>>
>>>         so you mean:
>>>
>>>         RDB and Vocabulary --> R2RML Mapping --> RDF
>>>
>>>         or is a R2RML mapping and input self:
>>>
>>>         RDB and Vocabulary and R2RML Mapping --> RDB2RDF System --> RDF
>>>
>>>             The output is an RDF dataset, as defined in SPARQL, that
>>>             uses predicates and types from the target vocabulary.”
>>>
>>>             This is for the intro; in the later chapters there is
>>>             more space to spell it out in detail.
>>>
>>>             Richard
>>>
>>>
>>>
>>>
>>>
>>>
>>>                 All the best, Ashok
>>>
>>>                 On 10/13/2010 4:01 AM, Richard Cyganiak wrote:
>>>
>>>                     Ashok,
>>>
>>>                     On 12 Oct 2010, at 23:59, ashok malhotra wrote:
>>>
>>>                         One question.  You say:
>>>
>>>                             The input to an R2RML mapping is a
>>>                             relational database.
>>>
>>>
>>>                         Is it a relational database or a relational
>>>                         database schema?
>>>
>>>
>>>                     Good question. I discussed this a bit with
>>>                     Michael this morning.
>>>
>>>                     Definition: An RDB schema consists of the table
>>>                     *declarations*, but it does not include the
>>>                     actual *data* in the tables.
>>>
>>>                     Definition: A relational database on the other
>>>                     hand consists of both an RDB schema, and data
>>>                     that populate the tables.
>>>
>>>                     The input to an R2RML mapping has to include the
>>>                     actual data, because otherwise how could a
>>>                     transformed form of the data be part of the
>>>                     mapping's output? So the input is indeed a
>>>                     relational database.
>>>
>>>                     On the other hand, an R2RML mapping is
>>>                     *specific* to an RDB schema. That is, it only
>>>                     works with an input database that conforms to a
>>>                     certain schema (contains certain tables and
>>>                     columns). Let's call that schema the “input
>>>                     schema” of the mapping. One could then say that
>>>                     the input to a mapping is any database that
>>>                     conforms to the input schema. In other word, the
>>>                     domain of an R2RML mapping is the set of all
>>>                     databases that conform to the mapping's input
>>>                     schema.
>>>
>>>                     I think the notion of an input schema is
>>>                     actually really valuable for writing the spec.
>>>                     For example, it allows us to say things like,
>>>                     “the SQL query in a TriplesMap MUST be a SELECT
>>>                     query that can be validly executed over the
>>>                     input schema.”
>>>
>>>                     Richard
>>>
>>>
>>>
>>>
>>
>>
>
>

Received on Thursday, 14 October 2010 01:53:18 UTC