Search Mailing List Archives
[protege-owl] Help with a Restriction
tar at ISI.EDU
Thu Apr 22 10:23:29 PDT 2010
On Apr 22, 2010, at 9:36 AM, William Koscho wrote:
> I'm modeling a few software architecture concepts and am having
> trouble with one particular restriction that I'm hoping someone can
> help with?
> I want to restrict a Port to only bindTo another Port that is
> exposedBy the parent Component.
I think you are out of luck here.
One of the modeling limitations of the OWL 1.0 language is that you
can't express constraints across more than one property. Also OWL 1.0
doesn't support role chains.
In OWL 2.0 there is a limited ability to do this with the "self"
So in OWL 1.0 I don't think you have any way of saying this, since you
want to constrain both the values of both the bindTo and a role
chain (belongsTo exposesPort).
In OWL 2.0 you are almost able to do this by something like
ObjectHasSelf(PropertyChain(belongsTo, exposesPort, bindTo))
But I'm fairly sure that the ObjectHasSelf can only take simple
property expressions and not those that are defined by a property chain.
[Note that I haven't really done much OWL 2.0 modeling, so I may be
So the bottom line is that you can't express this restriction in OWL.
> My ontology is defined as follows:
> There are 2 sibling classes:
> There are 3 properties with the following domain/ranges:
> Component exposes Port (inverse-of exposedBy)
> Port exposedBy Component (inverse-of exposes)
> Component composedOf Component (inverse-of belongsTo)
> Component belongsTo Component (inverse-of composedOf)
> Port bindTo Port
More information about the protege-owl