Package org.aksw.jenax.stmt.util
Class SparqlStmtUtils
java.lang.Object
org.aksw.jenax.stmt.util.SparqlStmtUtils
Utility methods for processing sources of SparqlStmts
TODO Consolidate with SparqlStmtMgr
- Author:
- raven
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic SparqlStmtapplyElementTransform(SparqlStmt stmt, Function<? super org.apache.jena.sparql.syntax.Element, ? extends org.apache.jena.sparql.syntax.Element> transform) static SparqlStmtapplyNodeTransform(SparqlStmt stmt, org.apache.jena.sparql.graph.NodeTransform xform) static SparqlStmtapplyOpTransform(SparqlStmt stmt, Function<? super org.apache.jena.sparql.algebra.Op, ? extends org.apache.jena.sparql.algebra.Op> transform) static SparqlStmtapplyOpTransform(SparqlStmt stmt, org.apache.jena.sparql.algebra.Transform transform) static SPARQLResultExexecAny(org.apache.jena.query.QueryExecution qe, org.apache.jena.query.Query q) static SPARQLResultExexecAny(org.apache.jena.rdfconnection.RDFConnection conn, SparqlStmt stmt, Consumer<org.apache.jena.sparql.util.Context> cxtMutator) static URIextractBaseIri(String filenameOrURI) getMentionedEnvVars(Collection<? extends SparqlStmt> sparqlStmts) Get all variables mentioned in the nodes w.r.t.static List<org.apache.jena.sparql.core.Var>getUnionProjectVars(Collection<? extends SparqlStmt> stmts) For the given collection of SparqlStmts yield the set of used projection vars in select queries This can be used to compose a union result set from multiple separate queriesstatic booleanCheck for this specific QueryParseException - often occurs when attempting to parse a file namestatic StringloadString(String filenameOrURI) mentionedEnvVars(SparqlStmt stmt) static Set<org.apache.jena.graph.Node>mentionedNodes(SparqlStmt stmt) static org.apache.jena.atlas.web.TypedInputStreamopenInputStream(String filenameOrURI) static SparqlStmtoptimizePrefixes(SparqlStmt stmt) Removes all unused prefixes from a stmt.static SparqlStmtoptimizePrefixes(SparqlStmt stmt, org.apache.jena.shared.PrefixMapping globalPm) In-place optimize a parsed sparql statement's prefixes to only used prefixes.static voidoutput(SPARQLResultEx rr, SPARQLResultVisitor sink) Create a sink that for line based format streams directly to the output stream or collects quads in memory and emits them all at once in the given format when flushing the sink.static voidoverwriteDatasetDescription(SparqlStmt stmt, org.apache.jena.sparql.core.DatasetDescription dd) In-place update.static SparqlStmtIteratorparse(InputStream in, Function<String, SparqlStmt> parser) Parse an input stream with the given parser.static voidprocess(org.apache.jena.rdfconnection.RDFConnection conn, SparqlStmt stmt, Consumer<org.apache.jena.sparql.util.Context> cxtMutator, SPARQLResultVisitor sink) static SparqlStmtIteratorprocessFile(org.apache.jena.shared.PrefixMapping pm, String filenameOrURI) static SparqlStmtIteratorprocessFile(org.apache.jena.shared.PrefixMapping pm, String filenameOrURI, String baseIri) static SparqlStmtIteratorprocessInputStream(org.apache.jena.shared.PrefixMapping pm, String baseIri, InputStream in) Deprecated.static SparqlStmtIteratorreadStmts(String filenameOrURI, SparqlStmtParser parser) static org.apache.jena.sparql.algebra.OptoAlgebra(SparqlStmt stmt)
-
Field Details
-
symConnection
public static final org.apache.jena.sparql.util.Symbol symConnection
-
-
Constructor Details
-
SparqlStmtUtils
public SparqlStmtUtils()
-
-
Method Details
-
mentionedNodes
-
mentionedEnvVars
-
isEncounteredSlashException
Check for this specific QueryParseException - often occurs when attempting to parse a file name -
getUnionProjectVars
public static List<org.apache.jena.sparql.core.Var> getUnionProjectVars(Collection<? extends SparqlStmt> stmts) For the given collection of SparqlStmts yield the set of used projection vars in select queries This can be used to compose a union result set from multiple separate queries- Parameters:
stmts-- Returns:
-
optimizePrefixes
Removes all unused prefixes from a stmt. Currently the change happens in-place. TODO optimizePrefixes should not modify in-place because it desyncs with the stmts's original string- Parameters:
stmt-- Returns:
-
applyElementTransform
public static SparqlStmt applyElementTransform(SparqlStmt stmt, Function<? super org.apache.jena.sparql.syntax.Element, ? extends org.apache.jena.sparql.syntax.Element> transform) -
applyOpTransform
public static SparqlStmt applyOpTransform(SparqlStmt stmt, org.apache.jena.sparql.algebra.Transform transform) -
applyOpTransform
public static SparqlStmt applyOpTransform(SparqlStmt stmt, Function<? super org.apache.jena.sparql.algebra.Op, ? extends org.apache.jena.sparql.algebra.Op> transform) -
applyNodeTransform
public static SparqlStmt applyNodeTransform(SparqlStmt stmt, org.apache.jena.sparql.graph.NodeTransform xform) -
extractBaseIri
-
loadString
- Throws:
IOException
-
openInputStream
-
readStmts
public static SparqlStmtIterator readStmts(String filenameOrURI, SparqlStmtParser parser) throws IOException - Throws:
IOException
-
parse
public static SparqlStmtIterator parse(InputStream in, Function<String, SparqlStmt> parser) throws IOExceptionParse an input stream with the given parser. Parsing happens on calling next/hasNext on the iterator so this method will not raise a ParseException on invalid input. Because of the trial/error approach of the parser the whole input stream is immediately read into a string and closed- Parameters:
in-parser-- Returns:
- Throws:
IOException
-
execAny
public static SPARQLResultEx execAny(org.apache.jena.query.QueryExecution qe, org.apache.jena.query.Query q) -
execAny
public static SPARQLResultEx execAny(org.apache.jena.rdfconnection.RDFConnection conn, SparqlStmt stmt, Consumer<org.apache.jena.sparql.util.Context> cxtMutator) -
overwriteDatasetDescription
public static void overwriteDatasetDescription(SparqlStmt stmt, org.apache.jena.sparql.core.DatasetDescription dd) In-place update. -
output
Create a sink that for line based format streams directly to the output stream or collects quads in memory and emits them all at once in the given format when flushing the sink.- Parameters:
r-format-out-dataset- The dataset implementation to use for non-streaming data. Allows for use of insert-order preserving dataset implementations.
-
process
public static void process(org.apache.jena.rdfconnection.RDFConnection conn, SparqlStmt stmt, Consumer<org.apache.jena.sparql.util.Context> cxtMutator, SPARQLResultVisitor sink) -
toAlgebra
-
getMentionedEnvVars
Get all variables mentioned in the nodes w.r.t. to the variable representations supported byNodeEnvsubst- Parameters:
sparqlStmts-- Returns:
-