Re: owl:sameAs - Is it used in a right way?

Hi Pat,

On 03/17/2013 10:02 PM, Pat Hayes wrote:
> Hi David
>
> On Mar 16, 2013, at 11:26 PM, David Booth wrote:
>
>> Hi Alan,
>>
>> On 03/16/2013 01:49 PM, Alan Ruttenberg wrote:
>>> David's assertion that a uri can mean different things in
>>> different graphs is an opinion
>>
>> An opinion?  It is direct consequence of standard RDF Semantics!
>
> No, it isn't.
>
>> Read the spec: http://www.w3.org/TR/rdf-mt/
>
> Indeed. Section 1.2, first paragraph: "... the semantics simply
> assumes that ... a single URI reference can be taken to have the same
> meaning wherever it occurs. Similarly, the semantics has no special
> provision for tracking temporal changes. It assumes, implicitly, that
> URI references have the same meaning whenever they occur."

Wow.  Well, maybe I have completely misunderstood the RDF Semantics spec 
all these years -- in which case we're *really* going to have to go back 
to basics to straighten this out.  But presumably that passage from 
Section 1.2 means ". . . whenever they occur _in the *given* graph, 
i.e., the graph whose semantics are being determined_", since the spec 
would be meaningless if it were predicated on the assumption that a URI 
always has the same meaning everywhere:

1. If a URI always denoted the same resource then there would be no need 
in the RDF Semantics for multiple interpretations that map URI 
references to different resources, because every interpretation would 
necessarily map a URI to the exact same resource.  The RDF Semantics 
would need only one, unique  global mapping!  But as we know (and 
Section 1.3 states): "there is no such thing as 'the' unique 
interpretation of an RDF graph".  Presumably these non-unique 
interpretations can and do map the same URI to different resources, do 
they not?

2. As we know, a false assumption entails everything.  If I were a drug 
dealer, I could one week declare to my co-conspirators that this week, 
http://dbooth.org/x means heroin, and next week it means morphine.  In 
which case, that URI clearly would *not* have the same meaning whenever 
it occurs.  So if the RDF Semantics were predicated on the false 
assumption that it does, the RDF Semantics would be meaningless.

In short, I can only see how the RDF Semantics could possibly make sense 
if the idea that "URI references have the same meaning whenever they 
occur" is talking about a *single* interpretation.  Have I completely 
misunderstood something fundamental here?

>
>> The RDF semantics is only defined for a *given* RDF graph.  It does
>> not constrain a URI's resource identity across *different* graphs.
>
> No, it does so constrain what URIs mean.  It presumes that a given URI
> denotes some single thing, wherever it occurs. The interpretation
> mappings are defined as mappings upon URIs. not upon occurences of a
> URI token in a particular graph; and the semantics does not mention
> contexts or any other mechanism which would allow a URI in one place
> to denote differently from the same URI in another place (or at
> another time, cf the above quote.)

The RDF Semantics spec defines a procedure that is *parameterized* by a 
given interpretation (called "I"), and a given RDF graph or piece 
thereof (called "E").  The spec is riddled with references to those 
parameters, and semantic rules are written in terms of them.  A typical 
example from Section 1.4 reads:

   "if E is a ground RDF graph then I(E) = false if I(E') = false
   for some triple E' in E, otherwise I(E) =true."

How could this procedure possibly define the semantics of a graph that 
it has not been given -- i.e., a graph that is not E?  Of course one may 
choose any graph to consider, so any graph *may* be considered E, in 
which case the procedure tells you the semantics *of* *that* *graph*. 
But AFAICT, there is no way around *first* deciding what RDF graph and 
interpretation you wish to consider, and *then* the procedure defined in 
the RDF Semantics will tell you the truth value of *that* graph relative 
to *that* interpretation.  AFAICT, it says nothing about any other RDF 
graph that is not under consideration.

I see no requirement in the RDF Semantics that interpretation "I" be the 
*same* interpretation for every graph "E" to which this procedure is 
applied.  Am I right, or have I completely misunderstood something 
fundamental?

>
> Entailment, for example, is defined upon *sets* of RDF graphs, and
> the definition of merging makes sense only if the URIs in these
> various graphs all denote in the same way.

[Side note: As discussed above, surely you mean that "merging makes 
sense only if the URIs in these various graphs all denote in the same 
way" *in* a given interpretation.  Right?]

Of course, but again, merging is defined on a *given* set S of RDF 
graphs.  Once the user of the RDF Semantics spec has *chosen* S, the 
spec defines entailment upon *that* S -- not on some other, unspecified 
set.  Is that correct, or have I completely misunderstood the spec?

>
>> And here is a trivial existence proof that demonstrates that a URI
>> does *not* necessarily denote the same resource in different
>> graphs.
>>
>> Graph 1 (assuming standard owl: prefix):
>>
>> <http://example/h> a <http://example/WhiteHorse> .
>> <http://example/WhiteHorse> owl:disjointWith
>> <http://example/BlackHorse> .
>>
>> Graph 2:
>>
>> <http://example/h> a <http://example/BlackHorse> .
>> <http://example/WhiteHorse> owl:disjointWith
>> <http://example/BlackHorse> .
>>
>> Each graph (by itself) has satisfying interpretations per standard
>> RDF (and OWL) semantics.  And <http://example/h> denotes a resource
>> in each graph.  But clearly it denotes a *different* resource in
>> each graph.
>
> The conclusion you should draw here is that these graphs cannot both
> be true. And indeed, if you merge those graphs into one, then that
> merged graph is owl-inconsistent. But that does not mean that the
> URIs denote differently in the two graphs. What it does reflect is
> the fact that no interpretation of names will make a contradiction
> true.

Of course both graph 1 and graph 2 can both be true!  They are just true 
under different interpretations!  And in this case, those 
interpretations will necessarily map http://example/h to different 
resources.  On the other hand, the merge of graphs 1 and 2 is 
necessarily false under any interpretation.

Unless I am terribly mistaken, the RDF Semantics spec does not mandate 
the use of a single, a unique interpretation that must be applied to 
every RDF graph.  Indeed, to my mind the main value of the RDF Semantics 
is that, given an RDF graph, it allows one to determine the range of 
possible interpretations under which that graph is true.

>
>>> that does not concur with either the web specifications
>>
>> Correct.  As I pointed out, the AWWW's statement that "a URI
>> identifies one resource" is a good goal, but it does not concur
>> with standard RDF semantics.
>
> It is quite consistent with, indeed presupposed by, RDF semantics. As
> to whether it is really the case, that is a whole more complicated
> question. But note that when AWWW says "identify", it apparently does
> not always mean what RDF semantics means by "denote". There is no
> assumption in RDF theory or practice that a URI must denote what it
> 'dereferences' to using http.

Right, that's a different question.

It might well be the case that
> awww-identification is unique even while denotation is not.
>
>>
>> nor the goals they were built to satisfy. Caveat emptor.
>>
>> Not true!  As I said before, I *agree* with the goal stated in the
>> AWWW, that a URI should denote one resource!  But that does not
>> change the reality: that a URI does *not* necessarily denote only
>> one resource.
>
> You are probably right, but to the extent that they do not, then
> meaningful communication fails. So communication usually presumes
> that they do, until circumstances force this assumption to be
> revisited.

I think that is overly pessimistic.  I think useful communication can 
still be achieved, provided that the ambiguity is bounded.  And when URI 
definitions are shared, the RDF Semantics (and its semantic extensions) 
provide a very neat way to bound that ambiguity.

David

Received on Monday, 18 March 2013 21:05:09 UTC