Re: URI fragments in test cases

* David McNeil <dmcneil@revelytix.com> [2011-02-10 08:00-0600]
> I notice the test cases use URI fragment like this:
> 
> <#TriplesMap1>
> 
> without defining an @base URI. For example:
> http://www.w3.org/2001/sw/rdb2rdf/wiki/R2RML_Test_Cases_v1#R2RMLTC0000
> 
> It seems to me that it would be better to completely specify the URIs in the
> test mappings rather than leaving them open in this way. From working with
> implementing the test cases I have found that the ambiguity of the URIs gets
> in the way of what we are really trying to test which is the R2RML mapping
> functionality.

Noting that David's point about the the human comprehension of the
tests, here are a couple related technical points.

I found the direct mapping test cases slightly simpler when I was just
comparing two graphs which happened to be relative. This allowed me to
not pass an arbitrary base parameter to the function which generates
the mapping. Compare
 relative test: DM(db) == parse(expected)       # expected's IRIs are relative.
vs.
 absolute test: DB(db, base) == parse(expected) # expected's IRIs are absolute.

Having absolute IRIs for the DM tests will require tests to specify
the base external to the expected turtle (or grep for @base, which
is a bit of a precarious hack^h^hconvention).

While the DM is simple enough to be entirely represented using
relative IRIs, R2RML simply must have some absolute IRIs. I guess an
implementation which could only compare absolute graphs could supply a
base like http://34fdiq23htye.example/some/path/ to both the parser
and the mapping function.


> -David

-- 
-ericP

Received on Thursday, 10 February 2011 15:23:05 UTC