Class TrackingTransformConditionalFunctionInversion

java.lang.Object
org.apache.jena.sparql.algebra.TransformCopy
org.aksw.jenax.sparql.algebra.walker.TrackingTransformCopy<org.aksw.jenax.constraint.api.CBinding>
org.aksw.jenax.sparql.algebra.optimize.TrackingTransformConditionalFunctionInversion
All Implemented Interfaces:
org.apache.jena.sparql.algebra.Transform

public class TrackingTransformConditionalFunctionInversion extends TrackingTransformCopy<org.aksw.jenax.constraint.api.CBinding>
This class checks for expressions of the form [STR(?p) = 'const'] and if valueSpace(?p) is limited to IRI then it rewrites the expression as [?p = <const>].
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Map<org.aksw.commons.path.core.Path<String>,Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace>>
     
    protected Map<org.aksw.commons.path.core.Path<String>,Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace>>
     
     

    Fields inherited from class org.aksw.jenax.sparql.algebra.walker.TrackingTransformCopy

    tracker

    Fields inherited from class org.apache.jena.sparql.algebra.TransformCopy

    COPY_ALWAYS, COPY_ONLY_ON_CHANGE
  • Constructor Summary

    Constructors
    Constructor
    Description
    TrackingTransformConditionalFunctionInversion(Tracker<org.aksw.jenax.constraint.api.CBinding> pathState)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Map.Entry<org.apache.jena.sparql.expr.NodeValue,org.apache.jena.sparql.expr.Expr>
    applyInverseFunction(Map.Entry<org.apache.jena.sparql.expr.NodeValue,org.apache.jena.sparql.expr.Expr> e, Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace> exprToValueSpace)
     
    org.apache.jena.sparql.algebra.OpVisitor
     
    static Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace>
    toExprConstraints(org.aksw.jenax.constraint.api.CBinding crow)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpBGP opBGP)
     
    org.apache.jena.sparql.algebra.Op
    transform(org.apache.jena.sparql.algebra.op.OpFilter opFilter, org.apache.jena.sparql.algebra.Op subOp)
    Check for filter expressions of the form [str(?

    Methods inherited from class org.aksw.jenax.sparql.algebra.walker.TrackingTransformCopy

    path

    Methods inherited from class org.apache.jena.sparql.algebra.TransformCopy

    transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, 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

    • beforeVisitor

    • beforeConditions

      protected Map<org.aksw.commons.path.core.Path<String>,Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace>> beforeConditions
    • afterConditions

      protected Map<org.aksw.commons.path.core.Path<String>,Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace>> afterConditions
  • Constructor Details

    • TrackingTransformConditionalFunctionInversion

      public TrackingTransformConditionalFunctionInversion(Tracker<org.aksw.jenax.constraint.api.CBinding> pathState)
  • Method Details

    • getBeforeVisitor

      public org.apache.jena.sparql.algebra.OpVisitor getBeforeVisitor()
      Overrides:
      getBeforeVisitor in class TrackingTransformCopy<org.aksw.jenax.constraint.api.CBinding>
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpBGP opBGP)
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • transform

      public org.apache.jena.sparql.algebra.Op transform(org.apache.jena.sparql.algebra.op.OpFilter opFilter, org.apache.jena.sparql.algebra.Op subOp)
      Check for filter expressions of the form [str(?p) op 'string_literal'] and if ?p is known to be an IRI transform it to [?p op ]
      Specified by:
      transform in interface org.apache.jena.sparql.algebra.Transform
      Overrides:
      transform in class org.apache.jena.sparql.algebra.TransformCopy
    • toExprConstraints

      public static Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace> toExprConstraints(org.aksw.jenax.constraint.api.CBinding crow)
    • applyInverseFunction

      public static Map.Entry<org.apache.jena.sparql.expr.NodeValue,org.apache.jena.sparql.expr.Expr> applyInverseFunction(Map.Entry<org.apache.jena.sparql.expr.NodeValue,org.apache.jena.sparql.expr.Expr> e, Map<org.apache.jena.sparql.expr.Expr,org.aksw.jenax.constraint.api.VSpace> exprToValueSpace)