Re: R2RML test suite bugs

Hi Richard

Thanks! pls see my comments inline

On Jun 30, 2012, at 4:07 PM, Richard Cyganiak wrote:

> Hi Boris,
> 
> I've spotted a few bugs in the R2RML test suite. I've used the latest test suite from hg. One bug makes the test mapping invalid. A couple others violate SHOULD-level requirements without a good reason.
> 
> Best,
> Richard
> 
> 
> == R2RMLTC0014b ==
> 
> The mapping file contains the following SQL query as an R2RML view:
> 
>       SELECT ('http://example.com/emp/' || "empno") AS empURI
>            , "empno"
>            , "ename"
>            , ('http://example.com/emp/job/'|| "job") AS jobTypeURI
>            , "job"
>            , deptno
>            , ('http://example.com/emp/etype/'|| "etype") AS empTypeURI
>            , "etype"
>            , ('http://example.com/graph/'|| "job" || '/' || "etype") AS graphURI
>       FROM "EMP"
> 
> deptno needs to be enclosed in double quotes to match the table definition. 
> 
Done.

> 
> == R2RMLTC0005a ==
> == R2RMLTC0011a ==
> == R2RMLTC0013a ==
> 
> They use the following template:
> 
>   http://example.com/{"fname"}-{"lname"}
>   http://example.com/{ID}/{FirstName}-{LastName}
>   http://example.com/Person/{"ID"}/{"Name"}-{"DateOfBirth"}
> 
> Such templates SHOULD NOT be used because “-” is not a safe separator if fname or lname ever contains a dash:
> http://www.w3.org/TR/r2rml/#dfn-safe-separator
> 
> I suggest replacing the dashes with any IRI delim or sub-delim character, for example:
> 
>   http://example.com/{"fname"}+{"lname"}
>   http://example.com/{"fname"};{"lname"}
>   http://example.com/{"fname"}/{"lame"}

Done.

> 
> 
> == R2RMLTC0005b ==
> == R2RMLTC0012a ==
> == R2RMLTC0012b ==
> == R2RMLTC0012e ==
> 
> They use templates like the following:
> 
>   {"fname"}{"lname"}
> 
> Such templates SHOULD NOT be used. The empty string is not a safe separator. Strings generated from such templates cannot be reversed.
> 
> I suggest adding a separator that is unlikely to occur in the used columns, for example:
> 
>   {"fname"}|{"lname"}
>   {"fname"}_{"lname"}
> 
I've included the _ as separator in the templates. As you can see in all these cases we are dealing with bnodes.
We had a discussion about this in a telecon [1] because a comment from Toby [2].


> 
> == R2RMLTC0006a ==
> == R2RMLTC0014c ==
> 
> Both use term maps with rr:constant, and specify an rr:termType:
> 
>   rr:objectMap [ rr:constant "Bad Student"; rr:termType rr:Literal; ]
> 
> Specifying rr:termType has no effect on a constant-valued term map. It only affects column- and template-valued term maps:
> http://www.w3.org/TR/r2rml/#termtype
> 
> This is because the term type for a constant-valued term map is simply determined by the constant node. "Bad Student" is a literal, so the resulting term is a literal.
> 
> As the spec states: “An R2RML mapping graph SHOULD NOT include IRIs from the R2RML vocabulary where such use is not explicitly allowed or required by a clause in this specification.” Hence I suggest removing these rr:termType triples.

Done

Boris



[1] http://www.w3.org/2012/06/12-rdb2rdf-minutes.html
[2] http://lists.w3.org/Archives/Public/public-rdb2rdf-comments/2012Jun/0020.html

Received on Sunday, 1 July 2012 16:09:22 UTC