Re: Well Behaved RDF - Taming Blank Nodes, etc.

On 19 Dec 2012, at 21:34, David Booth <> wrote:

> Hi Henry,
> On Wed, 2012-12-19 at 20:05 +0100, Henry Story wrote:
> [ . . . ]
>> Now one could go further and see what are the fundamental differences
>> between URLs and blank nodes. Perhaps that would be useful.
>> 1. With bnodes there is no intension associated with the name.
>> 2. with well functioning URIs there is an intension associated with
>> it, such that you can GET their meaning in the document in which they
>> are defined - and there relative URIs play an important role!
> That is an interesting philosophical view on the role of blank nodes,
> and it goes pretty deep.  But I fundamentally disagree with it, as I
> think it is too limiting.  I'll explain why in a moment, but first an
> unrelated (non-philosophical) comment on point 2.
> I think point 2 unnecessarily bundles the use of "cool",
> dereferenceable, follow-your-nose http: URIs with the use of URIs in
> general, which could simply be URNs whose definition you may not be able
> to easily determine (by dereferencing), but which nonetheless still
> avoid the problems that bnodes present of being unstable across
> serializations, difficulties querying, non-lean graphs, etc.  I think it
> is better to separate the bnode issue from the issue of whether an RDF
> consumer can easily find an appropriate definition for a given URI.
> Now turning to your philosophical point criterion for minting URIs:
>> 1. With bnodes there is no intension associated with the name.
> which you also described in:
>> - bnodes: you know there is something but you can only refer to 
>>  it by description
>> - relative URIs: you can speak of something but you don't yet 
>    know the full publication context
>> - full URIs: there is agreement between different people one 
>    how to resolve the meaning of it.
> In the semantic web, nearly *everything* is identified by description --
> in essence, RDF properties.  We have almost no other way to define
> things, except by listing their properties.  So if the criterion for
> minting a URI instead of a bnode is that you must have some means beyond
> a description -- ostension? -- for identifying that thing, then I think
> that sets the bar for minting a URI far too high, because in a practical
> sense descriptions are often all that we have.  We would be allowed VERY
> few URIs if the bar were so high.  

It would take a lot more careful development you are right to find the correct 
language to describe the differences. But I think there are distinctions here
that one should make

- bnodes: these don't have a rich sense
- #uris: These have what is close to an analytic definition: you dereference
the associated document to find its meaning.

  Here one needs to look at David Lewis' "Convention" where he shows that one
can save the notion of analyticity from Quine's attacks. Also Gareth Evans
has a notion of a delta definition, that gives a minimal identifying definition.
In both cases I need to do more reading on this.

  I just hinting that the pragmatics of the Web and the definition of URIs
gives us something akin to what philosophers were thinking of as analytic
definitions. These also work by description btw, it is just that the meaning
of a #URI is defined by the owner of the URI space. In order to define it 
usually he will use terms from other vocabularies, often not his
own, so usually he can't stabilise his meaning without a larger community. But he can
pin it, if you will.

 BNodes clearly make that impossible.  A Bnode in a description is not 
something anyone can own. If I want to copy a statement about an object I need
to capture a larger part of the graph, the identifying part for that bnode.
Bnodes can only be identified by description, since there is no way for the bnode
to stabilise over time.

With a URI you can have a term stabilise over time in use - in software for example
that might not update itself quickly for core terms available, such that the initial 
description can disappear and the URI still function. Natural languages are like that: 
words stabilise without an quick access to their definitions. 

Say foaf gets even bigger, and one disappears for a few years. During that
time foaf:knows will continue to be used in very large ways with the original definition,
and software will continue using it for exactly the reasons that David Lewis in 
"Convention" explains why we settle on the meaning of words, or why we all drive conventionally
on the right in France, and on the left in England.  That is the term has stabilised in meaning
through a system of common knowledge where we all know that we all intended to use it in that
way. In the case of software it is easier to explain: software may just have been hardcoded
to use the term in a certain way, and others knowing that can keep using it that way.

So this brings us to the point that foaf:knows is not completely defined by its definition.
There are a lot of things to that definition written in english which are terms that have
gotten their meanings through 1000s of years of human cultural history, and these are tought
by ostentation. Programmers developing software that uses foaf:knows use that knowledge to
make useable software that relies on large bodies of work on what people are, that
have their roots in biological causes. It is only because foaf works with this that it can
gain large following, and deployment, that goes way beyond the RDF triples in the OWL spec.
Furthermore foaf:knows is stabilised further by how it is used on the internet, and part of
its meaning there will still be to come.

For bnodes that is impossible of course. They cannot stabilise in that way: everything important
has already been said about bnodes. They are just simply different tools.

> Even if you only know a few properties of something, it can still be
> very useful to mint a URI for that thing, as I illustrated in the
> previous temperature measurement example:
> On Wed, 2012-12-19 at 20:54 +0100, Henry Story wrote:
>> I think a document that summarises some of the different pragmatic
>> uses of bnodes, URLs relative urls still needs to be written.
> Yes, good point!
> -- 
> David Booth, Ph.D.
> Opinions expressed herein are those of the author and do not necessarily
> reflect those of his employer.

A short message from my sponsors: Vive la France!
Social Web Architect

Received on Wednesday, 19 December 2012 21:09:53 UTC