W3C home > Mailing lists > Public > public-rdb2rdf-wg@w3.org > October 2010

Re: R2RML draft - new introduction

From: Richard Cyganiak <richard@cyganiak.de>
Date: Thu, 14 Oct 2010 19:51:35 +0100
Cc: Souri Das <Souripriya.Das@oracle.com>, ashok.malhotra@oracle.com, RDB2RDF WG <public-rdb2rdf-wg@w3.org>
Message-Id: <3EB59D3F-0AF3-4AC1-B79E-712BA391CDEF@cyganiak.de>
To: Juan Sequeda <juanfederico@gmail.com>
Hi Juan,

On 14 Oct 2010, at 15:22, Juan Sequeda wrote:
> I'm assuming that the target vocabulary should also be the input,

Why? All that needs to be known about the target vocabulary is said in  
the R2RML mapping.

> hence
>
> R2R(R, V) = RDF

This would imply that I can use a given R2RML mapping with different  
target vocabularies as input. That's not the case. The target  
vocabulary is baked into the R2RML mapping.

> However, I believe that R2RML mapping is an input itself. Hence it  
> should be
>
> R2REngine(R, V, M) = RDF

That's what implementors have to build, but not what we have to write  
in the spec.

> where
>
> R2REngine is a RDB2RDF systen
> R is the relational schema
> V is the targe vocabulary
> M is the mapping expressed in R2RML
>
> What do you think?

The output graph has to contain information that's in the database  
tables. So the tables themselves have to be part of the input.

Richard


>
> Juan Sequeda
> +1-575-SEQ-UEDA
> www.juansequeda.com
>
>
> On Thu, Oct 14, 2010 at 9:17 AM, Richard Cyganiak  
> <richard@cyganiak.de>wrote:
>
>>
>> On 13 Oct 2010, at 22:49, Juan Sequeda wrote:
>>
>>> Let R be a relational schema
>>> Let V be a target vocabulary
>>>
>>> R2R(R, V) = RDF graph
>>>
>>> Is this correct?
>>>
>>
>> What is “R2R” supposed to be in the formula above?
>>
>> Richard
>>
>>
>>
>>
>>
>>
>>> Juan Sequeda
>>> +1-575-SEQ-UEDA
>>> www.juansequeda.com
>>>
>>>
>>> On Wed, Oct 13, 2010 at 1:50 PM, Souri Das  
>>> <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
>>>>> 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 18:52:11 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:00:21 UTC