Class WorkloadRPQ

java.lang.Object
dev.roanh.gmark.core.Workload
dev.roanh.gmark.query.conjunct.rpq.WorkloadRPQ
All Implemented Interfaces:
IDable

public class WorkloadRPQ extends Workload
Describes a workload of RPQ queries to generate.
  • Field Details

    • minDisjuncts

      private int minDisjuncts
      The minimum number of disjuncts in the RPQs to generate.
    • maxDisjuncts

      private int maxDisjuncts
      The maximum number of disjuncts in the RPQs to generate.
    • minLength

      private int minLength
      The minimum length of the RPQs to generate.
    • maxLength

      private int maxLength
      The maximum length of hte RPQs to generate.
  • Constructor Details

    • WorkloadRPQ

      public WorkloadRPQ(Element elem, Schema schema)
      Constructs a new RPQ workload from the given configuration element and graph schema.
      Parameters:
      elem - The configuration element to parse.
      schema - The graph schema to use.
  • Method Details

    • setMaxLength

      public void setMaxLength(int len)
      Sets the maximum length of the RPQs to generate.
      Parameters:
      len - The new maximum length.
    • setMinLength

      public void setMinLength(int len)
      Sets the minimum length of the RPQs to generate.
      Parameters:
      len - The new minimum length.
    • setMaxDisjuncts

      public void setMaxDisjuncts(int disj)
      Sets the maximum number of disjuncts in the RPQs to generate.
      Parameters:
      disj - The new maximum disjunct count.
    • setMinDisjuncts

      public void setMinDisjuncts(int disj)
      Sets the minimum number of disjuncts in the RPQs to generate.
      Parameters:
      disj - The new minimum disjunct count.
    • getMaxLength

      public int getMaxLength()
      Gets the maximum length of the RPQs to generate.
      Returns:
      The maximum RPQ length.
    • getMinLength

      public int getMinLength()
      Gets the minimum length of the RPQs to generate.
      Returns:
      The minimum RPQ length.
    • getMinDisjuncts

      public int getMinDisjuncts()
      Gets the minimum number of disjuncts in the RPQs to generate.
      Returns:
      The minimum number of disjuncts.
    • getMaxDisjuncts

      public int getMaxDisjuncts()
      Gets the maximum number of disjuncts in the RPQs to generate.
      Returns:
      The maximum number of disjuncts.
    • validate

      public void validate() throws IllegalStateException
      Description copied from class: Workload
      Validates this workload by checking that all of the arguments are valid and usable for query generation. Subclasses should override this method to validate their own arguments.
      Overrides:
      validate in class Workload
      Throws:
      IllegalStateException - When it is determined that the workload is not valid.
    • getType

      public WorkloadType getType()
      Description copied from class: Workload
      Gets the type of this workload.
      Specified by:
      getType in class Workload
      Returns:
      The type of this workload.
    • getMaxSelectivityGraphLength

      public int getMaxSelectivityGraphLength()
      Description copied from class: Workload
      Gets the maximum length of paths needed in the selectivity graph to generate queries in accordance with this workload.
      Specified by:
      getMaxSelectivityGraphLength in class Workload
      Returns:
      The maximum required selectivity graph path length.
    • getConjunctGenerator

      public ConjunctGenerator getConjunctGenerator()
      Description copied from class: Workload
      Gets a generator for generating conjuncts according to this workload configuration.
      Specified by:
      getConjunctGenerator in class Workload
      Returns:
      A worklaod conjunct generator.