Class ElementGeneratorLateral
java.lang.Object
org.aksw.jenax.facete.treequery2.impl.ElementGeneratorLateral
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.apache.jena.sparql.syntax.ElementcreateElement(TreeData<org.aksw.jenax.path.core.FacetPath> tree, String rootVar, FacetPathMapping pathMapping) SELECT (?key1 ...org.apache.jena.sparql.syntax.ElementcreateElement(RelationQuery current) org.apache.jena.sparql.syntax.ElementcreateElement(RelationQuery current, org.aksw.jenax.path.core.FacetStep reachingStep) static Set<org.apache.jena.sparql.expr.Expr>createScopedConstraintExprs(RelationQuery relationQuery) The paths in the tree is what is being projected.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-recursionstatic voidprotected org.aksw.jenax.sparql.fragment.api.FragmentresolveRelation(org.aksw.jenax.sparql.fragment.api.MappedFragment<org.apache.jena.graph.Node> mappedRelation, FacetPathMapping pathMapping, TreeData<ScopedFacetPath> treeData) Given a mappedRelation add the referenced paths to the treeDatastatic 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.static org.apache.jena.sparql.syntax.ElementtoElement(RelationQuery current) static voidtoNodeQuery(NodeQuery nodeQuery, org.aksw.jenax.model.shacl.domain.ShNodeShape nodeShape) static org.apache.jena.query.Querystatic org.apache.jena.query.QuerytoQuery(RelationQuery relationQuery) Returns a CONSTRUCT quads query
-
Constructor Details
-
ElementGeneratorLateral
public ElementGeneratorLateral()
-
-
Method Details
-
toElement
-
toQuery
-
toQuery
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
-
createElement
public org.apache.jena.sparql.syntax.Element createElement(RelationQuery current, org.aksw.jenax.path.core.FacetStep reachingStep) -
resolveRelation
protected org.aksw.jenax.sparql.fragment.api.Fragment resolveRelation(org.aksw.jenax.sparql.fragment.api.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
-