Reputation: 11
I'm trying to create an OWL ontology with following entities:
Classes:
Design
Requirement
UnsatisfiedRequirement
Object properties:
hasDesign
(domain=Requirement, range=Design)I want to define UnsatisfiedRequirement
to be equivalent to Requirement
which aren't related with any Design
and use reasoner to classify individuals of type Requirement
as UnsatisfiedRequirement
.
Initially I tried defining UnsatisfiedRequirement
as equivalent to Requirement and not(hasDesign some Design)
which didn't work because of open world assumption of OWL.
I also tried defining SatisfiedRequirement
class equivalent to Requirement and (hasDesign some Design)
which gives me expected results (Requirements with hasDesign object property are correctly identified.).
UnsatisfiedRequirement
was updated to be disjoint with SatisfiedRequirement
, even after this I'm not getting expected result.
I've also tried to write SWRL rule as Requirement(?requirement) ^ not(hasDesign(?requirement, ?design)) -> UnsatisfiedRequirement(?requirement)
but in protege not
is not a supported keyword.
Upvotes: 1
Views: 35