Hi Pat,
I think the big disconnect between us is that I am looking at the
semantics from the perspective of multiple interpretations, whereas you
seem to keep assuming a single-interpretation viewpoint. I'll try to
explain . . .
On 09/11/2013 11:15 PM, Pat Hayes wrote:
On Sep 11, 2013, at 6:14 PM, David Booth wrote:
hi Pat,
Since the RDF WG does not have a public discussion list to which
non-members can post, I'm copying the public www-archive list. I
want to propose a couple of changes to the RDF specs, and thought
it might save the WG and others time if I first discuss them with
you (and anyone else you think would be interested). One of them
is the following.
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
It is a foundational assumption of RDF. Without this assumption,
graph merging would never be a valid operation, and no RDF engines
could combine informationfrom different sources to draw conclusions.
, because an IRI can and often does denote different resources in
different RDF interpretations.
That is irrelevant to the point being made in the sentence you cite
above. No interpretation allows two occurrences of a single IRI to
denote different things.
The problem is that that sentence is not constrained to a single
interpretation. If it said "**For each RDF interpretation** IRIs have
global scope . . . . " then it would be fine.
As written, that sentence ("IRIs have global scope: Two different
appearances of an IRI denote the same resource") is just patently false,
as your example of G1 and G2 illustrated:
G1: ex:a ex:p "23"^^xsd:number .
G2: ex:p rdfs:range xsd:string .
Assuming XSD semantics, ex:p clearly denotes something different in G1
than it denotes in G2.
And this, in practice, means that an IRI often denotes different
resources in different *graphs*
No, it does not. What is true, of course, is that the sets of
interpretations which satisfy the two graphs will be different, and
each will likely be different from the set of interpretations
satisfying both of them (their union.) But that does not imply that
IRIs in different graphs denote differently.
When you say "But that does not imply that IRIs in different graphs
denote differently", notice that you are implicitly assuming that the
*same* interpretation(s) will be applied to both graphs. (Because
obviously if different interpretations are applied, the same URI may
denote different things.) But my point was that if you look at it from
the perspective of "What are the sets of satisfying interpretations for
each of these graphs (separately)?", then we *are* talking about
different sets of interpretations, and the same IRI *may* denote
different things in them.
, because any graph has a set of satisfying interpretations, and
different graphs may have different sets of satisfying
interpretations.
Yes, but that does not imply what you seem to think it implies.
I doubt that what I think is what you think I think. What do you think
I think it implies?
To be clear, I think it implies the following. For graphs g1 and g2,
URI u, let s1 and s2 be the sets of satisfying interpretations for g1
and g2 (respectively). Let rs1 be the set of resources {i(u) such that
i is in s1}, and similarly let rs2 be the set of resources {j(u) such
that j is in s2}. Claim: Every member of s1 is "what u denotes in g1"
and every member of s2 is "what u denotes in g2". (But note that they
came from different sets of interpretations: s1 and s2, respectively.)
Claim: "what u denotes in g1" may be *different* from "what u denotes in
g2". The truth of this should be obvious.
Notice that nowhere am I making the single-interpretation assumption.
AFAICT, the disconnect between us seems to be that you are assuming that
one must only be talking about the *same* interpretation(s) when talking
about g1 and g2. That would be necessary if we were talking about the
union of g1 and g2, but it is *not* necessary if we are talking about g1
and g2 as separate graphs. The RDF Semantics can perfectly well be
applied to each graph separately.
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).
No, that would not be a correct way to express this condition, even
colloquially. What you are describing is two graphs which contradict
each other in some way.
Yes: the intersection of their sets of satisfying interpretations is
empty. I.e., the graphs contradict each other.
Which is impossible in RDF but much easier
to arrange in RDFS or OWL or other more expressive languages, but in
any case it is often only possible to detect the contradiction when
we presume that IRIs denote uniformly across graphs. Take this
example, using some rdfs:
G1: ex:a ex:p "23"^^xsd:number .
G2: ex:p rdfs:range xsd:string .
Each is consistent (has satisfying interpretations) but together they
are inconsistent (recognizing XSD). Why? Because if ex:p has range
xsd:string, then the first triple in G1 implies that a nuber must be
an XSD string, and XSD says these are disjoint. But notice, this line
of reasoning assumes that the ex:p in the G1 is the same ex:p as in
G2.
By "inconsistent", presumably you mean either; (a) that the graph that
is the union of G1 and G2 has no satisfying interpretations; or (b) that
the intersection of the sets of satisfying interpretations for G1 and G2
is empty. In case (a), we would be talking about a different graph that
has G1 and G2 as subgraphs, so yes, ex:p in G1 must be the same as ex:p
in G2, and there are no interpretations that satisfy this requirement.
In case (b), ex:p in G1 clearly denotes a different resource than ex:p
in G2, and that is why the intersection of their satisfying
interpretations is empty.
If it wasn't – if the same IRI in two different graphs could
denote different things – then there would be no inconsistency here,
because G2 might be talking about a different thing than the ex:p
that G1 is talking about.
Indeed, it is quite clear that the ex:p that G1 is talking about *is*
different than the ex:p that G2 is talking about, and this is why these
graphs are incompatible. This is evident because in every satisfying
interpretation of G1, the value of ex:p is an xsd:number, whereas in
every satisfying interpretation of G2, the value of ex:p its value is an
xsd:number, whereas in G2 its value is required to be an xsd:string, and
an xsd:string cannot be an xsd:number. I.e., the intersection of their
sets of satisfying interpretations is empty, so the graphs are
necessarily inconsistent.
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.
Of course we think of graphs in terms of sets of satisfying
interpretations. That does not imply that different occurrences of an
IRI can denote differently.
Sure it does. ex:p denotes *different* things in the set of satisfying
interpretations of G1 than it does in the set of satisfying
interpretations of G2, as we just established above.
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. (But see RDF
Semantics for caveats regarding different RDF interpretations.)"
The semantics document has no such "caveats".
And then we would have to add something to the RDF Semantics
document to explain how an IRI can denote different things in
different interpretations.
Of course IRIs denote different things in different interpretations.
That is what interpretations are all about: each interpretation is
one way to construe what IRIs mean, one mapping from IRIs to denoted
things. But each one of them construes each IRI in a particular way.
It does not construe one occurrence of a given IRI in one way, and a
different occurrence of the same IRI in a different way.
Correct: a single interpretation does not construe one occurrence of a
given IRI in one way and a different occurrence of the same IRI in a
different way. But that is *exactly* what multiple interpretations do.
That
condition – we might call it a 'split reference' – is not possible in
any interpretation. In fact, it is explciitly ruled out by the very
construction of interpretations, which are defined as mappings from
IRIs to referents. Not from *occurrences* of IRIs to referents,
notice.
Agreed. I'm not talking about a single interpretation. I'm talking
about multiple interpretations, such as we may be considering when we
ask: "What are the sets of satisfying interpretations for g1, g2 and g3
(respectively)?"
Does this make sense to you?
Clearly not; but you knew this, surely, from our earlier extended
discussions on this topic.
Hey, I'm trying to make headway toward a common understanding here! :)
Have I made any progress?
Best wishes,
David