Re: help wanted: RDF issue rdfms-assertion

This message, in the last loop, lost some formatting, making it 
difficult to understand the nesting. I have tried to sort this out and 
shorten it too.

On Friday, May 31, 2002, at 02:53 PM, patrick hayes wrote:

> Tim:   Yes there is meaning to RDF statements which is not expressed in 
> RDF.
>
> Pat: OK, but then we need to come to a terminological agreement. There 
> is a clear sense of phrases like 'meaning of XXX statement" or 'XXX 
> meaning' (where XXX is the name of some formal language) which is 
> widely used throughout AI/KR and logic. With that sense of 'meaning', 
> statements like the above are foolish, like asserting that 2+2 is more 
> than 4 . We spend considerable effort teaching our undergraduates not 
> to make silly mistakes like that.

When I am glad I avoided that fate, at least. ;-)

> It has often seemed to some of us that people in the W3C make 
> assertions about meanings that are so daft that it is hard to believe 
> that anyone would assert them with a straight face, and I suspect that 
> this terminological mismatch has been responsible for much of this 
> impression. I am still not *entirely* clear what you mean by 'meaning', 
> and I bet that nobody is (which is fine, as long as we all know there 
> is a research agenda here) but we should try to keep that notion of 
> meaning separate from the other, perhaps more technical, notions.

I think that my notion of meaning is very much the english one, and so I 
have a greater right to the default namespace!

> Since usages like "RDF meaning" when used with your sense of 'meaning', 
> sound to us like insane hubris (it has the connotation that RDF has 
> somehow captured in its semantics - ie its model theory -  an entire 
> account of English meaning, or human thought),

You are  clearly the one who has the hubris.  You are telling me I am 
wrong and crazy.   But simultaneously saying  that the meaning of an RDF 
statement is only what is expressable is RDF, you imply that RDF has 
somehow captured in its semantics - ie its model theory -  an entire 
account of English meaning, or human thought. This is clearly insane 
hubris as you say, but it is you who are guilty of it!


> could we perhaps agree to use a less ambiguous terminology? For 
> example, how about some invented phrase like 'web meaning', or 'social 
> meaning' or something like 'full meaning'. So one might say, the web 
> meaning of a piece of RDF is more than its (strict) RDF meaning, and 
> happily agree that the phrase 'web meaning' has, as yet, no exact 
> specification.
>

Science always has problem that it isn't very good at using namespaces.  
There is an arrogant assertion that to classify a tomato as not a fruit 
is wrong, when it is just a use of a common term rather than a 
biological one.  To  teach your undergraduates about the meaning of 
"pat:meaning", apparently that all pat:meaning can be expressed in RDF 
axioms, is all very well so long as you don't have the arrogance to 
declare that pat: meaning is the only form of meaning, and specifically 
that all the people who use the term in is english sense are wrong or 
crazy.

To say that #pat  pchar:eyeColor pantone:blue .  has no meaning is not 
helpful in reality.

SOME of the valid inferences from the above can be expressed in 
mathematical langauges, but as you say it is crazy to think one could 
define all the terms from scratch.

> ----
> I grok the general point: The RDF might 'carry' more meaning than it in 
> some strict sense expresses. The full web meaning is determined 
> socially, and may be specified by any means: grounding of RDF terms in 
> human-readable English definitions, diagrams, whatever; all using 
> conventions that link the RDF to the world in some way that goes beyond 
> what can be expressed in RDF.

Good.

> What I find technically unsettling in your reply is your reliance in 
> English (NL) glosses to ground meaning. There are many problems with 
> this. First, English is itself only a language, and is just as much in 
> need of grounding as any formal language; it gets that grounding from 
> the human society that uses it to refer to the world that the humans 
> see, hear, taste, feel and even imagine; and *that* is where the actual 
> grounding in reality occurs, not in English.

I am talking about grounding how the technical terms in an RDF 
vocabulary are grounded in enlgish, not how english is grounded. **

I suppose I take for granted the process which W3C and engineers are 
constantly in general: writing specifications.  When someone writes a 
specification for SVG, about how <circle> should generate a circle, they 
often do it in natural english. The same applies for specification fo 
sheet steel, and so on. The same applies to the DAML spec, which for all 
its axioms and model theory is incomplete without english text.

I can see it is frustrating to you as a logician that the meaning of 
things like a sheet of mild steel can't be practically specified in 
mathematics, but you have declared that it is "insane hubris" to expect 
to do so, and yet we need to be able to specify sheet steel, and hence 
we use English. Specifications of technical terms are normally much more 
verbose than a single word.  They use repetition and restatement to 
avoid ambiguity and make a definition which a community of use -- 
potentially the entire planet -- can accept as being unambiguous.

