RE: New version of URI Declarations [Usage scenarios]

Sorry for the delay in responding.  Replies below.

> From: Pat Hayes [mailto:phayes@ihmc.us]
> . . .
> Suppose I accept your claim that your URI denotes the moon, so
> that when I use it I am also referring to the same moon.

I let this assumption slide when you mentioned it before, but I
think I need to address it head on.

You cannot just *assume* that my URI denotes the same "moon" that
you wish to denote. Consider the scenario that you mentioned
earlier:
http://lists.w3.org/Archives/Public/www-tag/2008Mar/0004.html
[[
Suppose [Alice] publishes some rdf R and says it is a declaration
of the URI x:y, and also says (perhaps using English or a
controlled vocabulary) that x:y is supposed to denote, say, the
moon; and suppose that R says that x:y is made of cheese.
]]

How do you *know* that x:y was supposed to denote the *real* moon
when Alice specifically said it is made of cheese? How do you
know Alice wasn't *intending* to denote a hypothetical moon in a
child's fantasy universe -- one in which the cow can also jump
over it? In general, you cannot. All you can reliably know is
what Alice said about it in her URI declaration. Thus, from an
architectural perspective, this is a more predictable building
block for establishing what the referent of x:y should taken to
be.

> But I want to point out that [Alice] said something false about
> the moon. Under your proposal, this is impossible. I can't say
> that, because by calling these assertions a 'declaration', they
> have been removed from the domain of discussion.

Not quite. You certainly can say:

        x:y :isComposedOf :rockAndDust .

which may well contradict Alice's assertion that:

        x:y :isComposedOf :cheese .

(Assuming :rockAndDust cannot be :cheese.) And you can also refer
to Alice's assertions by quoting. You can say something like
"Alice's statement 'x:y :isComposedOf :cheese' is
false", for example.

