Hi Pat,

On 09/27/2013 02:41 PM, Pat Hayes wrote:

On Sep 25, 2013, at 10:56 PM, David Booth wrote:

Hi Pat,

Thanks for taking the time to discuss this with me, and sorry for
the slow response.  Lots of other things going on right now.

My goal in this discussion is to reach common understanding to
allow the wording in the RDF specs to be made agreeable to all.
The current draft has certain passages that I find problematic.
I'm trying first to convey an understanding of *why* I see these
portions as problematic. I'd like to to avoid as much
back-end-forth as possible, but some back-and-forth may be
unavoidable in order isolate where our common understanding breaks
down.

On 09/15/2013 06:45 AM, Pat Hayes wrote:

On Sep 13, 2013, at 9:07 AM, David Booth wrote:

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.

This idea you have of two different perspectives is a fallacy.
There is only one correct way to understand model theory.

Oh, come on.  That's an absurd thing to say about *any* scientific
discipline.

Model theory isn't a scientific discipline, it is a mathematical
theory.

If that were true, we'd never make any scientific progress!  But
that's completely beside the point.

I'm not trying to make any grand new discoveries here.  I'm just
trying to point out something fairly simple: that as currently
written, certain statements in the RDF documents do not align with
reality.  They don't need a lot to be corrected -- very little
really -- but first we need to understand the problem.  I am not in
any way trying to reinvent or redesign the semantics, nor am I
trying to make any new observations about model theory.  You're the
expert on that.  I'm just applying what I read in the spec.

Apparently, you have not fully grasped the basic idea.

I don't think that is the problem.  AFAICT I've been following all
of your explanations -- very good explanations BTW -- but you seem
to be making some an additional "magic" assumption that apparently
I am not making -- an assumption that AFAICT is unjustified by the
mathematics and seems false to me.  The central assumption that I
do not buy is that in the end there is only ever permitted to be
one interpretation, or at least we're only allowed to talk about
one at a time.   That is perhaps a crude way of putting it, but I
think it kind of captures the gist.

Its not a question of "allowing". Its a question of what makes sense,
and what the mathematical construct called "interpretation" is
intended to be modeling.

Sorry, but I do *not* think it makes sense to assume that there exists only one "correct" interpretation, and AFAICT that seems to be the basis of the single interpretation assumption.

I got my understanding of interpretations from here:
http://www.w3.org/TR/rdf-mt/#interp
[[
The basic intuition of model-theoretic semantics is that asserting a sentence makes a claim about the world: it is another way of saying that the world is, in fact, so arranged as to be an interpretation which makes the sentence true. In other words, an assertion amounts to stating a constraint on the possible ways the world might be. . . .
]]

And from the Stanford Encyclopedia of Philosophy:
http://plato.stanford.edu/entries/model-theory/
and other readings on the web.

It seems perfectly reasonable to me that one person (or application) may think the world is arranged one way and another may thing it is arranged a different way. One might say that an interpretation is not about how some person (or application) *thinks* the world is arranged, it is about how the world really *is* arranged. But if we're talking about how the world really *is* arranged, then it's clear that people *do* sometimes use the same URI to denote different things. OTOH, maybe we're not talking about the real world, maybe we're talking about an *idealization* of the world, in which a URI really does only ever denote one resource. That view seems coherent to me, but: (a) that's different than what I understand from reading
http://www.w3.org/TR/rdf-mt/#interp
because when I read that section get the distinct impression that interpretations are supposed to correspond to the *real* world -- not an idealization; and (b) that view seems a bit pointless to me, because it does not correspond to reality.

In short, it seems to me that different, well-intentioned people *do* have different interpretations in mind when they write their RDF graphs. *And* it seems to me that the existing RDF Semantics accounts for this rather nicely in its use of interpretations to abstract the mapping from URIs to real world entities.


