Re: anonymous nodes

Whatever the RDF designers may have thought, there is a powerful reason to
have "anonymous" nodes, but they need some kind of name or id if only for
the purposes of our own system, and it is a good question how they should be
named.  The key reason, in my view, is that they are needed to create
inline -that is, compound - concepts (or resources, or whatever you want to
call them).  You do this naturally with conceptual graphs, you do it with
KIF and predicate logic, and you need to do it with RDF too.  Real world
concepts abound with recursive structures, and you need to be able to deal
with them.

But when you go to flatten out all these recursively compound structures
into triples, you need to have a unique id for each recursively defined
concept in your database of triples (whether it's a "real" database is
irrelevant here).  (In fact, you really want a primary key, which can only
be the combination of a resource identifier and a predicate.)

So here you have it - to make real-world assertions about things that are
not already in your ontology, you need to assert compound resources, and to
do that you need to assign names so that these resources can be put into
rows (triples) in the database.

It's very possible someone else might want to be able to refer to your
compound concepts, too.

The real question is, will these names be local to your own system - even
invisible - or usable by other systems?  If local, how can some other system
reconstruct your resources correctly (possibly by carefully constructed RDF
syntax, we hope)?  If not local, how should they be named?

If these names were usable by other systems, online merging might be
possible (possibly temporary), which might be a good thing.

Cheers,

Tom P

[David Allsopp]

>
>
> Seth Russell wrote:
> >
> > From: <Patrick.Stickler@nokia.com>
>
> > > IMO, anonymous nodes were a hack to allow collection structures as
> > Objects,
> >
> > Well maybe that is what some people use them for.   The primary reason,
> > imho, is that we got so many nodes we can't name them all ....  tis
> > impossible .... twill always be impossible.   But that doesn't mean that
we
> > can't start talking about things which are impossible to name or for
which
> > (in a distributed system) it is infeasible to name.
>
> Or just undesirable.  Some nodes are used as structural glue, so their
> name is of no significance. We therefore don't want to have to give them
> a name, since this requires the effort of generating a globally unique
> name (which we can't achieve absolutely), so we don't accidentally clash
> with someone else.  A locally unique name is easy, and we need that to
> navigate arond the data graph, but we should dispose of it when passing
> the data on to someone else, and they can assign their own locally
> unique ID.
>

Received on Tuesday, 14 August 2001 17:31:29 UTC