- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Thu, 14 Oct 2010 09:22:13 -0500
- To: Richard Cyganiak <richard@cyganiak.de>
- Cc: Souri Das <Souripriya.Das@oracle.com>, ashok.malhotra@oracle.com, RDB2RDF WG <public-rdb2rdf-wg@w3.org>
- Message-ID: <AANLkTin2+pCwSOjHtsJCFH_8NN2Pu6xrqJf-8vEQRLW6@mail.gmail.com>
Richard, As I read the document, it says: "The input to an R2RML mapping is a relational database" I'm assuming that the target vocabulary should also be the input, hence R2R(R, V) = RDF R2R is the "R2RML mapping" However, I believe that R2RML mapping is an input itself. Hence it should be R2REngine(R, V, M) = RDF 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? 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 14:23:17 UTC