Re: R2RML doubts: Inverse Expressions and No Join Conditions

Hello,

I always wondered the motivation of inverse expressions as well, so thanks for bringing that up.

As for your second question, I believe the specifications does not state that it acts like a Cartesian product because of this condition:
> If the child query <https://www.w3.org/TR/r2rml/#dfn-child-query> and parent query <https://www.w3.org/TR/r2rml/#dfn-parent-query> of a referencing object map <https://www.w3.org/TR/r2rml/#dfn-referencing-object-map> are not identical, then the referencing object map must have at least one join condition <https://www.w3.org/TR/r2rml/#dfn-join-condition>.
> 
This implies a join. But that raises another question, what is “identical”? Are the parent queries that are obtained from rr:tableName “X” and rr:sqlQuery “SELECT * FROM X AS FOO”?

Best,

Christophe


> On Jan 7, 2019, at 17:20, Aidan Hogan <aidhog@gmail.com> wrote:
> 
> Hi all,
> 
> I'm writing a section about R2RML for a book and I have two doubts:
> 
> 
> * Inverse expressions: I think I get the idea technically speaking, but I don't understand in what use-case or scenario it would be useful to do such a reverse search (or, more generally, what was the motiviation to define these expressions in the standard).
> 
>  https://www.w3.org/TR/r2rml/#inverse
> 
> (Searching around on the Web, a lot of material just seems to paraphrase the standard, but unfortunately the standard itself is not clear to me.)
> 
> 
> * For referencing object maps without a join condition, the definitions suggest that this acts like a Cartesian product (and intuitively this would make a lot of sense to me) but the standard provides an example where the parent and child maps refer to the same table that seems to contradict that idea.
> 
>  https://www.w3.org/TR/r2rml/#ex-ref-object-map2
> 
> The text above states:
> 
>  "No join condition is needed as both triples maps use the same logical table (the base table DEPT)."
> 
> While it's not clear what it means that "no join condition is needed", what I think it's trying to tell me is that when the parent and child tables are the same, by default the same row will be used in the parent and child map to generate the subject/object. But the definitions do not seem to support that and unfortunately the concrete example provided is ambiguous in the standard because it only has one row (so the Cartesian product interpretation and the row-by-row interpretation give the same result, as seen). I'm wondering what was the intention here?
> 
> 
> (Perhaps there is a better place to ask these questions, but it seems the list public-rdb2rdf-wg@w3.org has been deactivated. Also just to add that in general I quite like the R2RML language design and find it quite intuitive; just these two points have me really puzzled.)
> 
> Cheers!
> Aidan
> 

Received on Monday, 7 January 2019 16:53:57 UTC