That's life.

(**Actually the grounding of english is, in my humble opinion, quite 
complicated.   It is simplistic to imagine that kids learn all of their 
natural language from definitions provided to them in terms of "hot" and 
'cold" and the other things for which they have sensor cells. We 
construct associations between concepts as we understand more of the 
world, and learn to associate words with those concepts in a rather 
fuzzy way.  Eventually they end up with a large set of concepts which 
map in a more or less fuzzy way through words onto the loose webs of 
association in other's brains, and that way they get though life.   
Logical concepts are rather the exception in that they are consciously 
analyzed to a greater extent, and so the shared webs of association in 
different people's minds include some repeatable mathematical 
properties.)


> Second, many computational systems are grounded in the world without 
> going through human speakers of English (I'm thinking of machines with 
> sensors, bank computers handling bank accounts, cameras with facial 
> recognition software, things like that) and so the 'meanings' of the 
> terms they use will not usually need to be given an English gloss, and 
> in fact they will probably not be accurately captured by any English 
> gloss, eg what does "see" mean when applied to a smart bank security 
> system using infra-red sensors? Third, we don't actually have a precise 
> account of English meaning to rely on, so we are hamstrung from the 
> start; and fourth (this is a minority view of my own, but I hold it 
> passionately)  human natural language in fact isn't very well suited to 
> specifying meanings.

Well, we are all looking forward to those aspects of meaning which are 
machine-processable to be represented formally.  And we all struggle to 
use natural language to set up this infrastructure.

> It evolved for situated communication between humans using a narrow 
> bandwidth channel, not for specifying meanings for use by an inference 
> process, and the evolutionary pressures often went in divergent 
> directions; eg English is ambiguous, lexically overloaded, contextual, 
> tensed, and full of allusions, ironies, metaphors, poesy and other 
> stuff which delights the human left temporal lobe but which is 
> nightmarish in a specification language. So using English as a 
> grounding for meanings is like building on mud.

For pat:meanings, in other words defining the set of valid infrences 
which can be deduced using a turning machine, yes.

> Tim:
>
> Suppose a document in RDF parses to the following statements:
>
>
> _:b dc:title "Moby Dick".
>
>   _:b dc:creator  _:c .
>
>   _:c  contact:email <mailto:phayes@ai.uwf.edu>.
>
>
>
> People actually write documents which parse to statements like that.  
> Libraries work only because people accept that such things have meaning.
>
>
> Pat:  Yes, *people* accept that, and libraries are used by people. But 
> that isn't the point here. The point is what *software agents* can 
> understand, right?
>

Software agents understand, but the output must be usable in the real 
world.

So a person writes that x is the author of y.  A machine deduces that x 
is creator of y.
A person concludes that x is the creator of y.

> And for the record, and speaking now as a person, I wouldn't have read 
> that RDF to mean that I was the author of Moby Dick; I would read it as 
> saying something like "if you want to find out more about the author of 
> Moby Dick, then send Pat Hayes an email". (It seems odd to refer to 
> people by their email boxes: what about all the lucky souls who don't 
> have an email account? How would you say that Melville wrote Moby Dick?)

