- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Thu, 14 Oct 2010 19:51:35 +0100
- To: Juan Sequeda <juanfederico@gmail.com>
- Cc: Souri Das <Souripriya.Das@oracle.com>, ashok.malhotra@oracle.com, RDB2RDF WG <public-rdb2rdf-wg@w3.org>
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. > 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. 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 18:52:11 UTC