Search code examples
owlmodelingontologydomain-modeldescription-logic

Domain modeling using ontology, a special case


Using description logic (and corresponding OWL-DL) Consider we have class Meeting which could be attended by a class Professor, so that:

couldBeAttendedBy domain Meeting
couldBeAttendedBy range Professor

and consider that a Professor could be an Assistant of another Professor:

assistantOf domain Professor
assistantOf range Professor

Question: How can I -using Terminological Box axioms (TBox)- state that, if a Meeting couldBeAttendedBy a Professor, then it couldBeAttendedBy anyone of his Assistants.

Fro example, consider that:

Meeting(m)
Professor(f)
m couldBeAttendedBy f
as assistantOf f

I want to conclude that

m couldBeAttendedBy as

Solution

  • You need to make a property chain, giving a definition of couldBeAttendedBy to accommodate your rule.

    For example, if you are using Protégé, you need to define for couldBeAttendedBy the following:

    couldBeAttendedBy o inverse (assistantOf)

    at the SuperProperty Of (Chain), which will appear as

    couldBeAttendedBy o inverse (assistantOf) SubPropertyOf couldBeAttendedBy

    The case is easy and is exactly what property chains are made for. But if the chains become more sophisticated, they might become undecidable. For example, in S1 º S2 º S3 º ... º Sn ⊑ R, R can only be on the first or last place of the left side of the expression. Otherwise it won't be decidable. This is one of the restrictions to Regular RBoxes. And property chains, or more formally "General Role Inclusion" can only be decidable if applied to Regular RBoxes.