Paradoxes are bugs on the SW was: Re: questions on assertion

Joshua Allen wrote:

>
> You are right about the incorrect syntax, thanks.  Also, I agree that
"veracity" is something outside of RDF, just like "color".  The point being
that "veracity" is something to be asserted, judged, and weighed; and a
web-based system must be able to accept or reject assertions.  Given that, I
see no problem with the example below -- it is clearly contradictory and
useless, but I don't see a problem with that -- you will be sure to get lots
of contradictory and useless assertions mixed in with the good stuff in any
web-based system.  (But maybe I am missing some things?)
>
> <rdf:Description rdf:about="#Statement1">
>     <ex:Veracity rdf:ID="Statement1">False</ex:Veracity>
> </rdf:Description>

In RDF, the way RDF uses the term "assertion" according to the RDF Model
Theory, there is no problem with the above statement. The "ex:Veracity"
predicate has no effect on the truth value (or assertional 'status') of the
statement: all statements in RDF are asserted, plain and simple.

RDF has no negation, by design. You may not like that, you may holler, you
may protest that the web _must_ have negation, but RDF is not going to give
it to you. Some argue this is a draconian design decision, but for the
Semantic Web to work as intended, we need to avoid logical paradoxes
(contradictions are simple to deal with: "(A and not A)" is simply false).
The design of RDF avoids some common paradoxes by not providing negation,
plain and simple.

Issues like trust and belief have been placed higher on the SW "layer cake"
and it is the intention of _other_ languages (presumably built on RDF but
perhaps not) to deal with such issues.

These exact issues -- for example suppose a higher level language _wants to_
introduce negation, but needs to avoid a paradox when RDF asserts the
statement it is trying to negate -- these very issues are at the heart of
the "layering" debate that has gone on in the WebOnt WG archives.

The idea of "unasserted triples" allows a "higher level" language to define
the truth value for such triples according to its own rules (i.e. model
theory).

On the other hand you need to realize the importance of avoiding logical
paradoxes at all cost, for the Semantic Web, because -- a logical paradox is
the logic equivalent to a "buffer overflow" in a Web server, etc. that is
potentially attached to your bank account -- the point being that if I as a
human am going to trust some Bot that I've sent out to do my shopping, I am
not going to tolerate a paradox which would be capable of convincing my Bot
that the Brooklyn bridge is actually the red shirt I want to buy in which
case I would buy the Brooklyn bridge ... but it wouldn't be the Brooklyn
bridge because it would be a red shirt ... but it would be the Brooklyn
bridge because ...

Jonathan

Received on Tuesday, 9 July 2002 08:47:03 UTC