Search Mailing List Archives
[protege-discussion] allvaluesfrom problem and rule syntax needed
Thomas Russ
tar at isi.edu
Wed Nov 24 11:03:28 PST 2010
On Nov 24, 2010, at 8:16 AM, Soha Said wrote:
> Hello,
> Thanks alot, It worked when I said that Person and EdibleFood are
> disjoint classes
> but it was working in protege 3.4.4 without this condition.
There must have been some disjoint class assertion. Otherwise the
reasoner has no way to know that an individual can't belong to both
classes at once. In fact, the restriction will give the reasoner the
ability to infer that the individual must satisfy the restriction.
Type restrictions in OWL are inferences not type checks like in
programming languages.
So if I say
A hasPart only B
i type A
i hasPart j
Then the reasoner can figure out that j has type B.
> And about the rule, I think I have to do it in my code and don't
> depend on protege
Probably.
> Also, When I want any individual for some class must have minimum
> and only one other some individual
> like: class eat has restrictions object exactly 1 EdibleFood and
> object min 1 EdibleFood
You only need the exactly 1 restriction.
exactly is a combination of min and max restrictions.
> but when i create individual from eat and don't define any object to
> it
> the reasoner doesn't catch, Is there some other constraint must be
> written?
No. That is a result of the open world semantics of OWL. It is not
an error. OWL's reasoner infers that there is a property value -- it
just doesn't know the identity of that property value. You can't do
anything about that since that is the defined and designed behavior of
the reasoner.
> and how can I write restriction can say that some class has a
> dataproperty can have any value expect some value
> like: class eat has dataproperty detSubj I want to say that detSubj
> of eat has any value expect "there"
> how can I write it? I tried many ways and doesn't work.
I'm not quite sure how to do this with datatype properties.
For object properties you create a class with an enumeration of the
item you care about. Then use the complement of that class in the
type restriction. That means anything not in the class you take the
complement of.
Hmmm. Looking at the OWL 2 documentation I see there is a
DataComplementOf that you should be able to use along with DataOneOf.
http://www.w3.org/TR/2009/REC-owl2-primer-20091027/#Advanced_Use_of_Datatypes
More information about the protege-discussion
mailing list