Re: Logic and Using The Semantic Web Toolbox

Summary of this message: I truly believe that there must be a way of
schematically asserting a 'not'!
Tim Berners-Lee wrote: "We fail if at every stage we have introduced special
XML syntax whose semantic is expressed in English; we win if we find that we
can build up the language by introducing new RDF properties - especially
those whose semantics can be expressed in RDF and the preceding
properties." - http://www.w3.org/DesignIssues/Toolbox.html
If we can't even assert a simple 'not' using RDF and RDF Schemas, then what
hope is there?
Also from the same document:-
"I am not proposing that the best machine in practice to process the
language we are building is based directly on RDF triplets - but it is
important to ground new features in basic RDF. As RDF has little power at
its basic level, anything new has to be introduced by reification - by
describing it in RDF. Hence, to say 'not(node, property, value)', you have
to say, for example, 'there is something which is an RDF property and has a
subject of A and whose B property has vale [sic] C and is false'. So in RDF,
not can be introduced by a new property which associates a boolean truth
value with another node. Actually manipulating the information in this way
is of course not very efficient."
It further defines not as being <truth>0</truth>...

> > How do we get processors to recognize methods like "invertProgram"? Is
there
> > some way of getting from:-
> > [A, isLeftOf, B] to [B, isRightOf, A]
>
> Of course "the schema" needs to know:
>
> [isLeftOf, invert(s), isRightOf]
> [isRightOf, invert(s), isLeftOf]

Yes. Invert(s) is another way of saying "not", or "the opposite of", i.e.
<not>isLeftOf</not> = isRightOf. So how is the Schema meant to know that?

> > Or in other words, what is the RDF Schema way of saying [You, do!,
invert]
> > so that when we invent this property, it automatically finds the reverse
of
> > all of our triples?
>
> Well "do!" is probably not something that can be defined in RDF Schema.  I
did
> it by writing a threaded code interperter that crawled on the "schema
> statements" themselves.  Here I use the term "schema statements" quite
loosely
> to mean anything that we hang off of the property resources.

I see.

> > Which is exactly what I was looking for, and because the assertions
> > are the same that implies that there must *be* a way of implying
> > "not" by simply using rdfs...am I right?
>
> I don't know, but I'll take your word for it,

My logic was a bit contrived, but there must be a loophole somewhere that is
the Schema equivalent of saying "this element means 'not', as in the boolean
logic 0", i.e. a logical equivalent of:-

<?xml version="1.0" ?>
<rdf:RDF
     xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<rdfs:Class rdf:ID="not" rdf:about="#not"
   rdfs:label="not"
   rdfs:comment="Asserts boolean logic of not: i.e. (0)">
</rdfs:Class>
</rdf:RDF>

And this:-

if <not>[A, isLeftOf, B]</not> != [B, is RightOf, A
then [A, isLeftOf, B] = [B, is RightOf, A
and also [<not>A</not>, <not>isLeftOf</not>, <not>B</not>] = [B, isRightOf,
A]!

Is the closest I've seen yet, even if it doesn't actually say anything in
itself...I truly believe that there must be a way of schematically asserting
a 'not'!

Kindest Regards,
Sean B. Palmer
http://xhtml.waptechinfo.com/swr/
http://www.w3.org/WAI/ [ERT/GL/PF]
"Perhaps, but let's not get bogged down in semantics."
   - Homer J. Simpson, BABF07.

Received on Wednesday, 29 November 2000 13:05:51 UTC