Class FragmentUtils

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

public class FragmentUtils extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Fragment3
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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
    static Fragment2
    and(Fragment2 a, Fragment2 b, boolean transformInPlaceIfApplicable)
     
    static org.apache.jena.query.Query
     
    static Fragment2
    createRelation(String propertyUri, boolean isInverse, org.apache.jena.shared.PrefixMapping prefixMapping)
     
    static Fragment2
    createRelation(org.apache.jena.graph.Node property, boolean isInverse)
     
    static Fragment2
    createRelation(org.apache.jena.rdf.model.Property property, boolean isInverse)
     
    static Fragment2
    createRelation(org.apache.jena.sparql.expr.Expr expr, boolean isInverse)
     
    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)
     
    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
    static org.apache.jena.graph.Triple
     
    static Fragment
    fromQuery(String queryStr)
     
    static Fragment
    fromQuery(String queryStr, org.apache.jena.shared.PrefixMapping prefixMapping)
     
    static Fragment
    fromQuery(org.apache.jena.query.Query query)
     
    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.
    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.
    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.
    static Fragment2
    union(Fragment2 a, Fragment2 b, boolean transformInPlaceIfApplicable)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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)