VIVO-151 remedies missing inverse property inference deletions

This commit is contained in:
brianjlowe 2013-09-13 15:01:57 -04:00
parent a74677dae4
commit 73d54999d4
3 changed files with 14 additions and 3 deletions

View file

@ -30,8 +30,7 @@ public class ReasonerConfiguration {
/**
* The default reasoner configuration is designed to provide acceptable performance on larger knowledge bases.
* It will classify and realize, and add inferred disjointWith statements.
* It ignores domain and range "axioms," on the assumption that they are not truly axioms but editing constraints.
* It also ignores "owl:inverseOf."
* It ignores domain and range "axioms," on the assumption that they are not truly axioms but editing constraints.
*/
public static ReasonerConfiguration DEFAULT;
@ -78,6 +77,7 @@ public class ReasonerConfiguration {
defaultInferenceDrivingPatternAllowSet.add(ObjectPropertyStatementPatternFactory.getPattern(null,RDF.first,null));
defaultInferenceDrivingPatternAllowSet.add(ObjectPropertyStatementPatternFactory.getPattern(null,RDF.rest,null));
defaultInferenceDrivingPatternAllowSet.add(ObjectPropertyStatementPatternFactory.getPattern(null,OWL.disjointWith,null));
defaultInferenceDrivingPatternAllowSet.add(ObjectPropertyStatementPatternFactory.getPattern(null,OWL.inverseOf,null));
DEFAULT.setInferenceDrivingPatternAllowSet(defaultInferenceDrivingPatternAllowSet);
Set<ObjectPropertyStatementPattern> defaultInferenceReceivingPatternAllowSet = new HashSet<ObjectPropertyStatementPattern>();
defaultInferenceReceivingPatternAllowSet.add(ObjectPropertyStatementPatternFactory.getPattern(null,RDF.type,null));

View file

@ -1678,6 +1678,10 @@ public class SimpleReasoner extends StatementListener {
typeURIs = getRemainingAssertedTypeURIs(stmt.getSubject());
}
removedABoxTypeAssertion(stmt, inferenceModel, typeURIs);
} else if (doSameAs && stmt.getPredicate().equals(OWL.sameAs)) {
removedABoxSameAsAssertion(stmt, inferenceModel);
} else {
removedABoxAssertion(stmt, inferenceModel);
}
doPlugins(ModelUpdate.Operation.RETRACT,stmt);
} catch (NullPointerException npe) {