- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Wed, 13 Oct 2010 21:41:31 -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: <AANLkTin+6jdQ+p_dKmd36Cwb4rajnNJLM4FDJEARBf2J@mail.gmail.com>
Juan Sequeda +1-575-SEQ-UEDA www.juansequeda.com On Wed, Oct 13, 2010 at 8:52 PM, Boris Villazón Terrazas < bvillazon@fi.upm.es> wrote: > Juan and all, > > > On 14/10/2010 3:17, Juan Sequeda wrote: > > 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/ > > :) > > > > Yes, they are similar .... :) > > >> >> 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? > > > Maybe, I'm introducing some noise (sorry for that), but the notion of R2RML > engine is extracted from Richard and Souri introduction: > ".... The mapping is conceptual; *implementations are free to materialize > *the output data, or to offer virtual access through an interface that > queries the underlying database. ... " > and > " .... 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 ..." > > I was thinking in some like > http://mccarthy.dia.fi.upm.es/rdb2rdf/R2RMLEngine.png > > Sorry if I'm wrong. > I agree with you. However I feel that the following contradicts: "The input to an R2RML mapping is a relational database" I thought that R2RML mapping AND the relational database AND vocabulary are all inputs. > > Boris > > > > > >> 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 02:42:26 UTC