Disjointnesses in OWL-S

I think the OWL-S ontology needs some more disjointness axioms on a lot 
of its subclasses. This would help the reasoner a lot. For example, if 
an instance of InputBinding is used as the filler for a withOutput 
property, which has OutputBinding as range, no inconsistency will be 
detected, unless InputBinding and OutputBinding are declared to be 
disjoint. Instead, the instance will be forced into the OutputBinding 
class, now being an instance of both OutputBinding and InputBinding. 
This causes much more subtle and hard-to-detect bugs.

Since everything is assumed to be non-disjoint by default, I think we 
should declare things to be disjoint wherever they are meant to be. 
Also, if I have understood things correctly, disjointness does not 
complicate reasoning much (unlike subclassing or number restrictions for 
example) so there is really no reason not to put these things in there.

In Expression.owl:
DRS-Expression, KIF-Expression, SWRL-Expression - these should be disjoint.

In Grounding.owl:
WsdlInputMessageMap, WsdlOutputMessageMap

subclasses of List:
WsdlInputMessageMapList, WsdlOutputMessageMapList, ControlConstructList, 
ControlConstructBag

Process.owl:
InputBinding, OutputBinding

All the control constructs should be disjoint (this requires the now 
deprecated ProcessComponent to be removed in order to work I think).


Less important ones:

ProfileAdditionalParameters:
NAICS and UNSPC should be disjoint

the subclasses of ServiceParameter (AverageResponseTime, 
GeographicRadius, MasResponseTime) should be disjoint

time-entry.owl:
InstantEvent and IntervalEvent should probably be disjoint. Same with 
Instant and Interval.

Received on Wednesday, 22 September 2004 08:55:19 UTC