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

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

From: Eric Prud'hommeaux <eric@w3.org>
Date: Thu, 3 Oct 2013 01:38:57 -0400
To: David Booth <david@dbooth.org>
Cc: public-rdf-comments <public-rdf-comments@w3.org>
Message-ID: <20131003053856.GB16120@w3.org>
* 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 }
  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 Thursday, 3 October 2013 05:39:27 UTC

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