SEM: circular primitive vs. defined was Re: was: comprehensive entailments without dark triples

Dan,

(changing the subject because the thread is getting long, and I am
introducing a new question later on)...

> At a glance, I'm pretty sure I could live with a theory
> of classes that was too weak to deal with that thing, at least
> for a few years. But I'll have to mull it over.

That worries me. The cost seems to be "dark triples" which are simple to
deal with in the RDF MT, and there are relatively simple syntactic
constructs which can encode them. I also note that RDF M&S has language
which indicates that 'reification' is to be used for something like 'dark
triples', but of course reification was intended to be used for a variety of
purposes, it just seems that providing something that was in RDF M&S in
perhaps a slightly different form, isn't all that out of charter.

My fear is a 'theory of classes' that is too weak to do real world tasks,
particularly those that _already use description logic_. Medical
applications should be a slam dunk for OWL, it would be a real shame if the
language were crippled to the point of losing that.

But beyond that, suppose we cripple the language, even then we aren't sure
that the solipsistic semantics will layer correctly on RDF i.e. won't
introduce yet some other paradox. Of course we could spend another 6 months
trying to work that out... It seems a much more efficient use of the time
and energy of the combined RDFCore+WebOnt team to fix this problem and move
on. Dark triples is the only proposal on the table for which there appears
any sort of consensus that it would actually work.

>
> > Dan Connolly wrote:
> >
> > >
> > > Er... that's begging the question. No fair.
> >
> > Actually, "begging the question" has a different logical meaning than
you
> > intend here,
>
>
> Ummm... I looked it up.
>   http://datanation.com/fallacies/begging.htm
>
> The question was: why do we need circular stuff to exist?
> You answered it by saying "suppose some circular stuff exists...".

I thought the question was, "what are the real world implications ..."

The "suppose this exists" right up front labels the statements for what they
are. "Begging the question" is usually used to describe "circular
reasoning", sort of a primitive logical sleight of hand. My use of "Suppose
there exists..." was intended to avoid this trap -- that is to say, there
either does or does not _exist_ a disease which is defined as a circular
structure, either way I have not made a circular argument.

>
> That's not begging the question? I thought I was
> getting the hang of these things.

from your source:
[[
Proof:
Show that in order to believe that the premises are true we
must already agree that the conclusion is true
]]

In order to agree that the premise is true, "Suppose there exists a disease
described as a circular structure" we simply look for the existence of such
a disease (which I have provided) -- to counter this you might rewrite the
definition of this disease in a tree-form, and it was this process of
production and rewritting of potentially 200,000+ terms which approaches an
infinite amount of time and effort. Certainly the number of diseases which
are actually circularly defined is a small fraction of this, but perhaps
Peter will come up with other problematic examples and so on.

[...]
> >
> > <Restriction rdf:ID="PaternalDominantInheritance">
> >     <onProperty rdf:resource="#father">
> >     <toClass rdf:resource="#PaternalDominantInheritance">
> > </Restriction>
>
> I don't think that's what you meant.
>
> That says that PaternalDominantInheritance is *exactly*
> those things whose fathers have type PaternalDominantInheritance;
> that there are no other conditions (like actually
> having a disease) for being in this class.
>
> I think you meant that PaternalDominantInheritance
> is a *subClass* of the (father hasClass PaternalDominantInheritance)
> restriction, right?
>
> OK, that's still circular, but it's a "primitive" class;
> i.e. you're going to be able to communicate to the
> machine *necessary* conditions for being in this class,
> but not *sufficient* condidions, right?
>

I don't quite get "primitive" vs. "defined" to be honest. I understand the
necessary and sufficient, but for example:

<Restriction rdf:ID="BlueThing">
        <onProperty rdf:resource="#color"/>
        <toValue>blue</toValue>
</Restriction>

That is primitive, right? I don't get why it would be wrong to label
_anything_ which has the property color="blue" as a :BlueThing. I mean
anything can have any number of super classes, right? Is primitive vs.
defined simply an 'implementation' mechanism of reducing the number of
classes a thing belongs to? i.e. are "defined" classes, classes that you are
telling the system that you want it to make inferences on etc.? Otherwise
what is the harm of letting things be members of the instance sets of
primitive classes?

Jonathan

Received on Monday, 22 April 2002 18:01:23 UTC