Class ElementGeneratorLateral

java.lang.Object
org.aksw.jenax.facete.treequery2.impl.ElementGeneratorLateral

public class ElementGeneratorLateral extends Object
  • Constructor Details

    • ElementGeneratorLateral

      public ElementGeneratorLateral()
  • Method Details

    • toElement

      public static org.apache.jena.sparql.syntax.Element toElement(RelationQuery current)
    • toQuery

      public static org.apache.jena.query.Query toQuery(NodeQuery nodeQuery)
    • toQuery

      public static org.apache.jena.query.Query toQuery(RelationQuery relationQuery)
      Returns a CONSTRUCT quads query
    • createElement

      public static org.apache.jena.sparql.syntax.Element createElement(TreeData<org.aksw.jenax.path.core.FacetPath> tree, String rootVar, FacetPathMapping pathMapping)
      SELECT (?key1 ... ?keyN) ?s ?p ?o (base relation with ?key1 ... ?keyN and roots ?root1 ... ?rootM) (the sets of keys and roots are not required to be disjoint) LATERAL { # For each unique key combination { # Union over all roots BIND("root1" AS ?root) ?root1 :p1 ?b . LATERAL { { BIND(?a AS ?s) BIND(:p1 AS ?p) BIND(?b AS ?o) } UNION { ?b :p2 ?c. LATERAL { { BIND(?b AS ?s) BIND(:p2 AS ?p) BIND(?c AS ?o) } UNION { } } } } } UNION { } } }
    • createScopedConstraintExprs

      public static Set<org.apache.jena.sparql.expr.Expr> createScopedConstraintExprs(RelationQuery relationQuery)
      The paths in the tree is what is being projected.
      Parameters:
      tree -
      current -
      Returns:
    • createElement

      public org.apache.jena.sparql.syntax.Element createElement(RelationQuery current)
    • createElement

      public org.apache.jena.sparql.syntax.Element createElement(RelationQuery current, org.aksw.jenax.path.core.FacetStep reachingStep)
    • resolveRelation

      protected Fragment resolveRelation(MappedFragment<org.apache.jena.graph.Node> mappedRelation, FacetPathMapping pathMapping, TreeData<ScopedFacetPath> treeData)
      Given a mappedRelation add the referenced paths to the treeData
    • resolveScopeName

      public static Function<ConstraintNode<NodeQuery>,org.apache.jena.sparql.core.Var> resolveScopeName(FacetPathMapping facetPathMapping)
      Traversing along the empty path from a relationQuery's variable returns that variable again. Further traversals allocate scoped variables.
    • toNodeQuery

      public static void toNodeQuery(NodeQuery nodeQuery, org.aksw.jenax.model.shacl.domain.ShNodeShape nodeShape)
    • getPropertyShapes

      public static List<org.aksw.jenax.model.shacl.domain.ShPropertyShape> getPropertyShapes(org.aksw.jenax.model.shacl.domain.ShNodeShape nodeShape)
      Util method to extract all properties regardless of the Logical Constraint Components sh:not, sh:and, sh:or and sh:xone TODO Introduce a visitor? https://www.w3.org/TR/shacl/#shapes-recursion
    • main2

      public static void main2(String[] args)