NIHVIVO-2875 fixed PropertyInstance deletion to delete in both directions again

This commit is contained in:
brianjlowe 2011-07-12 17:30:56 +00:00
parent 1ab7f1e0d3
commit 1dacb70669

View file

@ -48,14 +48,16 @@ public class PropertyInstanceDaoJena extends JenaBaseDao implements
} }
public void deleteObjectPropertyStatement(String subjectURI, String propertyURI, String objectURI) { public void deleteObjectPropertyStatement(String subjectURI, String propertyURI, String objectURI) {
deleteObjectPropertyStatement(subjectURI, propertyURI, objectURI, getOntModelSelector().getABoxModel()); deleteObjectPropertyStatement(subjectURI, propertyURI, objectURI, getOntModelSelector());
} }
public void deleteObjectPropertyStatement(String subjectURI, String propertyURI, String objectURI, OntModel ontModel) { public void deleteObjectPropertyStatement(String subjectURI, String propertyURI, String objectURI, OntModelSelector ontModelSelector) {
OntModel ontModel = ontModelSelector.getABoxModel();
OntModel tboxModel = ontModelSelector.getTBoxModel();
ontModel.enterCriticalSection(Lock.WRITE); ontModel.enterCriticalSection(Lock.WRITE);
try { try {
Resource subjRes = ontModel.getResource(subjectURI); Resource subjRes = ontModel.getResource(subjectURI);
Property pred = ontModel.getProperty(propertyURI); Property pred = tboxModel.getProperty(propertyURI);
OntProperty invPred = null; OntProperty invPred = null;
if (pred.canAs(OntProperty.class)) { if (pred.canAs(OntProperty.class)) {
invPred = ((OntProperty)pred.as(OntProperty.class)).getInverse(); invPred = ((OntProperty)pred.as(OntProperty.class)).getInverse();