fixes bug retrieving property inverses

This commit is contained in:
brianjlowe 2013-11-06 11:03:17 -05:00
parent 9914d3e4b9
commit c2e8541732

View file

@ -271,7 +271,6 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp
public ObjectProperty getObjectPropertyByURI(String propertyURI) { public ObjectProperty getObjectPropertyByURI(String propertyURI) {
long start = System.currentTimeMillis();
if( propertyURI == null ) return null; if( propertyURI == null ) return null;
OntModel ontModel = getOntModel(); OntModel ontModel = getOntModel();
@ -279,7 +278,16 @@ public class ObjectPropertyDaoJena extends PropertyDaoJena implements ObjectProp
ontModel.enterCriticalSection(Lock.READ); ontModel.enterCriticalSection(Lock.READ);
try { try {
localModel.add(ontModel.listStatements(ontModel.getResource(propertyURI), null, (RDFNode) null)); Resource prop = ontModel.getResource(propertyURI);
localModel.add(ontModel.listStatements(prop, null, (RDFNode) null));
StmtIterator invit = ontModel.listStatements(prop, OWL.inverseOf, (RDFNode) null);
while (invit.hasNext()) {
Statement invSit = invit.nextStatement();
if (invSit.getObject().isURIResource()) {
Resource invProp = (Resource) invSit.getObject();
localModel.add(ontModel.listStatements(invProp, null, (RDFNode) null));
}
}
OntProperty op = localModel.getObjectProperty(propertyURI); OntProperty op = localModel.getObjectProperty(propertyURI);
return propertyFromOntProperty(op); return propertyFromOntProperty(op);
} finally { } finally {