Search Mailing List Archives
[protege-discussion] two simple questions
Timothy Redmond
tredmond at stanford.edu
Mon Nov 9 09:27:23 PST 2009
On Nov 9, 2009, at 8:27 AM, Muhammad Javed wrote:
> Hi, I hope you can remove my confusions.
>
> Scenario:
>
> Class "Person" has a OWLDataProperty "Name"
So the first question is what this statements mean. Two possible
meanings are
every individual in the Person class has a name. I tend to favor this
meaning for "the class person has an owl data property name". One
consequence of this notion is that it will also be true every
individual in the Male class will also have a name. This can be
represented with the restriction Person subClassOf Name some string.
Person is a domain of the "Name" property. Expanding what this means,
it says that if an individual has a name then that individual is a
Person. It does not follow that the Male class is a domain of the
"Name" property.
>
> Male is subclass of Person and has OWLDataProperty "hasOfficeID"
> Female is subclass of Person and has OWLDataProperty "hasHouseID"
Similarly we need to determine what these mean.
>
> Andy is instance of Male
> Cindy is instance of Female
> ======================================================
> Question 1:
> Is property "Name" is inherited to classes Male and Female.
> (similar to the concept in Object Oriented Programming)
> if YES, it is a facility provided by OWL Syntax or it is provided
> explicitly by tool Protege.
This depends on the definition chosen for "Person has the property
Name".
>
> Question 2:
> Protege doesn't stop user to instantiate properties which are
> neither of its own class nor of its parents class.
> e.g. Cindy hasOfficeID 123 ..I try to check whether Fact++ or
> Pellet shows any error but They DON'T....pls explain this.
>
First of all Protege generally does not enforce inferences. Trying to
enforce inference in a reasoner is a very tricky game and I believe
would ultimately be much more confusing to the end user. You end up
with interfaces where changing something in one place automatically
changes things elsewhere. We have a couple of these types of
inferences in Protege 3 and they can prevent a user can have
difficulty saying what he wants to say. Also it inevitably leads to
questions like "you do inference a but not inference b - isn't this a
bug?".
I think that it is much simpler to let the user state what he wants to
say and then to use a reasoner to see if he did anything wrong.
Second of all, both FacT++ and pellet are perfectly capable of these
types of inferences. You probably left something out that was needed
for the conclusion that you wanted. For example, did you state that
the Male and Female classes are disjoint? If you have questions send
the ontology.
> KAON1 simply don't provide facility to instantiate any property if
> its not domain of the class or of its parent.
It might be worth having a plugin providing this capability. This is
being done by NCI with NCI Protege.
-Timothy
>
> KAON1 simply don't provide facility to instantiate any property if
> its not domain of the class or of its parent.
> =======================================================
>
> Thanks for your help
>
>
> ----------------------------------------------
> Muhammad Javed
> PhD Research Student
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20091109/211cc488/attachment.html>
More information about the protege-discussion
mailing list