- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Wed, 25 Jul 2012 18:59:02 +0100
- To: Tomasz Pluskiewicz <tomasz.pluskiewicz@gmail.com>
- Cc: Juan Sequeda <juanfederico@gmail.com>, David McNeil <dmcneil@revelytix.com>, public-rdb2rdf-comments@w3.org
On 25 Jul 2012, at 18:24, Tomasz Pluskiewicz wrote: > It is what I have asked last month on > http://answers.semanticweb.com/questions/16823/blank-nodes-as-subject-maps-in-r2rml > > Indeed it is for direct mapping, which I implement using a default > mapping generator. Though I am still unsure how a subject map should > look like for a direct mapping such as in > http://www.w3.org/2001/sw/rdb2rdf/test-cases/#D005-1table3columns3rows2duplicates > test case. It does indeed seem that each tuple generates a fresh blank > node. If it were to only contain rr:termType and rr:class, then it is > invalid in the light of current specifications as Richard notes. > > Otherwise I would like to ask for guidance what should such default > mapping look like. The simplest rr:template could be something like: "IOUs:{fname}:{lname}:{amount}" This generates a fresh blank node for each distinct set of values. In other words, it re-uses the same blank node when there are duplicate rows. As noted in [1], this is legal for R2RML default mappings. You may be able to use database-specific SQL features to preserve duplicate rows. For example, in Oracle, "IOUs:{ROWID}" should work. Best, Richard [1] http://www.w3.org/TR/r2rml/#default-mappings > > Regard, > Tomasz Pluskiewicz > > On Wed, Jul 25, 2012 at 7:05 PM, Juan Sequeda <juanfederico@gmail.com> wrote: >> However, If this were to be valid, it would automatically generate a fresh >> bnode for each tuple. Which would lead us to the whole discussion that we >> had before about bnodes and the direct mapping. >> >> Tomasz, is this a feature or something that you need? >> >> Juan Sequeda >> +1-575-SEQ-UEDA >> www.juansequeda.com >> >> >> >> On Wed, Jul 25, 2012 at 11:59 AM, Richard Cyganiak <richard@cyganiak.de> >> wrote: >>> >>> On 25 Jul 2012, at 15:05, Tomasz Pluskiewicz wrote: >>>> Sorry to revive an old topic, but I have recenlty realized the root of >>>> my question. >>>> >>>> The R2RML specs at http://www.w3.org/TR/r2rml/#dfn-term-map state >>>> clearly that "A term map must be exactly one of the following: a >>>> constant-valued term map, a column-valued term map, a template-valued >>>> term map." Doesn't this mean that a term map >>>> >>>> <StudentsTriplesMap> rr:subjectMap >>>> [ >>>> rr:termType rr:BlankNode; >>>> rr:class <http://example.com/Student> >>>> ]; >>>> >>>> is in fact invalid, having no explicit rr:constant, rr:column or >>>> rr:template property? >>> >>> It is indeed invalid. You'd usually want an rr:template or rr:column that >>> creates the blank node identifier. >>> >>> Best, >>> Richard >>> >>> >>>> >>>> Regards, >>>> Tomasz >>>> >>>> On Fri, Jun 8, 2012 at 10:19 PM, Tomasz Pluskiewicz >>>> <tomasz.pluskiewicz@gmail.com> wrote: >>>>> Thank you for answering. Also, let me answer here again. >>>>> >>>>> I forgot to mention I intended the mapping as default mapping for >>>>> table without primary key. >>>>> >>>>> In my oppinion by default direct mapping should generate a blank node >>>>> for each row. And I do have mixed feelings about the behavior not >>>>> preserving duplicate rows. >>>>> >>>>> Regards, >>>>> Tomasz >>>>> >>>>> On Fri, Jun 8, 2012 at 6:26 PM, Juan Sequeda <juanfederico@gmail.com> >>>>> wrote: >>>>>> I asked on the forum, but let me ask here. >>>>>> >>>>>> are you expecting the R2RML engine to generate a blank node for each >>>>>> tuple, >>>>>> or do you have a column value that you would like to use in order to >>>>>> generate the blank node? >>>>>> >>>>>> Juan Sequeda >>>>>> +1-575-SEQ-UEDA >>>>>> www.juansequeda.com >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Jun 8, 2012 at 9:22 AM, David McNeil <dmcneil@revelytix.com> >>>>>> wrote: >>>>>>> >>>>>>>> From the latest R2RML draft: >>>>>>> >>>>>>> * a subject map is a term map, >>>>>>> http://www.w3.org/2001/sw/rdb2rdf/r2rml/#dfn-term-map >>>>>>> >>>>>>> * the termType property can be used on term maps, >>>>>>> http://www.w3.org/2001/sw/rdb2rdf/r2rml/#termtype >>>>>>> >>>>>>> So "yes", you can use termType on subject maps and this is how you >>>>>>> would >>>>>>> produce subjects as blank nodes. >>>>>>> >>>>>>> -David >>>>>> >>>>>> >>>> >>> >> >
Received on Wednesday, 25 July 2012 17:59:34 UTC