Interface IInputKey

All Known Implementing Classes:
BaseInputKeyWrapper, JavaTransitiveInstancesKey

public interface IInputKey
An input key identifies an input (extensional) relation, such as the instance set of a given node or edge type, or the direct containment relation.

The input key, at the very minimum, is associated with an arity (number of columns), a user-friendly name, and a string identifier (for distributive purposes).

The input key itself must be an immutable data object that properly overrides equals() and hashCode(). It must be instantiable without using the query context object, so that query specifications may construct the appropriate PQueries.

  • Method Summary

    Modifier and Type
    Method
    Description
    int
    The width of tuples in this relation.
    A user-friendly name that can be shown on screen for debug purposes, included in exceptions, etc.
    An internal string identifier that can be used to uniquely identify to input key (relevant for distributed applications).
    boolean
    Returns true iff instance tuples of the key can be enumerated.
  • Method Details

    • getPrettyPrintableName

      String getPrettyPrintableName()
      A user-friendly name that can be shown on screen for debug purposes, included in exceptions, etc.
    • getStringID

      String getStringID()
      An internal string identifier that can be used to uniquely identify to input key (relevant for distributed applications).
    • getArity

      int getArity()
      The width of tuples in this relation.
    • isEnumerable

      boolean isEnumerable()
      Returns true iff instance tuples of the key can be enumerated.

      If false, the runtime can only test tuple membership in the extensional relation identified by the key, but not enumerate member tuples in general.