Class FOQueryFactory

java.lang.Object
fr.inria.rules.integraal.model.query.factory.FOQueryFactory

public class FOQueryFactory extends Object
Factory for queries
Author:
Florent Tornil
  • Constructor Details

    • FOQueryFactory

      public FOQueryFactory()
      Creates a query factory instance.
  • Method Details

    • instance

      public static FOQueryFactory instance()
      Returns the shared query factory instance.
      Returns:
      the default instance of this factory
    • createOrGetQuery

      public <Formula extends FOFormula> FOQuery<Formula> createOrGetQuery(Formula formula, Collection<Variable> answer_variables)
      Creates a query from a formula and its answer variables.
      Type Parameters:
      Formula - the concrete first-order formula type
      Parameters:
      formula - the query atoms as a FOFormula
      answer_variables - the list of answer variables
      Returns:
      a query or an empty optional if an error occur
    • createOrGetQuery

      public <Formula extends FOFormula> FOQuery<Formula> createOrGetQuery(String label, Formula formula, Collection<Variable> answer_variables)
      Creates a labeled query from a formula and its answer variables.
      Type Parameters:
      Formula - the concrete first-order formula type
      Parameters:
      label - the label of the query
      formula - the query atoms as a FOFormula
      answer_variables - the list of answer variables
      Returns:
      a query or an empty optional if an error occur
    • createOrGetQuery

      public <Formula extends FOFormula> FOQuery<Formula> createOrGetQuery(Formula formula, Collection<Variable> answer_variables, TermPartition equalities)
      Creates a query from a formula, its answer variables, and equality constraints.
      Type Parameters:
      Formula - the concrete first-order formula type
      Parameters:
      formula - the query atoms as a FOFormula
      answer_variables - the list of answer variables
      equalities - the equalities of the query variables
      Returns:
      a query or an empty optional if an error occur
    • createOrGetQuery

      public <Formula extends FOFormula> FOQuery<Formula> createOrGetQuery(String label, Formula formula, Collection<Variable> answer_variables, TermPartition equalities)
      Creates a labeled query from a formula, its answer variables, and equality constraints.
      Type Parameters:
      Formula - the concrete first-order formula type
      Parameters:
      label - the label of the query
      formula - the query atoms as a FOFormula
      answer_variables - the list of answer variables
      equalities - the equalities of the query variables
      Returns:
      a query or an empty optional if an error occur
    • createOrGetQuery

      public FOQuery<FOFormulaConjunction> createOrGetQuery(FORule rule)
      Creates a query equivalent to the supplied rule.
      Parameters:
      rule - the rule to transform into a query
      Returns:
      a query or an empty optional if an error occur