Class FragmentUtils

java.lang.Object
org.aksw.jenax.sparql.fragment.impl.FragmentUtils

public class FragmentUtils extends Object
  • Field Details

  • Constructor Details

    • FragmentUtils

      public FragmentUtils()
  • Method Details

    • createTernaryRelation

      public static Fragment3 createTernaryRelation(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      Create a relation using the variables ?s ?p ?o and adding filters as needed for any concrete node
      Returns:
    • rename

      public static Fragment rename(Fragment r, List<org.apache.jena.sparql.core.Var> targetVars)
      Rename the variables of the relation to the given variables In case of clashes, prior variables will be replaced with fresh ones.
      Parameters:
      r -
      targetVars -
      Returns:
    • renameNodes

      public static org.apache.jena.sparql.syntax.Element renameNodes(Fragment r, List<? extends org.apache.jena.graph.Node> targetNodes)
      Rename the vars of the relation to the given target variables. Thereby take care of conflicts when the target variable also is also mentioned in the relation The implementation uses Relation.join() which treats the variables of the left-hand side of the join as fixed.
      Parameters:
      r -
      targetNodes - A list of vars (TODO Change type to var)
      Returns:
    • createRenameVarMap

      public static Map<org.apache.jena.sparql.core.Var,org.apache.jena.graph.Node> createRenameVarMap(Set<org.apache.jena.sparql.core.Var> mentionedVars, List<org.apache.jena.sparql.core.Var> rVars, List<? extends org.apache.jena.graph.Node> targetNodes)
    • align

      public static Fragment align(Collection<? extends Fragment> relations, List<org.apache.jena.sparql.core.Var> vars)
      Rename variables of all relations to the given list of variables All relations and the list of given variables must have the same length
      Parameters:
      relations -
      Returns:
    • groupBy

      public static Fragment groupBy(Fragment r, org.apache.jena.sparql.core.Var aggVar, org.apache.jena.sparql.core.Var resultVar, boolean includeAbsent)
      Apply groupBy and count(Distinct ?var) to one of a relation's variables.
      Parameters:
      r -
      aggVar -
      resultVar -
      includeAbsent - if true, unbound values count too
      Returns:
    • fromQuery

      public static Fragment fromQuery(String queryStr)
    • fromQuery

      public static Fragment fromQuery(String queryStr, org.apache.jena.shared.PrefixMapping prefixMapping)
    • fromQuery

      public static Fragment fromQuery(org.apache.jena.query.Query query)
    • extractTriple

      public static org.apache.jena.graph.Triple extractTriple(Fragment2 relation)
    • and

      public static Fragment2 and(Fragment2 a, Fragment2 b, boolean transformInPlaceIfApplicable)
    • union

      public static Fragment2 union(Fragment2 a, Fragment2 b, boolean transformInPlaceIfApplicable)
      Parameters:
      a -
      b -
      transformInPlaceIfApplicable - Add 'b' to to 'a' if a's element already is a union
      Returns:
    • createRelation

      public static Fragment2 createRelation(String propertyUri, boolean isInverse, org.apache.jena.shared.PrefixMapping prefixMapping)
    • createRelation

      public static Fragment2 createRelation(org.apache.jena.graph.Node property, boolean isInverse)
    • createRelation

      public static Fragment2 createRelation(org.apache.jena.rdf.model.Property property, boolean isInverse)
    • createRelation

      public static Fragment2 createRelation(org.apache.jena.sparql.expr.Expr expr, boolean isInverse)
    • createQuery

      public static org.apache.jena.query.Query createQuery(Fragment relation)