Re: R2RML draft - new introduction

Richard,

As I read the document, it says:

"The input to an R2RML mapping is a relational database"

I'm assuming that the target vocabulary should also be the input, hence

R2R(R, V) = RDF

R2R is the "R2RML mapping"

However, I believe that R2RML mapping is an input itself. Hence it should be

R2REngine(R, V, M) = RDF

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?

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 14:23:17 UTC