Skip to content

Multiple correct outcomes for tests IRI-resolution-01 and IRI-resolution-02 (in Turtle and TriG) #146

@afs

Description

@afs

RFC 3986 section 5.2.2 allows for strict and non-strict resolution:

 -- A non-strict parser may ignore a scheme in the reference
 -- if it is identical to the base URI's scheme.

The tests

  • rdf/rdf11/rdf-turtle/IRI-resolution-01.ttl
  • rdf/rdf11/rdf-turtle/IRI-resolution-02.ttl

are affected because they have a test for resolving http:g against an http base.

There are two correct answers: if http: is ignored, the result is the same as resolving <g> (non-strict) otherwise it is <http:g> (strict - scheme already present).

    if ((not strict) and (R.scheme == Base.scheme)) then
         undefine(R.scheme);
         endif;
    if defined(R.scheme) then
         T.scheme    = R.scheme;
         T.authority = R.authority;
         T.path      = remove_dot_segments(R.path);
         T.query     = R.query;
    . . .

IRI-resolution-02 has:

@base <http://a/bb/ccc/d/>.
...
<urn:ex:s044> <urn:ex:p> <g>.
...
<urn:ex:s084> <urn:ex:p> <http:g>.

IRI-resolution-01 has a base of <http://a/bb/ccc/d;p?q>.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions