Class GraphPattern


  • @InternalUseOnly
    public class GraphPattern
    extends java.lang.Object
    A graph pattern consisting of (required and optional) tuple expressions, binding assignments and boolean constraints.
    • Field Detail

      • contextVar

        private Var contextVar
        The context of this graph pattern.
      • requiredTEs

        private final java.util.List<TupleExpr> requiredTEs
        The required tuple expressions in this graph pattern.
      • optionalTEs

        private final java.util.List<java.util.Map.Entry<TupleExpr,​java.util.List<ValueExpr>>> optionalTEs
        The optional tuple expressions in this graph pattern, as a list of Key-Value pairs with the tuple expression as the key and a list of constraints applicable to the tuple expression as the value.
      • constraints

        private java.util.List<ValueExpr> constraints
        The boolean constraints in this graph pattern.
    • Constructor Detail

      • GraphPattern

        public GraphPattern()
        Creates a new graph pattern.
      • GraphPattern

        public GraphPattern​(GraphPattern parent)
        Creates a new graph pattern that inherits the context and scope from a parent graph pattern.
    • Method Detail

      • setContextVar

        public void setContextVar​(Var contextVar)
      • getContextVar

        public Var getContextVar()
      • addRequiredTE

        public void addRequiredTE​(TupleExpr te)
      • clearRequiredTEs

        void clearRequiredTEs()
        Remove all values for required tuple expressions in this GraphPattern
      • addRequiredSP

        public void addRequiredSP​(Var subjVar,
                                  Var predVar,
                                  Var objVar)
      • getRequiredTEs

        public java.util.List<TupleExpr> getRequiredTEs()
      • addOptionalTE

        public void addOptionalTE​(TupleExpr te,
                                  java.util.List<ValueExpr> constraints)
        add the supplied tuple expression as an optional expression, with a list of constraints that hold as conditions.
        Parameters:
        te - a tuple expression
        constraints - a list of constraints that form a condition for the LeftJoin to be formed from the optional TE.
      • getOptionalTEs

        public java.util.List<java.util.Map.Entry<TupleExpr,​java.util.List<ValueExpr>>> getOptionalTEs()
        Retrieves the optional tuple expressions as a list of tuples with the tuple expression as the key and the list of value expressions as the value.
        Returns:
        a list of Map entries.
      • addConstraint

        public void addConstraint​(ValueExpr constraint)
      • addConstraints

        public void addConstraints​(java.util.Collection<ValueExpr> constraints)
      • getConstraints

        public java.util.List<ValueExpr> getConstraints()
      • removeAllConstraints

        public java.util.List<ValueExpr> removeAllConstraints()
      • clear

        public void clear()
        Removes all tuple expressions and constraints.
      • buildTupleExpr

        public TupleExpr buildTupleExpr()
        Builds a combined tuple expression from the tuple expressions and constraints in this graph pattern.
        Returns:
        A tuple expression for this graph pattern.
      • buildOptionalTE

        public TupleExpr buildOptionalTE​(TupleExpr result)
        Build optionals to the supplied TE
      • buildJoinFromRequiredTEs

        TupleExpr buildJoinFromRequiredTEs()
        Build a single tuple expression representing _only_ the basic graph pattern, by joining the required TEs