Class BlankNodeFilteringModelMaker
- java.lang.Object
-
- edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.AbstractModelMakerDecorator
-
- edu.cornell.mannlib.vitro.webapp.dao.jena.BlankNodeFilteringModelMaker
-
- All Implemented Interfaces:
org.apache.jena.rdf.model.ModelGetter,org.apache.jena.rdf.model.ModelMaker,org.apache.jena.rdf.model.ModelSource
public class BlankNodeFilteringModelMaker extends AbstractModelMakerDecorator
Still not sure why this is needed, but... Let's assume that there are some model operations that are implemented by multiple SPARQL queries against the RDFService. Those multiple queries might return different values for the same blank node, so when the results of the queries were combined, the relationships would be lost. To avoid this, we assume that all of the statements involving blank nodes will fit nicely into memory, and we fetch them all at once. After that, all of our operations are against the union of the actual model minus blank nodes and the memory model. The models do retain the same ID for each blank node on successive operations, so we can execute repeated queries and it will work fine. Writing blank nodes is probably a different matter, unless unrelated to existing blank nodes.
-
-
Constructor Summary
Constructors Constructor Description BlankNodeFilteringModelMaker(RDFService rdfService, org.apache.jena.rdf.model.ModelMaker inner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.jena.rdf.model.ModelcreateModel(String name)org.apache.jena.rdf.model.ModelcreateModel(String name, boolean strict)org.apache.jena.rdf.model.ModelgetModel(String name)org.apache.jena.rdf.model.ModelgetModel(String name, org.apache.jena.rdf.model.ModelReader loadIfAbsent)org.apache.jena.rdf.model.ModelopenModel(String name)org.apache.jena.rdf.model.ModelopenModel(String name, boolean strict)org.apache.jena.rdf.model.ModelopenModelIfPresent(String name)org.apache.jena.rdf.model.ModelwrapModelWithFilter(String name, org.apache.jena.rdf.model.Model model)-
Methods inherited from class edu.cornell.mannlib.vitro.webapp.modelaccess.adapters.AbstractModelMakerDecorator
close, createDefaultModel, createFreshModel, getGraphMaker, hasModel, listModels, removeModel, toString
-
-
-
-
Constructor Detail
-
BlankNodeFilteringModelMaker
public BlankNodeFilteringModelMaker(RDFService rdfService, org.apache.jena.rdf.model.ModelMaker inner)
-
-
Method Detail
-
createModel
public org.apache.jena.rdf.model.Model createModel(String name)
- Specified by:
createModelin interfaceorg.apache.jena.rdf.model.ModelMaker- Overrides:
createModelin classAbstractModelMakerDecorator
-
createModel
public org.apache.jena.rdf.model.Model createModel(String name, boolean strict)
- Specified by:
createModelin interfaceorg.apache.jena.rdf.model.ModelMaker- Overrides:
createModelin classAbstractModelMakerDecorator
-
openModel
public org.apache.jena.rdf.model.Model openModel(String name)
- Specified by:
openModelin interfaceorg.apache.jena.rdf.model.ModelSource- Overrides:
openModelin classAbstractModelMakerDecorator
-
openModelIfPresent
public org.apache.jena.rdf.model.Model openModelIfPresent(String name)
- Specified by:
openModelIfPresentin interfaceorg.apache.jena.rdf.model.ModelSource- Overrides:
openModelIfPresentin classAbstractModelMakerDecorator
-
getModel
public org.apache.jena.rdf.model.Model getModel(String name)
- Specified by:
getModelin interfaceorg.apache.jena.rdf.model.ModelGetter- Overrides:
getModelin classAbstractModelMakerDecorator
-
getModel
public org.apache.jena.rdf.model.Model getModel(String name, org.apache.jena.rdf.model.ModelReader loadIfAbsent)
- Specified by:
getModelin interfaceorg.apache.jena.rdf.model.ModelGetter- Overrides:
getModelin classAbstractModelMakerDecorator
-
openModel
public org.apache.jena.rdf.model.Model openModel(String name, boolean strict)
- Specified by:
openModelin interfaceorg.apache.jena.rdf.model.ModelMaker- Overrides:
openModelin classAbstractModelMakerDecorator
-
wrapModelWithFilter
public org.apache.jena.rdf.model.Model wrapModelWithFilter(String name, org.apache.jena.rdf.model.Model model)
-
-