Class ElementTransformVirtualPredicates

java.lang.Object
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformCopyBase
org.aksw.jena_sparql_api.transform.ElementTransformVirtualPredicates
All Implemented Interfaces:
ElementTransform

public class ElementTransformVirtualPredicates extends ElementTransformCopyBase
Virtual properties map to SPARQL binary relations ?s ?o | arbitrarySparqlElementMentioningSAndO Triple pattern: ?s ?p ?o are replaced by a union of all virtual properties -> { ?s ?p ?o } Union { Select ( As ?p) { arbitrarySparqlElementMentioningSAndO } If ?p is a constant, we can directly replace it with the virtual property
Author:
raven
  • Field Details

    • virtualPredicates

      protected Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates
    • varGen

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

    • ElementTransformVirtualPredicates

      public ElementTransformVirtualPredicates()
    • ElementTransformVirtualPredicates

      public ElementTransformVirtualPredicates(Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates)
    • ElementTransformVirtualPredicates

      public ElementTransformVirtualPredicates(Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen)
  • Method Details

    • transform

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

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

      public static org.apache.jena.sparql.syntax.Element applyTransform(org.apache.jena.sparql.syntax.ElementTriplesBlock el, Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> rootVarGen)
    • applyTransform

      public static org.apache.jena.sparql.syntax.Element applyTransform(org.apache.jena.sparql.syntax.ElementPathBlock el, Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> rootVarGen)
    • applyTransform

      public static org.apache.jena.sparql.syntax.Element applyTransform(org.apache.jena.graph.Triple triple, Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen)
      Returns null if no transformation needed to be applied
      Parameters:
      triple -
      virtualPredicates -
      varGen -
      Returns:
    • createElementForVariablePredicate

      public static org.apache.jena.sparql.syntax.Element createElementForVariablePredicate(org.apache.jena.sparql.core.Var pVar, org.apache.jena.graph.Node s, org.apache.jena.graph.Node o, Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen)
    • createElementForConcretePredicate

      public static org.apache.jena.sparql.syntax.Element createElementForConcretePredicate(org.apache.jena.sparql.core.Var pVar, org.apache.jena.graph.Node pRef, org.apache.jena.graph.Node s, org.apache.jena.graph.Node o, Fragment2 relation, org.aksw.commons.collections.generator.Generator<org.apache.jena.sparql.core.Var> varGen)
      Parameters:
      p - a concrete predicate
      s -
      o -
      virtualPredicates -
    • transform

      public static org.apache.jena.query.Query transform(org.apache.jena.query.Query query, Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates, boolean cloneOnChange)
    • transform

      public static org.apache.jena.sparql.syntax.Element transform(org.apache.jena.sparql.syntax.Element element, Map<org.apache.jena.graph.Node,Fragment2> virtualPredicates)