Class SparqlStmtUtils

java.lang.Object
org.aksw.jenax.stmt.util.SparqlStmtUtils

public class SparqlStmtUtils extends Object
Utility methods for processing sources of SparqlStmts TODO Consolidate with SparqlStmtMgr
Author:
raven
  • Field Details

    • symConnection

      public static final org.apache.jena.sparql.util.Symbol symConnection
  • Constructor Details

    • SparqlStmtUtils

      public SparqlStmtUtils()
  • Method Details

    • mentionedNodes

      public static Set<org.apache.jena.graph.Node> mentionedNodes(SparqlStmt stmt)
    • mentionedEnvVars

      public static Map<String,Boolean> mentionedEnvVars(SparqlStmt stmt)
    • isEncounteredSlashException

      public static boolean isEncounteredSlashException(Throwable t)
      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

      public static SparqlStmt optimizePrefixes(SparqlStmt stmt)
      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:
    • optimizePrefixes

      public static SparqlStmt optimizePrefixes(SparqlStmt stmt, org.apache.jena.shared.PrefixMapping globalPm)
      In-place optimize a parsed sparql statement's prefixes to only used prefixes. If the statement is not parsed then this operation does nothing! The global prefix map may be null.
      Parameters:
      stmt -
      globalPm -
      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)
    • processFile

      public static SparqlStmtIterator processFile(org.apache.jena.shared.PrefixMapping pm, String filenameOrURI) throws FileNotFoundException, IOException
      Throws:
      FileNotFoundException
      IOException
    • extractBaseIri

      public static URI extractBaseIri(String filenameOrURI)
    • loadString

      public static String loadString(String filenameOrURI) throws IOException
      Throws:
      IOException
    • openInputStream

      public static org.apache.jena.atlas.web.TypedInputStream openInputStream(String filenameOrURI)
    • readStmts

      public static SparqlStmtIterator readStmts(String filenameOrURI, SparqlStmtParser parser) throws IOException
      Throws:
      IOException
    • processFile

      public static SparqlStmtIterator processFile(org.apache.jena.shared.PrefixMapping pm, String filenameOrURI, String baseIri) throws FileNotFoundException, IOException
      Parameters:
      pm - A modifiable prefix mapping
      filenameOrURI -
      Returns:
      Throws:
      FileNotFoundException
      IOException
    • processInputStream

      @Deprecated public static SparqlStmtIterator processInputStream(org.apache.jena.shared.PrefixMapping pm, String baseIri, InputStream in) throws IOException
      Deprecated.
      Parse all queries from th given input stream using a sparql parser with namespace tracking. This is just a convenience function which creates a sparql parser from the arguments and calls parse(InputStream, Function) - deprecate?
      Throws:
      IOException
    • parse

      public static SparqlStmtIterator parse(InputStream in, Function<String,SparqlStmt> parser) throws IOException
      Parse 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

      public static void output(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.
      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

      public static org.apache.jena.sparql.algebra.Op toAlgebra(SparqlStmt stmt)
    • getMentionedEnvVars

      public static Set<String> getMentionedEnvVars(Collection<? extends SparqlStmt> sparqlStmts)
      Get all variables mentioned in the nodes w.r.t. to the variable representations supported by NodeEnvsubst
      Parameters:
      sparqlStmts -
      Returns: