NIHVIVO-3350 (missing tbox inferences)

This commit is contained in:
stellamit 2011-11-28 16:44:23 +00:00
parent 80c1dc9a11
commit a3b947d2f7

View file

@ -2,19 +2,14 @@
package edu.cornell.mannlib.vitro.webapp.dao.jena; package edu.cornell.mannlib.vitro.webapp.dao.jena;
import java.util.HashSet;
import java.util.List;
import com.hp.hpl.jena.ontology.OntModel; import com.hp.hpl.jena.ontology.OntModel;
import com.hp.hpl.jena.ontology.OntResource; import com.hp.hpl.jena.ontology.OntResource;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.shared.Lock;
import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.RDFS;
import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes; import edu.cornell.mannlib.vitro.webapp.beans.Classes2Classes;
import edu.cornell.mannlib.vitro.webapp.dao.Classes2ClassesDao; import edu.cornell.mannlib.vitro.webapp.dao.Classes2ClassesDao;
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent; import edu.cornell.mannlib.vitro.webapp.dao.jena.event.EditEvent;
/** /**
@ -30,12 +25,10 @@ public class Classes2ClassesDaoJena extends JenaBaseDao implements Classes2Class
deleteClasses2Classes(c2c, getOntModelSelector().getTBoxModel()); deleteClasses2Classes(c2c, getOntModelSelector().getTBoxModel());
} }
//TODO restore write locks once reasoner is able to handle these update asynchronously.
public void deleteClasses2Classes( Classes2Classes c2c, OntModel ontModel ) public void deleteClasses2Classes( Classes2Classes c2c, OntModel ontModel )
{ {
// ontModel.enterCriticalSection(Lock.WRITE); ontModel.enterCriticalSection(Lock.WRITE);
getOntModel().getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),true)); ontModel.getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),true));
try { try {
OntResource subclass = getOntClass(ontModel,c2c.getSubclassURI()); OntResource subclass = getOntClass(ontModel,c2c.getSubclassURI());
OntResource superclass = getOntClass(ontModel,c2c.getSuperclassURI()); OntResource superclass = getOntClass(ontModel,c2c.getSuperclassURI());
@ -49,8 +42,8 @@ public class Classes2ClassesDaoJena extends JenaBaseDao implements Classes2Class
smartRemove(superclass, getOntModel()); smartRemove(superclass, getOntModel());
} }
} finally { } finally {
getOntModel().getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),false)); ontModel.getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),false));
// ontModel.leaveCriticalSection(); ontModel.leaveCriticalSection();
} }
} }
@ -60,8 +53,8 @@ public class Classes2ClassesDaoJena extends JenaBaseDao implements Classes2Class
public void insertNewClasses2Classes( Classes2Classes c2c, OntModel ontModel ) public void insertNewClasses2Classes( Classes2Classes c2c, OntModel ontModel )
{ {
// ontModel.enterCriticalSection(Lock.WRITE); ontModel.enterCriticalSection(Lock.WRITE);
getOntModel().getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),true)); ontModel.getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),true));
try { try {
Resource subclass = ontModel.getResource(c2c.getSubclassURI()); Resource subclass = ontModel.getResource(c2c.getSubclassURI());
Resource superclass = ontModel.getResource(c2c.getSuperclassURI()); Resource superclass = ontModel.getResource(c2c.getSuperclassURI());
@ -69,9 +62,8 @@ public class Classes2ClassesDaoJena extends JenaBaseDao implements Classes2Class
ontModel.add(subclass, RDFS.subClassOf, superclass); ontModel.add(subclass, RDFS.subClassOf, superclass);
} }
} finally { } finally {
getOntModel().getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),false)); ontModel.getBaseModel().notifyEvent(new EditEvent(getWebappDaoFactory().getUserURI(),false));
// ontModel.leaveCriticalSection(); ontModel.leaveCriticalSection();
} }
} }
} }