(Never mind. Let's not niggle over details of the examples.)

> These statements are taken to mean that you are creator of something 
> called "Moby Dick".  Leaving aside niggling over details, time, etc, 
> you have to go along with that.
>
>
> Who says I do? Even as a human being, on what basis must I go along 
> with assuming that this RDF means the same as your English gloss of it? 
> I don't find that at all obvious, and it certainly does not follow from 
> the RDF spec, or from any of the conventions outlined in the RDF spec. 
> (It might be possible to extract it from the code of the library system 
> that used it, by noticing that it - the code - drew certain conclusions 
> that only made sense under that assumption. Under those circumstances I 
> might agree with the claim, but only because the code is now part of 
> the specification of the meaning of the RDF, which is stretching the 
> point, but not intolerably. But to claim that a piece of RDF means 
> something just by fiat seems silly.)
>

That's how it works on the web.  People publish things.  To publish is, 
I suppose,  to declare the meaning of something by fiat.     It does not 
work like common parlance defines the meaning of words.

> If you are, they are true; if you are not they are false.
>
>
>
> If, for example, I accept the assertions of a library card to this 
> effect, then to be simple I now know you wrote such a thing.  To be 
> complicated about it, the possible worlds which I can  consider this 
> world as being among have been constrained to those in which you did 
> write such a thing.
>
>
> Its not clear that this semantic way of talking makes sense in this 
> context. It would if we had a model theory for English, but 
> incorporating one of those would make RDF into a *much* more 
> complicated kind of beast.
>
>  (I am sure one could be much more complicated - but that is not the 
> object of the exercise!))
>
>
>
> Now Peter's RDF engine will of course not know this, as you can't 
> describe creatorship in RDF from scratch, and he's  not prepared as 
> calling peter:RDF anything which involves inference using anything 
> other than the RDF spec. Which is limiting, and not what RDF is for.
>
>
> I thought that this was exactly what RDF was for. I have never heard or 
> read anything that suggests otherwise.
>
> Peter's interest in the set of inferences you can make from a statement 
> is of course useful, but saying that there is only one set is not.
>
>
> Useful or not, it is true; and follows in fact from the RDF specs 
> themselves. Well, to be exact, there is one set of RDF-valid inferences 
> you can make. Making other inferences from something is *possible*, of 
> course - generating random RDF graphs and calling them inferences is 
> possible - but its not RDF, any more than inferring "Je suis faim" from 
> "Tengo sed" is English.
>
> In fact, they hard fact of life on the web is that you learn stuff, and 
> some people know more than others, and some machines have greater 
> capabilities than others.
>
>
> Of course, but that is irrelevant to the point here. The issue is 
> whether that stuff that you learn is written in RDF or not, and whether 
> those capabilities are sanctioned by the RDF specs or not.
>
> Let me show you what I mean in another way-- in the negative -- what I 
> want to exclude.
>
> Tim: Above, dc:creator is the predicate.  It is defined, (say) by the 
> dublin core
>
> that the meaning of a statement x dc:creator y is that x wrote, painted 
> or
>
> otherwise created a work y.
>
>
> Pat: Wait. HOW is is so defined? If the dublin core just say this in 
> English then they are only defining their intent, not the actual 
> meaning of the RDF terms. The only way to define meaning in any 
> formalism is to write expressions IN THAT FORMALISM which capture that 
> meaning by restricting the space of allowable interpretations. If one 
> wants to invoke other machinery - as for example is done in AI 
> robotics, where sensory inputs are related directly to the physical 
> surroundings of the machine - then those 'grounding' links to a world 
> need to be specified as part of the semantic account of the formalism 
> itself, There are no magic routes to putting knowledge into machines.
>
> Now suppose I define the resource  w3c:tim  in a namespace I control, as
>
> follows:
>
> 1. w3c:tim is a person, with email address <mailto:timbl@w3.org>
>
> 2. w3c:tim is defined such that any statement of the form  w3c:tim 
> dc:creator :y  means that Pat Hayes should immediately send me a crate 
> of claret.
>
>
> I'd like to see the RDF graph that says this.
>
> This would mean that anyone who uses the dublin core vocabulary to 
> describe me would end up, by my definition of the term which I have 
> introduced, stating that you should send me some wine.
>
>
>
> What's the problem?   Informally, it violates the actual practical way 
> RDF works
>
>
> What actual practical way? Seems to me that there is hardly any actual 
> practice to appeal to, and that in fact this kind of thing is going to 
> happen as soon as RDF is widely deployed, since there is in fact 
> absolutely no way to prevent anyone writing anything using any 
> vocabulary they like. I can write all sorts of misleading things in my 
> RDF graph using your vocabulary, and how can you possibly stop me doing 
> that? After all, you *published* the terminology. I think the first 
> amendment gives me the right to *say* whatever I like using it. All you 
> can hope is that a third party will take what you say as having more 
> authority than what I say, since the terms are yours. But that seems 
> like a slender reed to base a theory of meaning on, if definitions can 
> be outvoted.
>

All of civilized society could indeed in principle be "outvoted".  One 
could vote that the holocaust didn't really happen, or that "bedtime" 
means "time to watch television", if one has enough support.  These are 
failures of a system which generally works for things like commerce.  
You can assert as much as you like that a pound note means that the bank 
of England should furnish you with gold for the rest of your life, but 
they won't.  Society has constructed a framework which (while its left 
brain delights in poetry) not only uses but also supports a framework of 
communication over practical matters using well-defined common terms.

In many cases we use the concept of terms with well defined meanings.  
In writing specs of internet protocols and in RDF this is what we do.  
Deviations from this are dealt with outside the box, using many 
different techniques.

[The quoting in the rest of the message got muddled in my copy]

Tim

Received on Tuesday, 11 June 2002 15:05:06 UTC