As an example, below you admit: "There are interpretations which
make G1 true, and there are other interpretations which make G2
true, and these interpretations give different meanings to ex:p."
And yet the introduction to RDF Concepts blithely states that "Two
different appearances of an IRI denote the same resource".  Taken
at face value, this seems contradictory.

No, it is not. I really don't know what more I can say to make you
see that there is no contradiction here. As an analogy: I can look
north and I can also look south, but I can't ever be looking two ways
at once. Does that help?

Pat, there is no need to make me see that "there is no contradiction here", because I *already* see how "there is no contradiction here" *if* certain assumptions are made, and I have seen that for a long time. You don't have to keep repeating it. The problem is that you are refusing to accept the fact that there *is* a different way of looking at this, and it follows *directly* from the mathematics of the RDF semantics, just as surely as the square root of 4 can be *either* 2 or -2. That other way of thinking about it may offend your sense of the "right" way to think about model theory, but AFAICT it *is* mathematically valid, and furthermore I think it is *useful* because it coincides more closely with real life use of RDF than the single interpretation assumption does.


If somehow that contradiction is to be avoided, surely some
qualifications need to be added.

Also, if indeed it were true that "Two different appearances of an
IRI denote the same resource" 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.

A URI collision is where a single URI is being  used to *identify*
two distinct things. This is (a) not the same issue as the one we are
talking about (though it is close, I will admit) but (b) is a
*problem* when it happens and *should not happen*. So the RDF
semantics (like many other Web standards) is built based on the
presumption that this bad thing is not happening.

Well, no, the RDF Semantics only assumes that this does not happen in any *individual* interpretation. But this is exactly what happens in different interpretations: the same URI denotes different things (regardless of the appearances of that URI).

FYI, I noticed that you have now defined a distinction between "identify" and "denote" in the current draft. I don't think that is helpful, and I'd like to discuss it further to understand the rationale better, but I don't want to get that discussion tangled up with this one, so let's skip that issue for the moment.



Furthermore, no matter what style of semantics was used in writing
the RDF Semantics spec, it is still a W3C spec and it still must
stand on its own according to what it *says* -- not what
philosophical outlook one chooses to have.  You cannot dismiss my
points about the spec with "go read a book" or "you have not fully
grasped the basic idea" just because I'm not wearing the same
model-theory-colored glasses that you are wearing.

Sure I can. If you were to insist that 2+2 equalled 5, I could tell
you to brush up on your arithmetic. The RDF semantics *is* a model
theory.

In particular, if the spec says that an interpretation is a
*function*, then it had damn well better be a function

Yes, it is.

and nothing more than a function!

