Package com.epimorphics.rdfutil
Class DatasetWrapper
- java.lang.Object
-
- com.epimorphics.rdfutil.DatasetWrapper
-
public class DatasetWrapper extends Object
Wrap up a dataset to support script-friendly access. See ModelWrapper and RDFNodeWrapper for the more interesting functionality.- Author:
- Dave Reynolds
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.jena.query.Datasetdatasetprotected booleaninWriteprotected org.apache.jena.shared.PrefixMappingprefixesstatic StringTDB_UNION_GRAPH_NAMEprotected booleanunionDefault
-
Constructor Summary
Constructors Constructor Description DatasetWrapper(org.apache.jena.query.Dataset dataset)DatasetWrapper(org.apache.jena.query.Dataset dataset, boolean unionDefault)DatasetWrapper(org.apache.jena.query.Dataset dataset, boolean unionDefault, org.apache.jena.shared.PrefixMapping prefixes)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort()Unlock the dataset, aborting the transaction.protected StringexpandQuery(String query)org.apache.jena.query.DatasetgetDataset()ModelWrappergetDefaultModelW()Get the default graph as a Jena ModelModelWrappergetNamedModelW(String uri)Get a graph by name as a Jena Modelorg.apache.jena.shared.PrefixMappinggetPrefixes()booleangetUnionDefault()voidlock()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.voidsetPrefixes(org.apache.jena.shared.PrefixMapping prefixes)Provide a prefix mapping for short names that will augment any per-model prefixes when used from the wrapper APIs.voidsetUnionDefault(boolean unionDefault)If the unionDefault flag is set to try then getDefaultModel will attempt to use the union model from the dataset and SPARQL queries will be issued with unionDefaultGraph set to true.voidunlock()Unlock the datasetprotected List<Map<String,RDFNodeWrapper>>wrapResultSet(org.apache.jena.query.ResultSet rs)
-
-
-
Field Detail
-
TDB_UNION_GRAPH_NAME
public static final String TDB_UNION_GRAPH_NAME
- See Also:
- Constant Field Values
-
dataset
protected org.apache.jena.query.Dataset dataset
-
inWrite
protected boolean inWrite
-
unionDefault
protected boolean unionDefault
-
prefixes
protected org.apache.jena.shared.PrefixMapping prefixes
-
-
Constructor Detail
-
DatasetWrapper
public DatasetWrapper(org.apache.jena.query.Dataset dataset, boolean unionDefault, org.apache.jena.shared.PrefixMapping prefixes)
-
DatasetWrapper
public DatasetWrapper(org.apache.jena.query.Dataset dataset, boolean unionDefault)
-
DatasetWrapper
public DatasetWrapper(org.apache.jena.query.Dataset dataset)
-
-
Method Detail
-
setUnionDefault
public void setUnionDefault(boolean unionDefault)
If the unionDefault flag is set to try then getDefaultModel will attempt to use the union model from the dataset and SPARQL queries will be issued with unionDefaultGraph set to true. Only meaningful for TDB-backed datasets.
-
getUnionDefault
public boolean getUnionDefault()
-
setPrefixes
public void setPrefixes(org.apache.jena.shared.PrefixMapping prefixes)
Provide a prefix mapping for short names that will augment any per-model prefixes when used from the wrapper APIs. Useful for simplify sparql queries and node link following.
-
getPrefixes
public org.apache.jena.shared.PrefixMapping getPrefixes()
-
getDefaultModelW
public ModelWrapper getDefaultModelW()
Get the default graph as a Jena Model
-
getNamedModelW
public ModelWrapper getNamedModelW(String uri)
Get a graph by name as a Jena Model
-
getDataset
public org.apache.jena.query.Dataset getDataset()
-
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
-
abort
public void abort()
Unlock the dataset, aborting the transaction. Only useful if the dataset is transactional
-
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 if available- 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 if available- 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 if available- 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 if available
-
wrapResultSet
protected List<Map<String,RDFNodeWrapper>> wrapResultSet(org.apache.jena.query.ResultSet rs)
-
-