VIVO-82 Use ModelAccess to get or set the InferenceOntModel
a.k.a the Inferred Full model
This commit is contained in:
parent
cba000c58b
commit
1d8da55fdb
10 changed files with 18 additions and 66 deletions
|
@ -7,7 +7,6 @@ import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletRequestWrapper;
|
import javax.servlet.http.HttpServletRequestWrapper;
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -17,9 +16,7 @@ import com.hp.hpl.jena.query.Dataset;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
|
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
|
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess.ModelID;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.JenaBaseDao;
|
|
||||||
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.VitroModelSource.ModelName;
|
import edu.cornell.mannlib.vitro.webapp.dao.jena.VitroModelSource.ModelName;
|
||||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFService;
|
||||||
|
@ -107,10 +104,6 @@ public class VitroRequest extends HttpServletRequestWrapper {
|
||||||
setAttribute("dataset", dataset);
|
setAttribute("dataset", dataset);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setJenaOntModel(OntModel ontModel) {
|
|
||||||
ModelAccess.on(this).setJenaOntModel(ontModel);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOntModelSelector(OntModelSelector oms) {
|
public void setOntModelSelector(OntModelSelector oms) {
|
||||||
setAttribute("ontModelSelector", oms);
|
setAttribute("ontModelSelector", oms);
|
||||||
}
|
}
|
||||||
|
@ -174,12 +167,6 @@ public class VitroRequest extends HttpServletRequestWrapper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public OntModel getJenaOntModel() {
|
|
||||||
return ModelAccess.on(this).getJenaOntModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
public OntModelSelector getOntModelSelector() {
|
public OntModelSelector getOntModelSelector() {
|
||||||
Object o = this.getAttribute("ontModelSelector");
|
Object o = this.getAttribute("ontModelSelector");
|
||||||
if (o instanceof OntModelSelector) {
|
if (o instanceof OntModelSelector) {
|
||||||
|
@ -189,22 +176,24 @@ public class VitroRequest extends HttpServletRequestWrapper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setJenaOntModel(OntModel ontModel) {
|
||||||
|
ModelAccess.on(this).setJenaOntModel(ontModel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public OntModel getJenaOntModel() {
|
||||||
|
return ModelAccess.on(this).getJenaOntModel();
|
||||||
|
}
|
||||||
|
|
||||||
public OntModel getAssertionsOntModel() {
|
public OntModel getAssertionsOntModel() {
|
||||||
return ModelAccess.on(getSession()).getBaseOntModel();
|
return ModelAccess.on(this).getBaseOntModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
public OntModel getInferenceOntModel() {
|
public OntModel getInferenceOntModel() {
|
||||||
OntModel jenaOntModel = (OntModel)_req.getSession().getAttribute( JenaBaseDao.INFERENCE_ONT_MODEL_ATTRIBUTE_NAME );
|
return ModelAccess.on(this).getInferenceOntModel();
|
||||||
if ( jenaOntModel == null ) {
|
|
||||||
jenaOntModel = (OntModel)_req.getSession().getServletContext().getAttribute( JenaBaseDao.INFERENCE_ONT_MODEL_ATTRIBUTE_NAME );
|
|
||||||
}
|
|
||||||
return jenaOntModel;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get the display and editing configuration model
|
|
||||||
public OntModel getDisplayModel(){
|
public OntModel getDisplayModel(){
|
||||||
return ModelAccess.on(_req).getDisplayModel();
|
return ModelAccess.on(this).getDisplayModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -309,7 +309,7 @@ public class JenaAdminActions extends BaseEditController {
|
||||||
memoryModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
memoryModel = ModelAccess.on(getServletContext()).getBaseOntModel();
|
||||||
System.out.println("baseOntModel");
|
System.out.println("baseOntModel");
|
||||||
} else if (request.getParameter("inferences") != null) {
|
} else if (request.getParameter("inferences") != null) {
|
||||||
memoryModel = (OntModel) getServletContext().getAttribute("inferenceOntModel");
|
memoryModel = ModelAccess.on(getServletContext()).getInferenceOntModel();
|
||||||
System.out.println("inferenceOntModel");
|
System.out.println("inferenceOntModel");
|
||||||
} else if (request.getParameter("pellet") != null) {
|
} else if (request.getParameter("pellet") != null) {
|
||||||
memoryModel = (OntModel) getServletContext().getAttribute("pelletOntModel");
|
memoryModel = (OntModel) getServletContext().getAttribute("pelletOntModel");
|
||||||
|
|
|
@ -283,7 +283,6 @@ public class JenaExportController extends BaseEditController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static final String INFERENCES_ONT_MODEL_ATTR = "inferenceOntModel";
|
|
||||||
static final String FULL_GRAPH = "?g";
|
static final String FULL_GRAPH = "?g";
|
||||||
static final String ASSERTIONS_GRAPH = "<http://vitro.mannlib.cornell.edu/default/vitro-kb-2>";
|
static final String ASSERTIONS_GRAPH = "<http://vitro.mannlib.cornell.edu/default/vitro-kb-2>";
|
||||||
static final String INFERENCE_GRAPH = "<http://vitro.mannlib.cornell.edu/default/vitro-kb-inf>";
|
static final String INFERENCE_GRAPH = "<http://vitro.mannlib.cornell.edu/default/vitro-kb-inf>";
|
||||||
|
|
|
@ -1315,12 +1315,7 @@ public class JenaIngestController extends BaseEditController {
|
||||||
} else if ("vitro:baseOntModel".equals(name)) {
|
} else if ("vitro:baseOntModel".equals(name)) {
|
||||||
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
||||||
} else if ("vitro:inferenceOntModel".equals(name)) {
|
} else if ("vitro:inferenceOntModel".equals(name)) {
|
||||||
Object sessionOntModel = request.getSession().getAttribute("inferenceOntModel");
|
return ModelAccess.on(request.getSession()).getInferenceOntModel();
|
||||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
|
||||||
return (OntModel) sessionOntModel;
|
|
||||||
} else {
|
|
||||||
return (OntModel) context.getAttribute("inferenceOntModel");
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return getVitroJenaModelMaker(request,context).getModel(name);
|
return getVitroJenaModelMaker(request,context).getModel(name);
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,10 @@ public class ModelAccess {
|
||||||
return getOntModel(ModelID.BASE_FULL);
|
return getOntModel(ModelID.BASE_FULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public OntModel getInferenceOntModel() {
|
||||||
|
return getOntModel(ModelID.INFERRED_FULL);
|
||||||
|
}
|
||||||
|
|
||||||
// public OntModel getDisplayTboxOntModel() {
|
// public OntModel getDisplayTboxOntModel() {
|
||||||
// throw new RuntimeException(
|
// throw new RuntimeException(
|
||||||
// "ModelAccess.getDisplayTboxOntModel not implemented.");
|
// "ModelAccess.getDisplayTboxOntModel not implemented.");
|
||||||
|
@ -229,14 +233,6 @@ public class ModelAccess {
|
||||||
* ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
|
* ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* public static OntModel getInferenceOntModel(ServletContext ctx) {
|
|
||||||
* return (OntModel) ctx.getAttribute(INFERENCE_ONT_MODEL);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* public static void setInferenceOntModel(OntModel ontModel, ServletContext ctx) {
|
|
||||||
* ctx.setAttribute(INFERENCE_ONT_MODEL, ontModel);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
|
@ -251,7 +247,6 @@ public class ModelAccess {
|
||||||
* VitroRequest.getJenaOntModel()
|
* VitroRequest.getJenaOntModel()
|
||||||
* VitroRequest.setJenaOntModel()
|
* VitroRequest.setJenaOntModel()
|
||||||
* ModelContext.getBaseOntModelSelector()
|
* ModelContext.getBaseOntModelSelector()
|
||||||
* ModelContext.getInferenceOntModel()
|
|
||||||
* ModelContext.getInferenceOntModelSelector()
|
* ModelContext.getInferenceOntModelSelector()
|
||||||
* ModelContext.getOntModelSelector()
|
* ModelContext.getOntModelSelector()
|
||||||
* ModelContext.getUnionOntModelSelector()
|
* ModelContext.getUnionOntModelSelector()
|
||||||
|
|
|
@ -54,8 +54,6 @@ public class JenaBaseDao extends JenaBaseDaoCon {
|
||||||
public static final boolean KEEP_ONLY_IF_TRUE = true; //used for updatePropertyBooleanValue()
|
public static final boolean KEEP_ONLY_IF_TRUE = true; //used for updatePropertyBooleanValue()
|
||||||
public static final boolean KEEP_ONLY_IF_FALSE = false; //used for updatePropertyBooleanValue()
|
public static final boolean KEEP_ONLY_IF_FALSE = false; //used for updatePropertyBooleanValue()
|
||||||
|
|
||||||
public static final String INFERENCE_ONT_MODEL_ATTRIBUTE_NAME = "inferenceOntModel";
|
|
||||||
|
|
||||||
protected static final Log log = LogFactory.getLog(JenaBaseDao.class.getName());
|
protected static final Log log = LogFactory.getLog(JenaBaseDao.class.getName());
|
||||||
|
|
||||||
/* ******************* static constants ****************** */
|
/* ******************* static constants ****************** */
|
||||||
|
|
|
@ -7,7 +7,6 @@ import javax.servlet.ServletContext;
|
||||||
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.ontology.OntModel;
|
|
||||||
import com.hp.hpl.jena.rdf.model.ModelChangedListener;
|
import com.hp.hpl.jena.rdf.model.ModelChangedListener;
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException;
|
import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceException;
|
||||||
|
@ -22,8 +21,6 @@ public class ModelContext {
|
||||||
private static final String BASE_ONT_MODEL_SELECTOR = "baseOntModelSelector";
|
private static final String BASE_ONT_MODEL_SELECTOR = "baseOntModelSelector";
|
||||||
private static final String INFERENCE_ONT_MODEL_SELECTOR = "inferenceOntModelSelector";
|
private static final String INFERENCE_ONT_MODEL_SELECTOR = "inferenceOntModelSelector";
|
||||||
|
|
||||||
private static final String INFERENCE_ONT_MODEL = "inferenceOntModel";
|
|
||||||
|
|
||||||
public ModelContext() {}
|
public ModelContext() {}
|
||||||
|
|
||||||
public static OntModelSelector getOntModelSelector(ServletContext ctx) {
|
public static OntModelSelector getOntModelSelector(ServletContext ctx) {
|
||||||
|
@ -58,14 +55,6 @@ public class ModelContext {
|
||||||
ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
|
ctx.setAttribute(INFERENCE_ONT_MODEL_SELECTOR, oms);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static OntModel getInferenceOntModel(ServletContext ctx) {
|
|
||||||
return (OntModel) ctx.getAttribute(INFERENCE_ONT_MODEL);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void setInferenceOntModel(OntModel ontModel, ServletContext ctx) {
|
|
||||||
ctx.setAttribute(INFERENCE_ONT_MODEL, ontModel);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register a listener to the models needed to get changes to:
|
* Register a listener to the models needed to get changes to:
|
||||||
* Basic abox statemetns:
|
* Basic abox statemetns:
|
||||||
|
|
|
@ -316,12 +316,7 @@ public class VitroJenaModelMaker implements ModelMaker {
|
||||||
} else if ("vitro:baseOntModel".equals(modelName)) {
|
} else if ("vitro:baseOntModel".equals(modelName)) {
|
||||||
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
||||||
} else if ("vitro:inferenceOntModel".equals(modelName)) {
|
} else if ("vitro:inferenceOntModel".equals(modelName)) {
|
||||||
Object sessionOntModel = request.getSession().getAttribute("inferenceOntModel");
|
return ModelAccess.on(request.getSession()).getInferenceOntModel();
|
||||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
|
||||||
return (OntModel) sessionOntModel;
|
|
||||||
} else {
|
|
||||||
return (OntModel) request.getSession().getServletContext().getAttribute("inferenceOntModel");
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import com.hp.hpl.jena.graph.GraphMaker;
|
import com.hp.hpl.jena.graph.GraphMaker;
|
||||||
import com.hp.hpl.jena.ontology.OntModel;
|
|
||||||
import com.hp.hpl.jena.rdf.model.Model;
|
import com.hp.hpl.jena.rdf.model.Model;
|
||||||
import com.hp.hpl.jena.rdf.model.ModelMaker;
|
import com.hp.hpl.jena.rdf.model.ModelMaker;
|
||||||
import com.hp.hpl.jena.rdf.model.ModelReader;
|
import com.hp.hpl.jena.rdf.model.ModelReader;
|
||||||
|
@ -121,12 +120,7 @@ public class VitroJenaSpecialModelMaker implements ModelMaker {
|
||||||
} else if ("vitro:baseOntModel".equals(modelName)) {
|
} else if ("vitro:baseOntModel".equals(modelName)) {
|
||||||
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
return ModelAccess.on(request.getSession()).getBaseOntModel();
|
||||||
} else if ("vitro:inferenceOntModel".equals(modelName)) {
|
} else if ("vitro:inferenceOntModel".equals(modelName)) {
|
||||||
Object sessionOntModel = request.getSession().getAttribute("inferenceOntModel");
|
return ModelAccess.on(request.getSession()).getInferenceOntModel();
|
||||||
if (sessionOntModel != null && sessionOntModel instanceof OntModel) {
|
|
||||||
return (OntModel) sessionOntModel;
|
|
||||||
} else {
|
|
||||||
return (OntModel) request.getSession().getServletContext().getAttribute("inferenceOntModel");
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,8 +104,6 @@ public class ContentModelSetup extends JenaDataSourceSetupBase
|
||||||
ModelAccess.on(ctx).setOntModel(ModelID.UNION_TBOX, unionTBoxModel);
|
ModelAccess.on(ctx).setOntModel(ModelID.UNION_TBOX, unionTBoxModel);
|
||||||
ModelAccess.on(ctx).setOntModel(ModelID.UNION_FULL, unionFullModel);
|
ModelAccess.on(ctx).setOntModel(ModelID.UNION_FULL, unionFullModel);
|
||||||
|
|
||||||
ModelContext.setInferenceOntModel(inferenceFullModel, ctx);
|
|
||||||
|
|
||||||
checkForNamespaceMismatch( applicationMetadataModel, ctx );
|
checkForNamespaceMismatch( applicationMetadataModel, ctx );
|
||||||
|
|
||||||
OntModelSelectorImpl baseOms = new OntModelSelectorImpl();
|
OntModelSelectorImpl baseOms = new OntModelSelectorImpl();
|
||||||
|
|
Loading…
Add table
Reference in a new issue