- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Thu, 14 Oct 2010 15:17:23 +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>
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 14:17:58 UTC