问题
Given an ontology with Class A
and Class B
I am stating a rule:
[-> (ns:Class_A owl:equivalentClass ns:Class_B)]
However the Jena generic rule reasoner is only applying the tag equivalentClass
to Class A
, i. e. it is not stating Class B equivalentClass Class A
.
Furthermore, I have an object A
that is an individual of Class A
, the reasoner is not applying Class B
as a type of object A
.
Is there another way to specify class equivalence through Jena rules? And is it better to use the generic rule reasoner for this reasoning task or call the in-built Jena OWL reasoner? Or is there another reasoner that accepts Jena rules?
回答1:
This problem was solved through the application of the owl reasoner Jena provides. We generated the model using the generic rule reasoner and then fed that model to the owl reasoner. The owl reasoner proceeds to apply the equivalentClass tag to all applicable classes
来源:https://stackoverflow.com/questions/30297919/specifying-class-equivalence-in-jena-rules