No, it is a function with an intended use within a standard
('textbook") way of describing a semantics, and the specification
clearly refers to this standard way.

What do you mean by 'a function with an intended use'? Do you mean that there are constraints about how these functions can be used? If so, exactly what are these constraints, and where in the RDF Semantics specification are these constraints specified? I want to know concretely what they are.

OTOH, if you are just referring to an informal/conceptual way of thinking about interpretation functions, then that does not sound to me like a binding constraint on the semantics.


Not a function with magic powers or special implicit constraints,
but a *function*.   And yet, somehow additional assumptions keep
creeping in, as I've been trying to point out, because you keep
trying to constrain the application of those functions *beyond*
what the mathematics requires.

Actually, I don't. The functions in question are functions from the
set of URIs to a universe of denotations.  They are not graph-relative
and they are not defined on the set of URI *occurrences* or *tokens*.
It is you who are warping the mathematics, not me.

It looks like you are still misunderstanding my point. I never meant to assert that an interpretation function **by itself** is graph-relative. But the RDF Semantics as a whole is graph-relative and interpretation-relative. The semantics are defined in terms of the interaction between graphs and interpretations.



Last spring I think we made some significant progress in
understanding this disconnect between our perspectives

There is no "disconnect between perspectives". I am sorry, but you do
not have a "perspective" here, only a misunderstanding which is
amazingly persistent, but nevertheless quite erroneous.

That really isn't constructive. If you think I've made a mistake somewhere in my mathematics, please point it out specifically. I've been looking at this for a few years and have not yet found one, but I still could have missed something.

If you feel
differently, then I suggest you try writing up your perspective and
publishing it in an appropriate journal of formal philosophical
logic.

As I said, I'm not making any grand claims about philosophical logic here. I'm merely making a simple observation about the mathematics of the RDF semantics. And as much as you may find it distasteful or an abuse of the intent of model theory, according to the mathematics an IRI can denote different resources in different graphs under different interpretations. It is as simple (and obvious) as that.

But why are we still arguing at this level? Didn't you read the recap of last spring's conversation below? Last spring we already got to the point where you agreed that my points were valid, though you viewed them as violating the intent of the RDF Semantics. It would be nice if we could catch up to where we left off and move forward from that point instead of re-arguing the same points that we already covered before.


, so I found it useful to review some of that exchange in the email
archives.  I don't expect you to go back and re-read all of those
messages, but for convenience, here are my posts in that
conversation: http://tinyurl.com/k4csl4v

To recap where we left off, let me quote some of that exchange:

http://lists.w3.org/Archives/Public/public-semweb-lifesci/2013Mar/0191.html


[[
From: David Booth (in reply to Pat Hayes) [ . . . ]
It's not the interpretations that you are suggesting to treat as
contexts, it is the *graphs*. Your idea amounts to treating
graphs as local contexts for the URI tokens that occur in them.
And this is not a wholly insane idea, and indeed it has been
suggested by several other people, including people on the
current RDF WG. Some users use datasets in this way, treating the
URI tokens in the various named graphs as functionally
independent of one another until they have evidence that they are
being used with the same meaning.

First of all, I was not making a proposal, I was making an
*observation* about the *existing* RDF Semantics spec and the
*existing* conforming use of that spec.  But to understand that
observation, you need to be able to look at the RDF Semantics spec
as a whole, and recognize that:

(a) in essence, the RDF Semantics spec defines a standard function
-- call it RS -- for determining the truth value of an
<interpretation, graph> pair; and

(b) the particular formal style in which that function was defined
-- in this case, a model theoretic style -- is **completely
irrelevant** to the end result of its definition.

If you are unwilling/unable to acknowledge those two basic points,
then indeed my observation will sound like an improperly stated
proposal, and no amount of discussion will correct that
appearance.

On the other hand, if you are with me so far, or if you can at
least temporarily suspend your disbelief in those points, there are
some fundamental observations that follow.

1. Applications correspond to interpretations.  (Well, technically
they correspond to *sets* of interpretations, but for simplicity
let's pretend an app corresponds to one interpretation.)  Think of
an application as a function that maps a graph to an output.  When
a conforming RDF app takes a graph as input, assumes that graph is
true, and uses some algorithm (perhaps computing entailments) to
produce some output based on that graph, in essence it has chosen
an interpretation to apply to that graph.  That interpretation maps
URIs to resources in that application's domain of discourse,
whatever it may be.

2. Different applications choose *different* interpretations,
because they have different purposes.  Thus, the *same* graph may
contain a URI that maps to *different* resources in different
applications/interpretations.

3. Different RDF authors sometimes use the same URI to denote
*different* things.  I.e., different RDF authors make different
assumptions about the interpretations that will/should be applied
to the graphs that they write.  We may wish they didn't, but they
do.  (And because ambiguity is inescapable, this is impossible to
avoid, so there's no point in getting huffy about it.)
Fortunately, we can still use the RDF Semantics to help us
determine the author's intended "meaning" of each graph by
recognizing that different graphs require different
interpretations!  To clarify, we can use the RDF Semantics to
(separately) determine the entailments and satisfying
interpretations for each graph.  This is useful!  And it cannot be
done under the single-interpretation assumption.

4. Just because we can use the RDF Semantics to correctly determine
the authors' intended "meaning" of two graphs individually --
i.e., determine each graph's entailments and satisfying
interpretations -- this does *not* mean that the *merge* of those
two graphs will be useful.  Because if those two graphs have
disjoint sets of satisfying interpretations, then there cannot be
any satisfying interpretations for the merge, i.e., the merge is
necessarily false.  In other words, even though an app may work
perfectly on two graphs *individually*, it may *not* work on the
merge of those two graphs.  This may be quite counter-intuitive to
those who would assume that if an app works fine on one set of RDF
data then it should also work fine on a superset of that data.

[ . . . ]

5. This has direct consequences for owl:sameAs.  It explains why it
is useful, as Jeremy suggested, to keep separate graphs that
reflect different "perspectives" -- i.e., that assume different
sets of interpretations -- and keep them separate from owl:sameAs
assertions. This allows you to *choose* which URIs will be joined
by owl:sameAs, and which RDF assertions will be used with them, by
choosing which datasets to merge into the graph that you wish to
use for a particular application, *without* requiring that the
merge of all possible graphs be consistent, and *without* violating
RDF Semantics. ]]

And later, you wrote:
http://lists.w3.org/Archives/Public/public-semweb-lifesci/2013Mar/0212.html


[[
From: Pat Hayes (in reply to David Booth) [ . . . ]
An interpretation can be applied to any graph or any RDF
statement.  And certainly you could determine the truth value of
N different statements according to N different interpretations.
But would it be useful to do so? Probably not.  Furthermore, if
two statements are true under two different interpretations, that
would not tell you whether a graph consisting of those two
statements would be true under a single interpretation.

OTOH, it *is* useful to apply different intepretations to
different graphs, and one reason is that you may be using those
graphs for different applications, each app in effect applying
its own interpretation.  But the fact that those graphs may be
true under different interpretations does *not* tell you whether
the merge of those graphs will be true under a single
interpretation.

The RDF Semantics spec only tells you how to compute the truth
value of one <interpretation, graph> pair at a time, but you can
certainly apply it to as many <interpretation, graph> pairs as
you want -- in full conformance with the intent of the spec.

Not with the *intent*, even if I have to concede that it does
conform to the letter. The intention of the spec is to describe a
model-theoretic semantics for RDF and RDF extensions. What you are
doing, David, is not model theory semantics and does not describe
any useful notion of interpretation. ]]

I beg to differ on its conformance and its usefuless, since: (a) it
is merely applying the *existing* RDF semantics; and (b) it is
*certainly* useful to talk about what sets of interpretations
satisfy two different graphs (respectively).  Consequently it is
also useful to talk about what resource(s) a given URI might denote
in each of those graphs (respectively), based on each graph's set
of satisfying interpretations.

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

That is not the kind of use that RDF is intended for.

That's irrelevant. If you'd rather, you can imagine that Alice and Bob posted their documents on the web instead.

RDF is designed
to allow propositional information (data) to be *published* on the
Web, where it can be read and used by many applications. In general,
and typically, the nature of the use is not known to the publisher.

I would guess that the majority of RDF use today is *not* on the web.

If some RDF is used in a private one-time transaction between apps,
or entirely in-house in some closed enterprise, then its semantics is
irrelevant: it can be used to encode musical notation, or as an
alternative syntax for Javascript, and the RDF specs simply don't
apply to such uses.

Standards are important for use *within* organizations in addition to being important between organizations.

But in any case, if you are attacking the legitimacy of the example the I gave then you are mounting a very flimsy defense indeed, the semantics are the same regardless of the context of the example.


(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.

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.

It tells us that **if we assume G2 is true**, then ex:off denotes the
same as db:x.

Yes, exactly. It is perfectly reasonable and natural to ask "What resource does db:x denote in G1 (assuming G1 is true)?". And it is perfectly reasonable and natural to ask "What resource does db:x denote in G2 (assuming G2 is true)?".


That is useful!  Furthermore, the semantics tells us that if we
merge those graphs then we have a contradiction

No, we have the contradiction already. These two graphs contradict
each other, period. Merging does not change anything about the
semantics of the graphs.

-- 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**.

It means they cannot both be true.

What exactly do you mean when you say "Graph G can be true"? And I'm not playing games by asking this. I'm serious. It looks to me like there are at least two notions of what you may mean when you say that a graph can be true:

1. There exists a satisfying interpretation for the graph under standard RDF and OWL semantics.

2. Under some particular *unspecified* interpretation, the graph is true under standard RDF and OWL semantics.

The problem with definition #2 is that it involves an unbound variable: the interpretation has not been specified. And as we all know, a statement with an unbound variable is a big no-no.

So what exactly *do* you mean when you say that a particular graph can be true?

Publishing both of them was probably a bad idea.

That's a silly thing to say, given that both Alice's and Bob's apps are working perfectly and doing exactly what Alice and Bob intended them to do.


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.

No, it does no such thing. Even tableaux reasoners perform reasoning
by surveying possible interpretations, not by choosing one.

You don't seem to be grasping my point about what RDF applications do. Try re-reading this:
http://lists.w3.org/Archives/Public/public-semweb-lifesci/2013Mar/0208.html


This is a very useful aspect of the model theoretic style of the
semantics.

It is a gross misreading of the semantics. Nothing in the semantics
tells you to choose a single interpretation.

I didn't say that the *semantics* tells you to choose a single interpretation. I said that, in effect, that is what *applications* do when they take RDF as input, assume it is true, and produce output based on that input.


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.

Using RDF to "do" anything is probably mis-using it.

That's silly.  RDF is good for lots of uses.

RDF is not in
any sense a programming or scripting language.

Nor is XML or ASCII or CSV or any other information representation language. Applications use their input to decide what to do. That's just basic computing. The input does not have to be written in a scripting or programming language.


Anyway, one of the parts of the RDF specs that needs to be fixed is
the sentence in the RDF Concepts spec that says "Two different
appearances of an IRI denote the same resource", because as pointed
out, this simply is not true.  To address this, I think two things
are needed.  The first is to reword that sentence as a *goal* or as
an *intent*, rather than as a fact.  A change as simple as: "Two
different appearances of an IRI are intended to denote the same
resource" would probably be adequate.  The second thing that's
needed is a small amount of explanation about *why* two appearances
of an IRI do not necessarily denote the same resource, and how this
can be handled by the RDF Semantics.  (Short answer: it can't,
except by applying the semantics separately to each appearance,
using different interpretations.)

The other part (along these lines) of the RDF specs that I think
needs to be fixed is in the RDF Semantics spec, but let's address
the above statement in the RDF Concepts first and see if we can get
on the same page with that one before addressing the other one.

So . . . based on the above, how close or far apart do you think we
are?  Would you be agreeable to changes along the lines described
above?

No, I would not.

Well, please let's work together constructively to resolve this. If we can't come to a common understanding directly between us, then it's going to be all that much harder getting this resolved in the working group. I may be a fool, but merely calling me one and telling me to read a book ain't gonna help. I've got legitimate points that are rooted soundly both in practice and in the mathematics. I've learned a great deal from you -- though I'm sure not nearly enough, from your perspective ;) -- and it's from exploring the logical consequences of what I've learned that I've reached these conclusions.

David



Before I wrote the above, I started to respond to some specific
things below.  You can read them below if you want, but I think I
have already covered my overall points above anyway.


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.

An interpretation is just a formalization of the idea of the
language having a meaning. One does not completely know the
intended meanings, so is more than one possible interpretation.
But that does not say that some RDF has one interpretation while
other RDF has a different interpretation. That idea - what you
are calling the "multiple-interpretation perspective", if I
follow you properly - is simply a misunderstanding of the very
idea of an interpretation in model-theoretic semantics.

The RDF Semantics document says that an interpretation is a
*function*, and I know what a function is.  I see nothing in the
semantics that requires only *one* interpretation function to
exist.

Of course not. Many interpretations *exist*. That is the point of
having discussing interpretations in the first place. But a construct
consisting of two interpretations is not, itself, an interpretation.


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.

No, it does not, which is WHY these are mutually inconsistent. If
it could denote one thing in G1 and something different in G2,
and if this were somehow acceptable, then these two graphs would
be consistent. In fact, the statements P and (not P) would be
consistent, becuase the firat P could be interpreted as being
true and the second P as being false.

No, you're talking about the merge of the two graphs, which indeed
would be inconsistent.  I'm talking about the two graphs
separately.

I am talking about two graphs. I did not mention merging or
unioning.

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.

No. Look, if we take each graph in isolation, then yes,
different sets of interpretations make them true. There are
interpretations which make G1 true, and there are other
interpretations which make G2 true, and these interpretations
give different meanings to ex:p.

Exactly.  That's what I have been trying so hard to point out.

But the truth of that trivial observation does not have the
consequences that you seem to think it has. So pointing out that it
is true is not really a useful activity.


But still, each interpretation assigns meanings to every
occurence of every IRI. So the interpretations that make G1 true
also make G2 false, and the interpretations that make G2 true
also make G1 false. There is no interpretation that makes G1 and
G2 *both* true, and this is BECAUSE every interpretation assigns
a truthvalue to every triple in every graph, and assigns the same
denotation to every occurrence of each IRI, whatever graph it is
in.

Of course.


Do you see how this works yet?

Yes, of course, I see how it works in *that* direction.  But I also
see how it works in the other direction: given G1, it is reasonable
to ask: "What resource does ex:p denote in G1?"

No, that question is meaningless as posed. (What do you think "denote
in G1" means? Denotation is defined relative to an interpretation,
not relative to a graph.)

And the obvious answer is that ex:p denotes some resource
r1=i1(ex:p) such that i1 is in the set of satisfying
interpretations for G1.

That would be the answer to the question: "what resource does ex:p
denote, assuming that G1 is true?"

Similarly, the obvious answer to the question "What resource does
ex:p denote in G2?" is that ex:p denotes some resource r2=i2(ex:p)
such that i2 is in the set of satisfying interpretations for G2.

"What does ex:p denote, assuming G2 is true?"

It is useful to look at graphs this way!

Indeed.

But now we have a problem, because the RDF Concepts introduction
says: "Two different appearances of an IRI denote the same
resource", but we also know that r1 != r2.

No, we do not have a problem, because G1 and G2 cannot both be true.
And indeed, we have *discovered* this by applying the semantics. We
have used valid logical entailment (as defined in the RDF semantics)
to derive an explicit contradiction from the two graphs, showing that
they are mutually inconsistent. That is, that no (single)
interpretation can satisfy both of them. If the same URI could denote
differently "in" the two graphs, then they would not be
inconsistent.


, 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"

That phrase is meaningless, and it is not used anywhere in the
RDF semantics. Denotation is not graph-relative.

Are you telling me that it is meaningless to ask, given a graph,
what a particular IRI denotes in that graph?

Yes.

That would be absurd.  It is perfectly reasonable and normal thing
to ask.

No, it is not. Maybe this is the source of the difficulty you have in
following this. The idea of a name denoting something "in" a graph is
not a meaningful notion. In fact, in my experience, you are the first
person who has ever used such a phrase.

The fact that the RDF Semantics has specifically defined this
notion is a *bug*, not a feature.  It could easily be defined as
described above (in terms of the satisfying interpretations for the
graph).

I get the impression that you would *like* the question to be:
"what resource does u denote in *all* graphs?".

No, that is equally meaningless. The only meaningful question to ask
is, what does U denote? Now, one can meaningfully ask something along
the lines of: "Assuming that these graphs are true (and assuming
nothing else, perhaps) what can be said about what ex:p denotes?" and
such a question is quite meaningful (although the answer is usually,
depressingly little.)

But that question would be completely pointless, because nobody
cares about *all* graphs.  People care about *specific* graphs, and
it is very important that people have the ability to chose *which*
graphs to care about, thank you very much.

Perhaps so, but the RDF model is that RDF is published globally and
can be accessed at will, and that none of it is preferred or has a
higher status than any other. So while indeed nobody cares about all
graphs, it is still true that the set of graphs that anyone cares
about cannot, in general, be delineated ot circumscribed beforehand.
It is not infinite, but is unbounded.

The fact is that people *do* use the same URI to denote different
things

They do, in fact, yes. And when they do, applications break and fail.
So we encourage them to not do that, and also force them to accept
responsibility for the consequences which result when they do.

Pat


, and people *do* look at graphs and want to know what a URI
denotes in a particular graph.  We might as well take advantage of
the existing RDF Semantics to help them out.

Thanks, David


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.

Interpretations apply across all IRIs and all graphs, by
definition. The set of interpretations which satisfy a graph is
dependent upon the graph, of course. But every interpretation
defines a truthvalue for every possible RDF triple, and hence for
every possible RDF graph. That is the entire point of
model-theoretic semantics: interpretations fix the meaning of ALL
SENTENCES in a given language. If they did not, they would not be
interpretations.

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.

Those are two ways of saying the same thing. so I mean both of
them.

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.

No. The reason why the set is empty is not because ex:p denotes
differently in the two graphs (which is meaningless as stated) ,
it is because *whatever you take ex:p to denote*, at least one of
the graphs must be false. You survey all the possible
interpretations, and you find that whatever you do, you never get
both graphs true at the same time.


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.

Yes, exactly. Put another way, the interpretations which satisfy
G1 cannot satisfy G2, and vice versa.




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.

So what? What established mutual inconsistency here is that in
every interpretation which satisfies G1, G2 is false (and vice
versa.) But to show this rigorously means that we have to
consider the truth of G2 in those G1-satisfying interpretations.
And we do that by applying the interpretation mapping to G2; and
when we do, we interpret the IRIs in G2 exactly the way they are
interpreted in G1. Because, to make the basic point one again,
interpretation mappings are defined on IRIs, not on occurrences
of IRIs in graphs, so you get the same denotation for every
occurrence of the IRI, in any graph. And this follows from the
*definition* of "interpretation". Different occurrences of an IRI
cannot denote differently.

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.

No, that is NOT what they do. They simply provide a mathematical
survey of possible ways for IRIs to denote.  But they are all
functions *from IRIs to denotations*, not from IRI occurrences
to denotations. (You can define a (different) semantics which
allows this, and it is a context-logic semantics: interpretations
map from <context, IRI> pairs to denotations. In your case, the
contexts would be graphs, I presume.)


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)?"

Multiple interpretations are still interpretations. A set of
mappings from one set to another is not a mapping from a
different set.




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?

Apperently not.

David, if you think that you have a new idea here and you are
eventually going to convince me you are right, give up now. I
know model theory and logical semantics very well indeed, and I
know that you are confused about the basic ideas. You are not
going to persuade me that you are right, because you aren't.

Pat


Best wishes, David


------------------------------------------------------------
IHMC (850)434 8903 home 40 South Alcaniz St.            (850)202
4416 office Pensacola                            (850)202 4440
fax FL 32502                              (850)291 0667   mobile
(preferred) pha...@ihmc.us       http://www.ihmc.us/users/phayes











------------------------------------------------------------ IHMC
(850)434 8903 home 40 South Alcaniz St.            (850)202 4416
office Pensacola                            (850)202 4440   fax FL
32502                              (850)291 0667   mobile
(preferred) pha...@ihmc.us       http://www.ihmc.us/users/phayes










Reply via email to