Re: rdf as a base for other languages

>In message <20010601115102E.pfps@research.bell-labs.com> you wrote:
> > Unfortunately RDF only has triples, so triples end up being used for both
> > the ground facts and the more-complex information.  RDF has no way of
> > distinguishing between these differing uses of triples, so any triples that
> > are used to store the more-complex information are also asserted as facts
> > by RDF.  Worse, ....
>
>The "more-complex information" is stored by being described with ground
>facts.  What's wrong with that?   Where is the confusion?

The confusion is between describing (the syntax of) the information 
using ground facts, on the one hand, and actually asserting the 
information, on the other. Its what linguists call the confusion 
between use and mention.

Take, say, a logical sentence like:  (forall (?x)(R ?x ?x))
which maybe could be described by the following collection of ground 
triplets (I'm making up the syntax):

(syntaxType, S, universalQuantification)
(boundVariable, S, "?x")
(body, S, T)
(syntaxType, T, relationalAtom)
(relationSymbol, T, "R")
(subject, T, "?x")
(object, T, "?x")

But this collection of ground facts says, in effect, that a sentence 
S exists, and that is all. It doesn't assert the sentence, or say 
that it is true. (It can't possibly say that, if those really are 
ground sentences, since the truth of a universally quantified 
sentence cannot be reduced to a finite collection of ground 
sentences, in general.) In particular, it doesnt say anything about 
the relation R.  Now, one could extend the usual semantics so that 
just to describe a sentence is to automatically assert it, but then 
it wouldnt really be accurate to call this a set of ground sentences 
any more, since this would just amount to a rather wierd way of 
writing
(forall (?x)(R ?x ?x)) which uses 152 characters instead of 19. (If 
one were to render it into RDF and then serialize that in XML, it 
would increase in length by another order of magnitude.)

>The only potential for confusion I see is that some people might want
>to jump from having a triple described (with ground facts) to assuming
>the described triple is true, but that seems clearly wrong.

Quite. But usually, when one is in the business of writing these more 
complex expressions, it is precisely in order to assert them. That is 
why we call it *information* (rather than "text").

>Perhaps another possible confusion is around existence: if I describe
>to you that x is a blue Honda Civic with license plate 9948JI , does
>that mean that such a car exists?    (I think not.)
>
>As a specific example, let's imagine a robot which can jump into the
>air.  I can send it knowledge in RDF.  I might say
>  :jump17 a :Jump.
>  :jump17 :height "21cm".
>describing a jump ("jump17") of 21 centimeters.  One could define the
>class (":Jump") such that on learning of an instance a receiver should
>attempt to perform it.  Alternatively (and I think preferably), one
>could define it as abstract, so that you can talk all you want about
>jumping, with no one doing anything.   If you want the robot to jump,
>you might use a non-RDF channel to say "perform operation :jump17", or
>you might define some act-as-soon-as-you-have-knowledge semantics for
>a few specific vocabulary terms the robot looks for, perhaps a
>":request" term.

What if the robot is in the business of drawing conclusions about 
jumping, rather than jumping? Should it draw no conclusions about 
anything other than syntax?

Pat Hayes

---------------------------------------------------------------------
IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes

Received on Friday, 1 June 2001 14:56:38 UTC