Re: Resources and URIs - different readings of RDF M&S?

Now I have a better idea of what we are discussing, too. What I had in
mind was a purely syntactical issue. However, it seems that I
underestimated the scope of the problem (correct me if I'm wrong - this
is an important point) and we have different readings of the RDF M&S
specification in mind. 

MODEL LEVEL:
------------

I believe, Dan, your reading of the RDF specs is the following:

There exist two intrinsically different types of resources: named
resources and anonymous resources. Anonymous resources are
*distinguishable* on the model level. That means, the application that
looks at a resource (e.g. using an API) must be able to tell whether it
is anonymous or not (e.g. it starts with a specific prefix).

For this reading, what is the semantics of an anonymous resource as
opposed to a named one? Since the application cannot see an empty ovel
with outgoing arcs, it must use a URI for an anonymous resource. Thus,
whenever the application encouteres an anonymous resource, it might
think the following:

"This is a URI that identifies this resource well enough in the given
context. However, there exist a more persistent URI for this resource,
which I don't know."

Thus, looking at say urn:rdf:resource:987654321, the application treats
it as a temporary placeholder for something like
http://www.w3.org/staffId/765432. The staff ID is obviously a better
means to identify the person. However, we can easily imagine a more
stable, employer-independent identifier, say
uri:uk:gov:person:123456789, or even citizenship-independant one
uri:people:357246890 that is even superior.

In other words, it seems to me that there is no principal difference
between an anonymous resouce and an explicitly named one. A real-world
entity can have different names, there is nothing wrong with it. Some of
them are more stable, others are less. Furthermore, the stability is
questionable, even for anonymous resources. Imagine the following piece
of a breaking news report:

"He saw something surrounded by a miriad of flashing lights rotating at
a breathtaking speed"

Since we do not have a better name for "something", it would probably
get an "anonymous" URI like uri:rdf:resource:XYZ in the report. However,
as more people start referring to it, it can become the "official" name
for the first UFO successfully landed in North America.

Thus, in my view, anonymous resources are first-class citizens in RDF
and should not be discriminated by whether they (arguably) have less
persistence that other URIs. 

Therefore, I prefer the following usage scenario for anonymous URIs: if
we speak about something whose "well-known" name is not available (e.g.
we are just lazy to lookup the ISBN number of a book), we introduce a
new unique identifier for it, created e.g. using a cryptographically
strong algorithm (such as a time-based UUID). You can call it an
"anonymous" URI if you want, but it carries no additional semantics.

The above procedure is the second reading (my version) of the RDF M&S
specs. The application cannot distinguish whether a resource is
anonymous or "kind of" persistent. If my reading is wrong and the first
is the correct one, RDF M&S *must* specify how the application can
distinguish between anonymous and named resources. Must they have a
special prefix? The specs does not answer this question.

SYNTAX LEVEL:
-------------

This is my original statement of the problem. That is, I assumed that
anonymous URIs (empty ovals in the specs) are just a by-product of the
convenience not to have to invent/generate anonymous URIs for RDF
produced by humans.

If RDF is created by an application, every node has already a URI, the
problem does not exist.

If a human is writing RDF directly in a serialized form, (s)he does not
want to run a random URI generator every time (s)he mentions something
whose identity is not known at the moment. Thus, this task is shifted to
the parser. And, for interoperability, the anonymous URIs created for
the resources by two different parsers should be identical, given the
same content with the same origin.

------

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

You told you were not dealing with semantics. Yet do you, and at a very
deep level. As it stands now, the RDF model does not give you a built-in
facility to differentiate between a resource, or a "mention" of the
resource (whatever that is). The "mention" of the resource would be just
another, alternative URI for the same real-world thing. The "real" URI
for the resource might not even exist. If I write in RDF/XML

<Book>
  <dc:Creator>Sergey Melnik</dc:Creator>
  <dc:Publisher>Addison-Wesley</dc:Publisher>
</Book>

then I'm speaking of an instance of Book having dc:Creator this and
dc:Publisher that. There is no "better" URI for this resource, like ISBN
number, the thing (book with such properties) just does not exist at
all.

The unique parsing algorithm would guarantee that the same URI is
generated for this imaginary book by every parser fetching this content
from my Web page. That frees me from the need to write

<Book rdf:about="urn:rdf:resource:238e89a878d5e302aed362e2d9a0caa8">
  <dc:Creator>Sergey Melnik</dc:Creator>
  <dc:Publisher>Addison-Wesley</dc:Publisher>
</Book>

if I want to allow other people to refer to the product of my
imagination. In the current specs, by not providing the URI explicitly I
*disallow* people refer to my stuff without copying the entire
description.


Sergey

Received on Wednesday, 8 December 1999 00:42:40 UTC