Re: R2RML draft - new introduction

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. The input to an R2RML mapping is a relational  
database that conforms to the schema. 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 Wednesday, 13 October 2010 18:12:30 UTC