Re: Unsetting @base and @prefix

Yes, this addresses my comment.  I hadn't even thought of the blank
node issue, but it would indeed complicate concatenation
significantly.

-Stephen

On Wed, Feb 13, 2013 at 11:47 PM, Eric Prud'hommeaux <eric@w3.org> wrote:
> * Stephen Allen <sallen@apache.org> [2012-09-17 11:04-0700]
>> RDF Working Group,
>>
>> I apologize for not getting this comment out before the 15th.
>> Hopefully it is not too late for consideration.
>>
>> I have a concern about the @base and @prefix features of IRI
>> construction.  I like that you can set these and re-map them at any
>> point.  However, there doesn't appear to be a way to unset them.  This
>> seems like it could lead to silent creation of incorrect data when you
>> would actually want a parsing error.
>>
>> An example would be if you were using text tools to concatenate turtle
>> files together [1].  If the files were unrelated, you would want to
>> ensure they are not inadvertently sharing prefixes or base IRIs if one
>> of the files is internally invalid (referring to an undefined prefix
>> that just happens to be defined in an earlier file).
>>
>> A proposed syntax for unsetting base IRI and prefix state:
>>
>>     @base .      # Unsets base URI
>>     @prefix .     # Unsets all prefixes
>>     @prefix ex:  # Unsets the ex: prefix
>>
>> Thanks for your time!
>>
>> -Stephen
>>
>>
>> [1] Sample bash script to concatenate Turtle files:
>>
>> #!/usr/bin/env bash
>> for file in *.ttl; do
>>   cat $file >> out.ttl
>>   echo -e "\n @base . @prefix . \n" >> out.ttl
>> done
>
> Apologies for the extreme delay in responding to your comment on the
> Last Call draft of Turtle.
>
> The RDF Working Group noted that there was no actual implementation
> experience indicating widespread need for resetting base and prefix
> and that other complications arise, e.g. the unification of
> similarly-named BNodes. We elected instead to add the text
> [[
> Note that concatenation of Turtle files does not necessarily produce
> the RDF graph merge of the two serialized graphs and can lead to
> unexpected results. For instance, @base may change the Base IRI,
> re-used blank node labels will be merged.
> ]]
>
> Note that the script above could produce different triples if
> e.g. a.ttl had relative IRIs:
>   <out.ttl/s> <out.ttl/p> <out.ttl/o> .
> vs.
>   <a.ttl/s> <a.ttl/p> <a.ttl/o> .
> Echoing "@base <$file> .\n" seems like it would improve the situation.
> Please let us know if this addresses your comment.
> --
> -ericP

Received on Saturday, 23 February 2013 22:26:15 UTC