W3C home > Mailing lists > Public > www-rdf-interest@w3.org > December 1999

Re: Resources and URIs

From: Sergey Melnik <melnik@DB.Stanford.EDU>
Date: Tue, 07 Dec 1999 17:06:49 -0800
Message-ID: <384DAF29.EA0395CA@db.stanford.edu>
To: Dan Brickley <danbri@w3.org>
CC: RDF Interest Group <www-rdf-interest@w3.org>, Gabe Beged-Dov <begeddov@jfinity.com>
> For anonymous resources, I don't think your proposal can work in the way
> you hope.

I am deeply convinced that we need the ability to refer to anonymous
resources. Refer to

	http://www.bootstrap.org/augment-132082.htm#11K

for supporting arguments.

> URIs are just more information about a resource, as are
> temporary placeholder URIs.

Remember my disclaimer about the semantics: it is out of scope.

>          "it is essential that every parser is guaranteed to produce the same URI
>         for the resource. Period."
> 
> This is a very strong statement, and one that could be qualified in a
> number of ways.

Right. The strength of the statement depends on this qualification. 

> Do you mean: produce the same generated URI for the same (anonymous) resource
> 
>         - given byte-for-byte identical XML input (from same source)
>         - given byte-for-byte identical XML input (from different sources)
>         - given statement-for-statement identical graphs from varying sources

In my view, the above statement must be true *at least* for the first
case: given byte-for-byte identical XML input from same source, the same
noname URI should be produced. This is the weakest possible assumption,
and it is easily satisfiable. I don't think the uniqueness assumption
makes sense for different sources. Your Example 1 illustrates that very
well.

> ...
> Example 1: same XML bytes, different servers
> ...

However, I do believe that a unique noname URI makes sense in your
second example:

> Example 2: same XML bytes, same server, different resource.
> 
>         <rdf:RDF>
>         <WeatherReport>
>         <todayCloudCoverPhoto rdf:resource="/weathertoday.png"/>
>         <description>this is a daily weather report; the
>         todaysCloudCoverPhoto property is a reference to a dynamically changing
>         resource, created by a different person each day</description>
>         </WeatherReport>
>         </rdf:Description>
>         </rdf:RDF>
> 
> Feeding this to an XML/RDF parser we'd get an anonymous resource of type
> "WeatherReport". On different days we might get descriptions of different
> (anonymous) WeatherReports.

In the above example, you would get the same URI for the instance of
"WeatherReport" whenever you stopped by at the server. And, if you
insist on considering the semantics of this resource, it would identify
the "current" whether report from the given datasource, whatever
"current" means. When presented to the user at runtime by a weather
report application, the report would indeed reflect the current whether
situation.

> stuck. Writing out parsers so they try to always generate the same
> identifier given sufficent context (server, date, content-negotiation,
> language-negotiation, bytes-to-parse etc) seems to me fraught with
> difficulty.

I agree there are unresolved issues here. However, I tend to believe
Doug Engelbart (see URL above) that this is a crucial requirement. By
restricting the context say to the origin and content of the RDF
description the problem can be solved relatively easily.

> My inclination is to run the other way and make sure that these URIs are
> evident as generated IDs, so that processors can always tell when the URI
> was cooked up by some parser instead of being widely agreed.

This is in fact not the *other* way, but just the half of the way. Using
Gabe's proposal we could generate a URI like

urn:rdf:noname:XYZ        (where XYZ is again based on a digest)

Thus, it is evident that it is a generated ID. But we go further. Have a
look at the above quoted URL:

	http://www.bootstrap.org/augment-132082.htm#11K

If Doug had not provided the anchor #11K, I couldn't have referred to
this essential requirement. This is a serious limitation of HTML. I
could have done it in case of XML, namely, using XPointers (given that
the content remains unchanged). The same with RDF: if I have an RDF
document that lists requirements for an open hyperdocument system, I
need to be able to point to the paragraph describing the requirement
"11K". If I used Gabe's content-based algorithm for that, I could even
make sure that if the author changes the text of the requirement, the
link is broken, which is good, since I quoted the original sentence, and
not the modified one.

Sergey
Received on Tuesday, 7 December 1999 20:01:14 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:42 GMT