Search Mailing List Archives
[protege-discussion] Protege - OWL compatible software tool
Jonathan Carter
jonathan.carter at e-asolutions.com
Wed Jul 9 02:57:17 PDT 2008
Hi Deepti,
On your first question, I think it's important to note that you are
representing knowledge here and not building Java classes. Personally,
I often find that I model my classes in a somewhat OO fashion, so the
less specific things tend to be Abstract with 'leaf' classes as
concrete. However, this isn't always the case and I think it depends
on your domain as to what's important. So, in the example you mention,
this reflects real life. I find a useful heuristic is to think about
whether it makes sense to have instances of that class. So, yes, we
want to have instances of Person, but we want to use Employee as a
generalisation over the specific types of employee that a Person could
be.
In summary, I think the use of Abstract and Concrete classes is even
more diverse than being in reverse to the normal OO approach. From a
class model perspective, then can be used arbitrarily, it depends on
how you need to work with the instances of your classes and the
semantics that you wish to model.
The second question, yes sounds like the right use of the inverse-
slot. So you have 2 classes that you wish to be able to relate by
using a slot of type Instance. On the Faculty class you add a slot
that allows Instances of Student class (probably multiple cardinality)
called, e.g. 'students' and you define an inverse slot on 'students'.
You can have Protege create this inverse slot automatically - in which
case it will create a slot on the Student class called 'inverse-of-
students'. You can then rename this to something more meaningful, such
as 'taught_by'. The nice thing about the inverse slot is that when you
define the Faculty that a student is taught by, that Student instance
appears in the 'students' slot of the selected Faculty instance - and
vice versa.
HOWEVER, a word of caution on the inverse slots. These are defined at
the slot level between the slots, not the classes and Protege doesn't
always do what you'd expect when you use inheritance with the classes.
What it does allow you to do is to override the types of classes, for
example, that are allowed in these slots in sub-classes. HOWEVER, I've
recently found it important to understand that what you can't do is
change or override the inverse slot at the sub-class. A slot can have
only 1 inverse slot. This is worth considering when implementing your
class inheritance hierarchy.
Hope this helps
Jonathan
__________________________________________
Jonathan Carter - Head of Technical Architecture
Enterprise Architecture Solutions Ltd
__________________________________________
Assess your EA maturity at:
www.enterprise-architecture.com/EAvaluator
__________________________________________
On 9 Jul 2008, at 10:28, Deepti Misra wrote:
>
>
> Dear community
>
> I am an engineering student working on my summer project and
> trying to understand and create ontology using protege .
>
> Can anyone help me in understanding the following issues :
>
> 1) NewsPAper example available with protege download indicates
> Employee class (Abstract) is subclass of Person(Concrete). In my
> understanding superclasses are usually treated as Absract and more
> we more down (specialises), the abstraction reduces and concreteness
> increases. Here, it is in reverse order! Why it is so ?
>
> 2. I have two classes Faculty and Student in my project ontology. .
> Now, the relation....Faculty "teaches" student and Student is
> "taught-by" faculty. Is it 'right' application of inverse property ?
> How do I input it using Protege-editor ?
>
> Sorry for raising too trivial a query..
>
> Deepti
>
>
>
>
>
> On 7/9/08, Tania Tudorache <tudorache at stanford.edu> wrote:
> Berkan,
>
> Please ask Protege-OWL related questions on the protege-owl mailing
> list.
>
> Thanks!
> Tania
>
>
> berkan sesen wrote:
> > Dear Community,
> >
> > I use many Universal and Existential restrictions in my ontology to
> > specify constraints on various object properties:
> >
> > E.g. "ClassA" isRelatedto some "ClassB"
> >
> > Is it possible to use Racer/Java/Any tool to automatically infer
> from
> > the restriction above that if I have an individual of "ClassA", it
> > should have isRelatedto relationship with at least one "ClassB"
> > individual?
> >
> > I am looking for a tool by which I can enforce this restriction
> > without writing an explicit query (A tool that understands what
> > Protege-OWL is talking about, indeed). Can Racer (or any other tool)
> > "semantically" understand this axiom and do a consistency check on
> the
> > individuals of the given classes?
> >
> > Any replies will be immensely appreciated.
> >
> > Thank you,
> > Berkan Sesen
> >
> >
> ------------------------------------------------------------------------
> > Not happy with your email address?
> > Get the one you really want <http://uk.docs.yahoo.com/ymail/
> new.html>
> > - millions of new email addresses available now at Yahoo!
> > <http://uk.docs.yahoo.com/ymail/new.html>
> >
> ------------------------------------------------------------------------
> >
> > _______________________________________________
> > protege-discussion mailing list
> > protege-discussion at lists.stanford.edu
> > https://mailman.stanford.edu/mailman/listinfo/protege-discussion
> >
> > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
> >
>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
>
> _______________________________________________
> protege-discussion mailing list
> protege-discussion at lists.stanford.edu
> https://mailman.stanford.edu/mailman/listinfo/protege-discussion
>
> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-discussion/attachments/20080709/23e015b6/attachment.html>
More information about the protege-discussion
mailing list