W3C home > Mailing lists > Public > public-rdf-comments@w3.org > October 2013

Re: RDF Concepts - IRIs do *not* always denote the same resource

From: David Booth <david@dbooth.org>
Date: Thu, 03 Oct 2013 22:54:51 -0400
Message-ID: <524E2DFB.30707@dbooth.org>
To: Eric Prud'hommeaux <eric@w3.org>
CC: public-rdf-comments <public-rdf-comments@w3.org>
To avoid cluttering the public-rdf-comments list, let's move this 
discussion to www-archive@w3.org .   Hence, I replied to your message there:


On 10/03/2013 01:38 AM, Eric Prud'hommeaux wrote:
> * David Booth <david@dbooth.org> [2013-10-02 01:05-0400]
>> In https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html
>> I see this statement:
>>    "IRIs have global scope: Two different appearances of an IRI
>>    denote the same resource."
>> This is wrong.  If it were true then there could never be a URI Collision
>> http://www.w3.org/TR/webarch/#URI-collision
>> and there would be no point in the AWWW discussing it or admonishing
>> against it.
> Seeking clarification, are you saying that Concepts should
> permit/encourage the use of a single IRI to mean multiple things?
> The AWWW document that you cited takes the opposite stance:
> [[
> By design, a URI identifies one resource. Using the same URI to
> directly identify different resources produces a URI collision.
> Collision often imposes a cost in communication due to the effort
> required to resolve ambiguities.
> ]] — http://www.w3.org/TR/webarch/#URI-collision
>> An IRI can and often does denote different resources in different
>> *interpretations*.  And this, in practice, means that an IRI often
>> denotes different resources in different *graphs*, because any graph
>> has a set of satisfying interpretations, and different graphs may
>> have different sets of satisfying interpretations.  For example,
>> suppose graphs g1 and g2 have sets of satisfying interpretations s1
>> and s2, respectively, and those sets may be disjoint.  Then
>> colloquially (and technically) we can say that an IRI may map to one
>> resource in g1 (i.e., in some interpretation in s1) and a different
>> resource in g2 (i.e., in some interpretation in s2).
>> This requires thinking about graphs in terms of sets of satisfying
>> interpretations -- an important and valid perspective -- rather than
>> assuming that one looks at them only through the lens of a single
>> interpretation.
>> As a simple example of how a URI can denote different things in
>> different graphs, suppose Alice sends this graph G1 from her smart
>> phone to her home computer to turn *on* her porch light (assuming
>> the usual URI prefix definitions):
>> G1: {  @prefix db: <http://dbooth.org/>
>>         ex:alicePorchLight rdf:value db:x .
>>         db:x owl:sameAs ex:on .
>>         ex:on owl:differentFrom ex:off . }
>> and her light turns on.
>> In contrast, Bob sends this graph G2 from his smart phone to his
>> home computer to turn *off* his oven:
>> G2: {  ex:bobOven rdf:value db:x .
>>         db:x owl:sameAs ex:off .
>>         ex:on owl:differentFrom ex:off . }
>> and his oven turns off.
> Why is <http://dbooth.org/x> used as a variable for the on/off state
> of both the porch light and the oven?
>> It is perfectly reasonable and natural to ask "What resource does
>> db:x denote in G1?", and it is reasonable and natural to ask the
>> same of G2.  The RDF Semantics (along with OWL) tells us that in G1
>> db:x denotes whatever ex:on denotes, whereas in G2 db:x denotes
>> whatever ex:off denotes.   That is useful!  Furthermore, the
>> semantics tells us that if we merge those graphs then we have a
>> contradiction -- there are no satisfying interpretations for the
>> merge -- and that is useful to know also, because it means that
>> Alice and Bob's graphs **cannot be used together**.
> Is this contextual interpretation limited to terms in the subject or
> object position? Am I licensed, for instance, to presume that the
> rdf:type predicate is used to assert the type in both
>    G1: { ex:alicePorchLight rdf:type ex:lightSwitch }
> and
>    G1: { ex:bobOven rdf:type ex:ovenSwitch }
> ?
>> Furthermore, the RDF Semantics notion of an interpretation maps well
>> to real life applications: in effect, an application chooses a
>> particular interpretation when it processes RDF data.  This is a
>> very useful aspect of the model theoretic style of the semantics.
>> In this example, Alice's home control app interpreted db:x to denote
>> "on" and Bob's home control app interpreted it to denote "off".  And
>> *both* were correct (in isolation): they both did The Right Thing.
>> In short, I think the above statement needs to be qualified somehow,
>> such as:
>>    "IRIs are *intended* to have global scope: Two different
>>    appearances of an IRI are *intended* to denote the same resource."
>>    (However, the RDF Semantics explains how an IRI may denote
>>    different resources in different interpretations.)
> Do we have another class of documents where IRIs really do have global
> scope? In order to make use of the data in docs that have local scope,
> is there some shared identifier for the scope, or are these docs
> really islands unto themselves?
>> David
Received on Friday, 4 October 2013 02:55:19 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:59:42 UTC