Package com.epimorphics.rdfutil
Class ModelWrapper
- java.lang.Object
-
- com.epimorphics.rdfutil.ModelWrapper
-
public class ModelWrapper extends Object
Wrapped version of a model from a dataset. The wrapper provides uniform use of transaction/locking for safe access plus automatic prefix expansion to simplify use from scripting languages.- Author:
- Dave Reynolds
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringDEFAULT_LANGUAGEprotected DatasetWrapperdswprotected Stringlanguageprotected org.apache.jena.rdf.model.Modelmodel
-
Constructor Summary
Constructors Constructor Description ModelWrapper(DatasetWrapper dataset)Create a model wrapper around the default model of the datasetModelWrapper(DatasetWrapper dataset, String modelname)Create a model wrapper around a named model of the datasetModelWrapper(DatasetWrapper dataset, org.apache.jena.rdf.model.Model model)ModelWrapper(org.apache.jena.rdf.model.Model model)Create a model wrapper round a simple model, creating a wrapped dataset to hold it.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringexpandPrefix(String prefix)StringexpandQuery(String query)org.apache.jena.query.DatasetgetDataset()DatasetWrappergetDatasetWrapper()StringgetLanguage()Return a language code (2-letter ISO639 code) which can be used to guide choice of lexical form in e.g.org.apache.jena.rdf.model.ModelgetModel()RDFNodeWrappergetNode(Object spec)Return a wrapped node from this Model.org.apache.jena.shared.PrefixMappinggetPrefixes()Return a merged prefix mapping that includes and prefixes defined for this model plus any global ones which have been registered with the dataset wapperorg.apache.jena.rdf.model.ResourcegetResource(Object spec)Return a resource (not wrapped) from this Model.List<RDFNodeWrapper>listSubjects()Return a list of at most N subjects in this modelList<RDFNodeWrapper>listSubjects(int N)Return a list of at most N subjects in this modelvoidlock()Lock the dataset for readingvoidlockWrite()Lock the dataset for writebooleanqueryAsk(String query)Thread/transaction safe ask query.ModelWrapperqueryConstruct(String query)Thread/transaction safe construct query.org.apache.jena.query.ResultSetRewindablequerySelect(String query)Thread/transaction safe select query.List<Map<String,RDFNodeWrapper>>querySelectW(String query)Thread/transaction safe select query returning wrapped bindings.voidsetLanguage(String language)Set a language code (2-letter ISO639 code) which will be used to guide choice of lexical form in e.g.StringshortForm(String uri)voidunlock()Unlock the datasetList<Map<String,RDFNodeWrapper>>wrapResultSet(org.apache.jena.query.ResultSet rs)
-
-
-
Field Detail
-
dsw
protected DatasetWrapper dsw
-
model
protected org.apache.jena.rdf.model.Model model
-
language
protected String language
-
DEFAULT_LANGUAGE
protected static final String DEFAULT_LANGUAGE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ModelWrapper
public ModelWrapper(DatasetWrapper dataset, org.apache.jena.rdf.model.Model model)
-
ModelWrapper
public ModelWrapper(DatasetWrapper dataset)
Create a model wrapper around the default model of the dataset
-
ModelWrapper
public ModelWrapper(DatasetWrapper dataset, String modelname)
Create a model wrapper around a named model of the dataset
-
ModelWrapper
public ModelWrapper(org.apache.jena.rdf.model.Model model)
Create a model wrapper round a simple model, creating a wrapped dataset to hold it. Uses the global default modal instance.
-
-
Method Detail
-
setLanguage
public void setLanguage(String language)
Set a language code (2-letter ISO639 code) which will be used to guide choice of lexical form in e.g. node.getName()
-
getLanguage
public String getLanguage()
Return a language code (2-letter ISO639 code) which can be used to guide choice of lexical form in e.g. node.getName()
-
getModel
public org.apache.jena.rdf.model.Model getModel()
-
getDatasetWrapper
public DatasetWrapper getDatasetWrapper()
-
getDataset
public org.apache.jena.query.Dataset getDataset()
-
getNode
public RDFNodeWrapper getNode(Object spec)
Return a wrapped node from this Model.- Parameters:
spec- can be a curie or URI for a resource, or an existing RDFNode or RDFNodeWrapper - possibly from some other model
-
getResource
public org.apache.jena.rdf.model.Resource getResource(Object spec)
Return a resource (not wrapped) from this Model.- Parameters:
spec- can be a curie or URI for a resource, or an existing RDFNode or RDFNodeWrapper - possibly from some other model
-
lock
public void lock()
Lock the dataset for reading
-
lockWrite
public void lockWrite()
Lock the dataset for write
-
unlock
public void unlock()
Unlock the dataset
-
listSubjects
public List<RDFNodeWrapper> listSubjects(int N)
Return a list of at most N subjects in this model
-
listSubjects
public List<RDFNodeWrapper> listSubjects()
Return a list of at most N subjects in this model
-
getPrefixes
public org.apache.jena.shared.PrefixMapping getPrefixes()
Return a merged prefix mapping that includes and prefixes defined for this model plus any global ones which have been registered with the dataset wapper
-
querySelect
public org.apache.jena.query.ResultSetRewindable querySelect(String query)
Thread/transaction safe select query.- Parameters:
query- query string to which query prefixes will be added from model and the wrapped dataset- Returns:
- memory copy of the result set
-
queryAsk
public boolean queryAsk(String query)
Thread/transaction safe ask query.- Parameters:
query- query string to which query prefixes will be added from model and the wrapped dataset- Returns:
- result of aks
-
queryConstruct
public ModelWrapper queryConstruct(String query)
Thread/transaction safe construct query.- Parameters:
query- query string to which query prefixes will be added from model and the wrapped dataset- Returns:
- constructed in-memory model
-
querySelectW
public List<Map<String,RDFNodeWrapper>> querySelectW(String query)
Thread/transaction safe select query returning wrapped bindings.- Parameters:
query- query string to which query prefixes will be added from model and the wrapped dataset
-
wrapResultSet
public List<Map<String,RDFNodeWrapper>> wrapResultSet(org.apache.jena.query.ResultSet rs)
-
-