Search Mailing List Archives

Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Help with a Restriction

Thomas Russ 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:
>  Component
>  Port
> 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 mailing list