> [By calling these assertions a 'declaration', they]
> have become necessarily attached to that particular URI: so we
> resolve the mistake not by saying (as we should) that your
> facts are wrong, but instead by saying that (since your
> declared assertions can't possibly be wrong) that your URI
> doesn't in fact denote what you say it denotes. Which is why I
> have to use another URI to denote what you said your URI should
> denote;

Correct, though I would rephrase that: you have to use another
URI to denote what you *thought* I wanted it to denote.

> but then how do you know that my URI is intended to denote the
> same thing as your URI? (Why would I coin a new URI if I intend
> to refer to the same thing?).

Because presumably you do *not* want it to refer to the same
thing: you want it to refer to a "moon" that is *not* made of
cheese. However, your notion of "moon" clearly is related to
Alice's notion of "moon", and your URI declaration should
indicate that relationship. Of course, you might wonder you can
possibly do that if you don't want to agree to Alice's core
assertions but any use of Alice's URI to denote the "moon"
implies that you agree with her core assertions.

For example, suppose the full URI for Alice's "moon" is
http://alice.example#y, and you mint a new URI
http://pat.example#y to denote *your* notion of the "moon", which
(in your view) "corrects" Alice's notion of the "moon" by
omitting the assertion that it is made of cheese. One may be
tempted to directly indicate the relationship between these two
notions of "moon" like this:

  <http://pat.example#y>
      :broadens <http://alice.example#y> .  # PROBABLY WRONG!

but that probably is not what you want to do, because such use of
Alice's URI to denote the "moon" implies agreement to the core
assertions of her URI -- including that the "moon" is made of
cheese. One way to avoid this is to instead say something like
this:

  "http://pat.example#y"^^xsd:anyURI
      decl:broadens "http://alice.example#y"^^xsd:anyURI .

where decl:broadens indicates that the resource denoted by
http://pat.example#y is less constrained than the resource
denoted by <http://alice.example#y. (The decl:broadens
relationship is analogous to skos:broader.) In particular, if "uB
decl:broadens uA", then any real world interpretation of uA's
referent that satisfies the core assertions of uA's URI
declaration will also satisfy the core assertions of uB's URI
declaration. (Forward reference for future archive readers: I
haven't yet written up a full description of decl:broadens, but
it will be in http://dbooth.org/2007/splitting/ . ) And for
readers new to this thread, the notions of "core assertions" and
"URI declaration" are described in
http://dbooth.org/2007/uri-decl/ .

> [ . . . ]
> It seems to me that if we follow your proposal to its logical
> conclusion, that all differences of fact will be transformed to
> differences of reference.

No, not quite. As described above, you can:

 - make direct statements about my notion of "moon"
   using my URI -- including statements that contradict my URI
   declaration;

 - make direct statements about your notion of "moon"
   using your URI;

 - make indirect statements about the relationship between
   my notion of "moon" aand your notion of "moon";

but you cannot:

 - use my URI to make direct statements about *your* notion
   of "moon";

 - use your URI to make direct statements about *ny* notion
   of "moon";

 - claim that my URI declaration is wrong.  (A URI declaration,
   cannot be wrong: it is definitional. However, the
   declared URI may denote something that cannot exist.)

> [ . . . ]
>       You could even mint your own URI based on the subset of
>       my URI's assertions that you do choose to accept,

> And what relationship would its denotation bear to the
> denotation of your URI, in this case?

It would decl:broaden my declaration, as described above.

> [ . . . ]
>       >     These assertions are intended to delimit the range
>       >     of possible interpretations of what the denoted
>       >     resource might be -- ideally uniquely determining
>       >     the resource, but (a) that depends on the quality
>       >     of the assertions, and (b) as you pointed out,
>       >     ultimately there is no way to ensure that a user's
>       >     actual interpretation is the same as the minter's
>       >     intent.
>       >
>       > Right, so the 'ideally' here isn't even an ideal: its
>       > impossible.
>
>       Yes and no. I completely agree that it is impossible in
>       general, as you've aptly pointed out over the past couple
>       of years. But for a given application, it may well be
>       adequate in uniquely determining the resource.
>
>
> I remain sceptical. Show me ONE example of how this might be
> achieved, without using an appeal to some commonly accepted
> referential vocabulary.

I'm not sure I am understanding your concern. If a stop light
application only cares about three colors, then the notion of
green may be unique within that application (it's a color and
it's not red and not yellow) even if the real world
interpretation of app:green doesn't distinguish between mint
green and forest green.

>
>       Thus, someone publishing a URI declaration should strive
>       to make their assertions uniquely determine the resource
>       as best they can for the range of applications that they
>       anticipate, realizing that it is not possible to make one
>       that will be uniquely determining for all applications.
>
>
> But now we are back in a familiar situation where publication
> of SWeb content has to be made in some kind of 'closed' world
> of particular applications.

It isn't exactly a "closed" world, because there could always be
new applications that *do* work with that URI declaration. But it
is limited, yes, and that's just a fact of life: as you have well
pointed out, no matter what definition of "Pat Hayes" I come up
with, it will be inadequate for some applications.

> [ . . . ]
>       > Consider a case where some empirical results are
>       > available which are very confidently true, but its not
>       > clear which protein they are relevant to (perhaps they
>       > were extracted from a biopsy which may have mixed two
>       > kinds of tissue: if this were genes instead of
>       > proteins, and we are talking about cancer typing, this
>       > is a real problem.) Now what do we 'declare' ?
>
>       You can declare a URI for the substance that was
>       observed: a potetial mix of two kinds of tissue.
>
>
> You could, but its unlikely to be a useful strategy. It amounts
> to saying that because there is a likelihood of experimental
> error, we should treat each observation as a separate
> experiment, and that eliminates the error.


David Booth, Ph.D.
HP Software
+1 617 629 8881 office  |  dbooth@hp.com
http://www.hp.com/go/software

Opinions expressed herein are those of the author and do not represent the official views of HP unless explicitly stated otherwise.

Received on Monday, 17 March 2008 15:11:04 UTC