W3C home > Mailing lists > Public > public-rdf-comments@w3.org > July 2013

Re: Merging and improving the Turtle test suite(s)

From: Eric Prud'hommeaux <eric@w3.org>
Date: Wed, 3 Jul 2013 11:31:03 -0400
To: Gregory Williams <greg@evilfunhouse.com>
Cc: public-rdf-comments@w3.org
Message-ID: <20130703153102.GE25039@w3.org>
* Gregory Williams <greg@evilfunhouse.com> [2013-02-28 10:34-0500]
> Gregg Kellogg wrote:
> 
> > Also the README at <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/tests-ttl/README> references <http://www.w3.org/2011/rdf-wg/wiki/Turtle_Test_Suite>, which says that tests should all be run with an assumed base of <http://example/base/>. This could probably be more prominent, perhaps in a dc:comment within the Manifest.
> 
> I'm joining this conversation (and work towards implementing the new turtle) rather late, but I had similar problems to David. Base URI resolution has often thrown me in the past, but I had problems passing some turtle tests based just on what the docs say.
> 
> I found the claim that "the assumed base URI for the tests is <http://example/base/> if needed" to be very confusing, as I understand it to *always* be needed, but that the resolution rules require that the base URI used when parsing is based on both this URI (which these docs call the "assumed base URI," but which RFC 3986 calls "default base URI") and also the "URI used to retrieve the entity" (in this case the relative URI of the turtle document being parsed). If that's correct, I think the language used to introduce this default base URI should be improved to use language that aligns with RFC 3986 and to remove the phrase "if needed".

The tests have been moved to <http://www.w3.org/2013/TurtleTests/> and
the relative IRI resolution is against that location.  The README and
<http://www.w3.org/2011/rdf-wg/wiki/Turtle_Test_Suite#Relative_IRI_Resolution>
explain this as
[[
The home of the test suite is
<http://www.w3.org/2013/TurtleTests/>. Per RFC 3986 section 5.1.3, the
base IRI for parsing each file is the retrieval IRI for that file. For
example, the tests turtle-subm-01 and turtle-subm-27 require relative
IRI resolution against a base of
<http://www.w3.org/2013/TurtleTests/turtle-subm-01.ttl> and
<http://www.w3.org/2013/TurtleTests/turtle-subm-27.ttl> respectively.
]]

If this resolution addresses your issues, please respond to this
message with a subject line which starts with "[RESOLVED]". Thank you
for your help in improving the Turtle specification.


> Another issue I had in working with the test suite is that the comments in the Turtle files are sometimes misleading or simply wrong. Here are two examples I saw:
> 
> * Test turtle-syntax-bad-base-03 has the comment "BASE without URI", but seems to actually be testing if an error is thrown when a DOT is used after a "BASE <http://example/>".

<http://www.w3.org/2013/TurtleTests/turtle-syntax-bad-base-03.ttl> now has:
# FULL STOP used after SPARQL BASE
BASE <http://www.w3.org/2013/TurtleTests/> .
<s> <p> <o> .


> * Test turtle-subm-27 has the wrong URI in the comment "In-scope base URI is http://www.w3.org/2001/sw/DataAccess/df1/tests/ at this point". Actual base URI at this point is probably <http://example/base/turtle-subm-27.ttl> (assuming my understanding of base URI resolution above is correct).

<http://www.w3.org/2013/TurtleTests/turtle-subm-27.ttl> now has:
# In-scope base URI is <http://www.w3.org/2013/TurtleTests/turtle-subm-27.ttl> at this point
<a1> <b1> <c1> .
@base <http://example.org/ns/> .
# In-scope base URI is http://example.org/ns/ at this point
<a2> <http://example.org/ns/b2> <c2> .
@base <foo/> .
# In-scope base URI is http://example.org/ns/foo/ at this point
<a3> <b3> <c3> .
@prefix : <bar#> .
:a4 :b4 :c4 .
@prefix : <http://example.org/ns2#> .
:a5 :b5 :c5 .


> thanks,
> .greg
> 
> 

-- 
-ericP
Received on Wednesday, 3 July 2013 15:31:31 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:57 UTC