Class ElementTransformDatasetDescription

java.lang.Object
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase
org.aksw.jenax.arq.util.syntax.ElementTransformDatasetDescription
All Implemented Interfaces:
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransform

public class ElementTransformDatasetDescription extends org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase
Rewrites a query's dataset description so that it becomes part of the query pattern.
Author:
raven
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.jena.sparql.expr.ExprList
     
    protected Stack<org.apache.jena.graph.Node>
     
    protected org.apache.jena.sparql.expr.ExprList
     
    protected org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var>
     

    Fields inherited from class org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase

    alwaysCopy
  • Constructor Summary

    Constructors
    Constructor
    Description
    ElementTransformDatasetDescription(Stack<org.apache.jena.graph.Node> graphs, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen, org.apache.jena.sparql.expr.ExprList defaultGraphExprs, org.apache.jena.sparql.expr.ExprList namedGraphExprs)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.jena.sparql.syntax.Element
    applyDefaultGraphs(org.apache.jena.sparql.syntax.Element el)
     
    static org.apache.jena.sparql.syntax.Element
    applyGraphs(org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen, org.apache.jena.graph.Node gn, org.apache.jena.sparql.syntax.Element elt1, org.apache.jena.sparql.expr.ExprList exprs)
     
    static org.apache.jena.sparql.expr.Expr
    buildFilterExpr(org.apache.jena.sparql.expr.Expr base, org.apache.jena.sparql.expr.ExprList conditions)
    In the simplest case this method creates the expression "base IN (exprs)".
    create(Stack<org.apache.jena.graph.Node> graphs, org.apache.jena.sparql.syntax.Element e, org.apache.jena.sparql.core.DatasetDescription dd, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
     
    static void
    main(String[] args)
     
    static org.apache.jena.query.Query
    rewrite(org.apache.jena.query.Query query)
     
    static org.apache.jena.query.Query
    rewrite(org.apache.jena.query.Query query, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
    Rewrite a query's from / from named clauses to filter expressions.
    static org.apache.jena.sparql.syntax.Element
    rewrite(org.apache.jena.sparql.syntax.Element element, org.apache.jena.sparql.core.DatasetDescription dd, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
     
    static org.apache.jena.sparql.expr.ExprList
    toExprs(Collection<String> iris, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
     
    org.apache.jena.sparql.syntax.Element
    transform(org.apache.jena.sparql.syntax.ElementNamedGraph el, org.apache.jena.graph.Node gn, org.apache.jena.sparql.syntax.Element elt1)
     
    org.apache.jena.sparql.syntax.Element
    transform(org.apache.jena.sparql.syntax.ElementPathBlock el)
     
    org.apache.jena.sparql.syntax.Element
    transform(org.apache.jena.sparql.syntax.ElementTriplesBlock el)
     

    Methods inherited from class org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase

    transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • defaultGraphExprs

      protected org.apache.jena.sparql.expr.ExprList defaultGraphExprs
    • namedGraphExprs

      protected org.apache.jena.sparql.expr.ExprList namedGraphExprs
    • graphs

      protected Stack<org.apache.jena.graph.Node> graphs
    • varGen

      protected org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen
  • Constructor Details

    • ElementTransformDatasetDescription

      public ElementTransformDatasetDescription(Stack<org.apache.jena.graph.Node> graphs, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen, org.apache.jena.sparql.expr.ExprList defaultGraphExprs, org.apache.jena.sparql.expr.ExprList namedGraphExprs)
  • Method Details

    • toExprs

      public static org.apache.jena.sparql.expr.ExprList toExprs(Collection<String> iris, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
    • create

      public static ElementTransformDatasetDescription create(Stack<org.apache.jena.graph.Node> graphs, org.apache.jena.sparql.syntax.Element e, org.apache.jena.sparql.core.DatasetDescription dd, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
    • transform

      public org.apache.jena.sparql.syntax.Element transform(org.apache.jena.sparql.syntax.ElementTriplesBlock el)
      Specified by:
      transform in interface org.apache.jena.sparql.syntax.syntaxtransform.ElementTransform
      Overrides:
      transform in class org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase
    • transform

      public org.apache.jena.sparql.syntax.Element transform(org.apache.jena.sparql.syntax.ElementPathBlock el)
      Specified by:
      transform in interface org.apache.jena.sparql.syntax.syntaxtransform.ElementTransform
      Overrides:
      transform in class org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase
    • applyDefaultGraphs

      public org.apache.jena.sparql.syntax.Element applyDefaultGraphs(org.apache.jena.sparql.syntax.Element el)
    • buildFilterExpr

      public static org.apache.jena.sparql.expr.Expr buildFilterExpr(org.apache.jena.sparql.expr.Expr base, org.apache.jena.sparql.expr.ExprList conditions)
      In the simplest case this method creates the expression "base IN (exprs)". However, expressions may make use of up to one variable such as REGEX(?x, 'foobar'). That variable can be subsituted by the "base" expression. Hence, in general the returned expression is a disjunction comprising "IN" elements (for constants and variable free function calls) and substituted expressions (for single-variable expressions). The semantics of expressions differ depending on the number of variables:
      • 0: Effective constants that are matched against the base expressions by value.
      • 1: Boolean expressions that are evaluated by substituting their variable with the base expression.
    • applyGraphs

      public static org.apache.jena.sparql.syntax.Element applyGraphs(org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen, org.apache.jena.graph.Node gn, org.apache.jena.sparql.syntax.Element elt1, org.apache.jena.sparql.expr.ExprList exprs)
    • transform

      public org.apache.jena.sparql.syntax.Element transform(org.apache.jena.sparql.syntax.ElementNamedGraph el, org.apache.jena.graph.Node gn, org.apache.jena.sparql.syntax.Element elt1)
      Specified by:
      transform in interface org.apache.jena.sparql.syntax.syntaxtransform.ElementTransform
      Overrides:
      transform in class org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase
    • rewrite

      public static org.apache.jena.query.Query rewrite(org.apache.jena.query.Query query)
    • rewrite

      public static org.apache.jena.query.Query rewrite(org.apache.jena.query.Query query, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
      Rewrite a query's from / from named clauses to filter expressions. Thereby, specific iris can be optionally remapped to alternative expressions.
      Parameters:
      query -
      graphToExpr - An optional mapping of graph names to expressions. May be null.
      Returns:
    • rewrite

      public static org.apache.jena.sparql.syntax.Element rewrite(org.apache.jena.sparql.syntax.Element element, org.apache.jena.sparql.core.DatasetDescription dd, Map<String,org.apache.jena.sparql.expr.Expr> graphToExpr)
    • main

      public static void main(String[] args)