- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Thu, 28 Aug 2003 16:27:27 -0400
- To: Jeremy Carroll <jjc@hplb.hpl.hp.com>, Art Barstow <Art.Barstow@nokia.com>
- Cc: Charlie Abela <abcharl@keyworld.net>, www-rdf-interest@w3.org
On Wed, Aug 27, 2003 at 11:54:51AM -0400, Eric Prud'hommeaux wrote:
>
> On Wed, Aug 27, 2003 at 03:08:51PM +0100, Jeremy Carroll wrote:
> >
> >
> > (Would value comment from other WG members)
> >
> >
> > Charlie Abela wrote:
> >
> >
> > >I am trying to parse some DAML with the validator. The parsing of this
> > >file used to give no complaint except that lately I am being faced with
> > >this error: Error: {W130} Base URI is "", relative URIs left as relative
> > >and I can?t figure out why?
> >
> >
> > Also this example from Art Barstow:
> >
> > <rdf:Description rdf:ID="Profile">
> > <dc:title>World Wide Web Consortium</dc:title>
> > </rdf:Description>
> >
> > generating the same error.
> >
> > At some point I upgraded ARP to correctly identify the use of relative URIs
> > in documents given with relative URIs as a problem.
> > The RDF graph uses absolute URI refs, and if no absolute URI can be
> > established then there is an issue. Whether this is a warning or an error
> > depends on the use case, and ARP supports either. The validator I believe
> > runs in strict mode, and so most problems are treated as errors.
> >
> > Recently the validator has had the ARP engine upgraded. At which point this
> > behaviour was introduced.
> >
> > I agree that it is a bug in the validator, since while no base URI can be
> > determined for text pasted into a web form, it is unhelpful to complain
> > about this. It is however not a bug in a compliant parser.
> >
> > I suggest one of the following fixes in the validator code:
> > a) specify an arbitrary base URI instead of ""
>
> I just did this on a test server. I used http://example.org/# for my
> experiment. I could also use the validator page. The validator form is
> an HTTP POST and rfc2616 has this to say about POST:
>
> [[ http://www.w3.org/Protocols/rfc2616/rfc2616.txt
> The POST method is used to request that the origin server accept the
> entity enclosed in the request as a new subordinate of the resource
> identified by the Request-URI in the Request-Line.
> ...
> The posted entity is subordinate to that URI in the same way that a
> file is subordinate to a directory containing it, a news article is
> subordinate to a newsgroup to which it is posted, or a record is
> subordinate to a database.
> ]]
>
> It also talks about return codes for created objects, but we're not
> creating anything that is resolvable later so that's not germain...
>
> The base URI could also have a unix time in it to prevent
> inappropriate graph merging of output from multiple calls to the
> validator. This would allow us to scope the names used in a particular
> POST to that POST. Otherwise, #n1 in one POST would identify the same
> node as #n1 in antother POST (as opposed to having all POST through
> all time be in the same lexical space). Plus bNodes would be nicely
> distinct...
>
> > or
> > b) tell ARP to ignore this condition
> > setErrorMode(
> > ARPErrorNumbers.WARN_RESOLVING_URI_AGAINST_EMPTY_BASE,
> > ARPErrorNumbers.EM_IGNORE );
> >
> > Personally I think option (b) is better.
>
> Any particular reason? I have no great preference for A, but it does
> seem like the triples generated by allowing unanchored relative URIs
> might cause someone trouble down the line. For instance, if the output
> were in n3 or some other language using URIs for nodes, a consumer of
> the data might whine where jena had been instructed not to whine.
>
> > A workaround until the validator is updated is to have the file to be
> > tested as web accessible and use the validate URL option.
>
> It's a simple matter of copying a file at this point so unless the
> workaround is prefferable to A or B, you shouldn't need to use it.
I implemented A while we grasp for consensus.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:ID="Profile">
<dc:title>World Wide Web Consortium</dc:title>
</rdf:Description>
</rdf:RDF>
produced an arc with a subject of
http://www.w3.org/RDF/Validator/run/1062074071150#Profile
in N3:
@prefix run: <http://www.w3.org/RDF/Validator/run/1062074071150#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
run:Profile dc:title "World Wide Web Consortium" .
Note that the run is nigh-unique. It produced an arc with a subject of
http://www.w3.org/RDF/Validator/run/1062074071150#Profile
This way it will not touch another graph that happens to have similar
XML IDs like this one:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:p="http://www.w3.org/2002/01/p3prdfv1#">
<rdf:Description rdf:ID="Profile">
<p:htmlForm rdf:resource="http://www.w3.org/2003/07/p3p2html/glance-public.html"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2001/10/glance/view">
<p:policyRef>
<rdf:Description
rdf:about="http://www.w3.org/2001/05/P3P/glance-ref.xml">
<p:about rdf:resource="#Profile"/>
</rdf:Description
</p:policyRef>
</rdf:Description>
</rdf:RDF>
--
-eric
office: +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
cell: +1.857.222.5741
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Thursday, 28 August 2003 16:27:27 UTC