- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Wed, 13 Oct 2010 20:17:36 -0500
- To: bvillazon@fi.upm.es
- Cc: RDB2RDF WG <public-rdb2rdf-wg@w3.org>, Souri Das <Souripriya.Das@oracle.com>, Richard Cyganiak <richard@cyganiak.de>, ashok.malhotra@oracle.com
- Message-ID: <AANLkTi=6E0OPKU9oau5zYmsOF3eC12epyUZ4B_AgECBZ@mail.gmail.com>
Boris and all, On Wed, Oct 13, 2010 at 8:10 PM, Boris Villazón Terrazas < 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/ <http://www.w3.org/2001/sw/rdb2rdf/use-cases/>:) > > > 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? > Boris > > > > > > > > > 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 01:18:32 UTC