Re: Resources and URIs

On Tue, 7 Dec 1999, Sergey Melnik wrote:

> > 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.

We agree, and we disagree. I think I've a better idea how we disagree now:

Excerpt from:	http://www.bootstrap.org/augment-132082.htm#11K 
	Every Object Addressable -- in principle, every object that someone might
	validly want/need to cite
	should have an unambiguous address (capable of being portrayed in a manner
	as to be human readable and
	interpretable). (E.g., not acceptable to be unable to link to an object
	within a "frame" or "card.") 11K 

This principle is also fundamental to the Web architecture. If it matters
to the Web, it deserves a Web identifier. We agree totally on the
importance of identifiers for all resources.

When you say that we need the ability to refer to 'anonymous' resources, I
have problems. Being "anonymous" is not intrinsic to the resource, but a
property of a _mention_ of a resource in some bundle of RDF statements.
Being able to name these mentions is also important of course...


Example 3:
 Some RDF might say: "the eyecolour of the hairdresser of my boss's niece
is brown". This is a (perhaps!) useful piece of information that we might
exchange using XML and RDF. Or "the price of my boss's car". In both
cases, the RDF statements would be anchored to resources using URIs at
some point, eg. a person: URI for the speaker.

[person:uk:nx9300001]--boss--> [ ] ---niece--> [ ] ---hairdresser--> [ ] --eyecol-> "brown"
[person:uk:nx9300001]--boss--> [ ] --price--> "30,000 ukp" 

So here's where I think we disagree: the object/thing/entity/resource that
is my boss (lets assume I have exactly one) is not intrinsically
anonymous. There is a URI name for that resource, we just don't see it in
every piece of data that tells us things about the resource in question.
(another eg: "my hometown is the rainyest city in England"...)

Within the context of these two information fragments, we make anonymous
_mention_ of various resources. Others may do likewise
elsewhere. Resources aren't anonymous; mentions may be.

So, we can admit a desire to acquire knowledge of the identifiers for all
kinds of things. We can also admit to wanting to be able to point into
documents of all kinds at various levels of granularity. So we might want
to give a name to my mention of the boss, the hairdresser, and so forth. These
aren't the same thing though. Both are challenging (assigning identifiers
to people is a politically loaded business to be in, eg. recent fuss over
cookie data); giving identifiers to the claims made in a document, the
structural parts of a document, and the things defined or identified by
that document is also pretty hairy. 

> > URIs are just more information about a resource, as are
> > temporary placeholder URIs.
> 
> Remember my disclaimer about the semantics: it is out of scope.

Disclaim away - I didn't mention semantics! ;-)

Resources have URIs; we don't always know those URIs. We may learn them
later or not at all. 

> >          "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. 

Exactly

> > 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

Yes. For some sense of source (eg. might be a business-2-business
transaction rather than the http:// uri of some static XML file). 
(Neither of us have yet said what we mean by 'source' exactly...)

This is the same (important) issue as that raised previously, ie. that we
need conventions for identifying the provenance of our triples. So, I'd claim
that whatever convention emerges for giving the (URI-named) provenance
of a triple, such as transaction/message identifier, will serve for the
notion of 'source' we're handwaving vaguely about here.

> 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. 

Can you characterise what counts as a 'difference' source for incoming
RDF? 

> 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:

Possibly a dumb example. I shouldn't have introduced time-changing
resources as these are problematic enough to think about on their own.

> 
> > 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.

I'm not sure we can say that. There may be a series of new WeatherReports,
with author etc. If we go to http://.../rdf/brief.rdf we might get the
above RDF each day, if we go to http://.../rdf/verbose.rdf imaging a more
complex chunk of RDF as above but giving more info  (price, author
etc) for each instance of WeatherReport. This I think is enough to show
that the WeatherReports might change daily.

 > 
> > 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. 

Resource identification, sure. Resource-mention identification, sure. I
think the current discussion (and in fairness, much thinking (including my
own) about uris, rdf and web architecture) conflate the two. 

> By
> restricting the context say to the origin and content of the RDF
> description the problem can be solved relatively easily.

I'm still not convinced. Are you claiming that anonymity is a property
intrinsic to a resource rather than it's mention in some context?

cheers,

Dan

--
danbri@w3.org

Received on Tuesday, 7 December 1999 20:41:18 UTC