NIHVIVO-3971 setup of inference rebuild and scratchpad models; also bugfix to SimpleBridgingRule
This commit is contained in:
parent
0b3d14ebab
commit
88e44af429
3 changed files with 12 additions and 17 deletions
|
@ -7,6 +7,7 @@ import java.util.HashSet;
|
||||||
import com.hp.hpl.jena.rdf.model.ModelChangedListener;
|
import com.hp.hpl.jena.rdf.model.ModelChangedListener;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase;
|
import edu.cornell.mannlib.vitro.webapp.servlet.setup.JenaDataSourceSetupBase;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.servlet.setup.SimpleReasonerSetup;
|
||||||
|
|
||||||
public class ABoxJenaChangeListener extends JenaChangeListener {
|
public class ABoxJenaChangeListener extends JenaChangeListener {
|
||||||
|
|
||||||
|
@ -17,6 +18,8 @@ public class ABoxJenaChangeListener extends JenaChangeListener {
|
||||||
ignoredGraphs.add(JenaDataSourceSetupBase.JENA_INF_MODEL);
|
ignoredGraphs.add(JenaDataSourceSetupBase.JENA_INF_MODEL);
|
||||||
ignoredGraphs.add(JenaDataSourceSetupBase.JENA_TBOX_ASSERTIONS_MODEL);
|
ignoredGraphs.add(JenaDataSourceSetupBase.JENA_TBOX_ASSERTIONS_MODEL);
|
||||||
ignoredGraphs.add(JenaDataSourceSetupBase.JENA_TBOX_INF_MODEL);
|
ignoredGraphs.add(JenaDataSourceSetupBase.JENA_TBOX_INF_MODEL);
|
||||||
|
ignoredGraphs.add(SimpleReasonerSetup.JENA_INF_MODEL_REBUILD);
|
||||||
|
ignoredGraphs.add(SimpleReasonerSetup.JENA_INF_MODEL_SCRATCHPAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -74,7 +74,7 @@ public abstract class SimpleBridgingRule implements ReasonerPlugin {
|
||||||
Model aboxAssertionsModel,
|
Model aboxAssertionsModel,
|
||||||
Model aboxInferencesModel,
|
Model aboxInferencesModel,
|
||||||
OntModel TBoxInferencesModel) {
|
OntModel TBoxInferencesModel) {
|
||||||
if (ignore(stmt)) {
|
if (!isInterestedInAddedStatement(stmt) || ignore(stmt)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Model inf = constructInferences(this.queryStr, stmt, aboxAssertionsModel);
|
Model inf = constructInferences(this.queryStr, stmt, aboxAssertionsModel);
|
||||||
|
@ -151,7 +151,7 @@ public abstract class SimpleBridgingRule implements ReasonerPlugin {
|
||||||
Model aboxInferencesModel,
|
Model aboxInferencesModel,
|
||||||
OntModel TBoxInferencesModel) {
|
OntModel TBoxInferencesModel) {
|
||||||
|
|
||||||
if (ignore(stmt)) {
|
if (!isInterestedInRemovedStatement(stmt) || ignore(stmt)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,12 +17,14 @@ import javax.sql.DataSource;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
import com.hp.hpl.jena.query.Dataset;
|
||||||
import com.hp.hpl.jena.rdf.model.Model;
|
import com.hp.hpl.jena.rdf.model.Model;
|
||||||
import com.hp.hpl.jena.vocabulary.OWL;
|
import com.hp.hpl.jena.vocabulary.OWL;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
import edu.cornell.mannlib.vitro.webapp.config.ConfigurationProperties;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.ModelContext;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.OntModelSelector;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.RDFServiceDataset;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.WebappDaoFactoryJena;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.pellet.PelletListener;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.pellet.PelletListener;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.pellet.ReasonerConfiguration;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.pellet.ReasonerConfiguration;
|
||||||
|
@ -87,23 +89,13 @@ public class SimpleReasonerSetup implements ServletContextListener {
|
||||||
String dbType = ConfigurationProperties.getBean(ctx).getProperty( // database type
|
String dbType = ConfigurationProperties.getBean(ctx).getProperty( // database type
|
||||||
"VitroConnection.DataSource.dbtype","MySQL");
|
"VitroConnection.DataSource.dbtype","MySQL");
|
||||||
|
|
||||||
|
RDFService rdfService = RDFServiceUtils.getRDFServiceFactory(ctx).getRDFService();
|
||||||
Model rebuildModel = JenaDataSourceSetupBase.makeDBModel(
|
Dataset dataset = new RDFServiceDataset(rdfService);
|
||||||
bds,
|
|
||||||
JENA_INF_MODEL_REBUILD,
|
|
||||||
JenaDataSourceSetupBase.DB_ONT_MODEL_SPEC,
|
|
||||||
TripleStoreType.SDB,
|
|
||||||
dbType, ctx);
|
|
||||||
Model scratchModel = JenaDataSourceSetupBase.makeDBModel(
|
|
||||||
bds,
|
|
||||||
JENA_INF_MODEL_SCRATCHPAD,
|
|
||||||
JenaDataSourceSetupBase.DB_ONT_MODEL_SPEC,
|
|
||||||
TripleStoreType.SDB,
|
|
||||||
dbType, ctx);
|
|
||||||
|
|
||||||
|
|
||||||
|
Model rebuildModel = dataset.getNamedModel(JENA_INF_MODEL_REBUILD);
|
||||||
|
Model scratchModel = dataset.getNamedModel(JENA_INF_MODEL_SCRATCHPAD);
|
||||||
|
|
||||||
// the simple reasoner will register itself as a listener to the ABox assertions
|
// the simple reasoner will register itself as a listener to the ABox assertions
|
||||||
RDFService rdfService = RDFServiceUtils.getRDFServiceFactory(ctx).getRDFService();
|
|
||||||
SimpleReasoner simpleReasoner = new SimpleReasoner(
|
SimpleReasoner simpleReasoner = new SimpleReasoner(
|
||||||
unionOms.getTBoxModel(), rdfService, inferencesOms.getABoxModel(), rebuildModel, scratchModel);
|
unionOms.getTBoxModel(), rdfService, inferencesOms.getABoxModel(), rebuildModel, scratchModel);
|
||||||
sce.getServletContext().setAttribute(SimpleReasoner.class.getName(),simpleReasoner);
|
sce.getServletContext().setAttribute(SimpleReasoner.class.getName(),simpleReasoner);
|
||||||
|
|
Loading…
Add table
Reference in a new issue