Re: R2RML draft - new introduction

Richard,


On Thu, Oct 14, 2010 at 1:51 PM, Richard Cyganiak <richard@cyganiak.de>wrote:

> 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.
>
>
Exactly!!

"The intended audience of this specification are implementors of software
that generates or processes R2RML mapping documents"

So as the implementor, I'm confused. I want to see R2REngine(R,V,M) = RDF
(or something like this). The mapping is an input.

I'm showing this to other people and I'm sharing their confusions... which
at the same time is confusion me.


>
>  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.
>
>
>
A relational schema consists of tables.



>  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 19:10:35 UTC