org.aksw.sparql.query.algebra.helpers

## Class BasicGraphPatternExtractor

- java.lang.Object
- - org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>
  - - org.aksw.sparql.query.algebra.helpers.BasicGraphPatternExtractor

- All Implemented Interfaces:
    org.openrdf.query.algebra.QueryModelVisitor<java.lang.RuntimeException>

      public class BasicGraphPatternExtractor
      extends org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>

  Extracts all Basic Graph Patterns from a query model. TODO: this is far too complicated - better traverse the tree depth first and recursively check if the last visited child is a valid BGP.
  Author:
    Olaf Goerlitz

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `meet(org.openrdf.query.algebra.Filter filter)`
    `void` | `meet(org.openrdf.query.algebra.Join join)`
    `void` | `meet(org.openrdf.query.algebra.StatementPattern node)` Handles statement patterns which are always a valid BGP node.
    `void` | `meetBinaryTupleOperator(org.openrdf.query.algebra.BinaryTupleOperator node)` Handles binary nodes with potential BGPs as children (e.g.
    `void` | `meetUnaryTupleOperator(org.openrdf.query.algebra.UnaryTupleOperator node)` Handles unary nodes with a potential BGP as child (e.g.
    `static java.util.List<org.openrdf.query.algebra.TupleExpr>` | `process(org.openrdf.query.algebra.QueryModelNode node)`

    - ### Methods inherited from class org.openrdf.query.algebra.helpers.QueryModelVisitorBase

      `meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meet, meetBinaryValueOperator, meetCompareSubQueryValueOperator, meetNAryValueOperator, meetNode, meetOther, meetSubQueryValueOperator, meetUnaryValueOperator, meetUpdateExpr`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### process

          public static java.util.List<org.openrdf.query.algebra.TupleExpr> process(org.openrdf.query.algebra.QueryModelNode node)

    - #### meetBinaryTupleOperator

          public void meetBinaryTupleOperator(org.openrdf.query.algebra.BinaryTupleOperator node)
                                       throws java.lang.RuntimeException

      Handles binary nodes with potential BGPs as children (e.g. union, left join).
      Overrides:
        `meetBinaryTupleOperator` in class `org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>`
      Throws:
        `java.lang.RuntimeException`

    - #### meetUnaryTupleOperator

          public void meetUnaryTupleOperator(org.openrdf.query.algebra.UnaryTupleOperator node)
                                      throws java.lang.RuntimeException

      Handles unary nodes with a potential BGP as child (e.g. projection).
      Overrides:
        `meetUnaryTupleOperator` in class `org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>`
      Throws:
        `java.lang.RuntimeException`

    - #### meet

          public void meet(org.openrdf.query.algebra.StatementPattern node)
                    throws java.lang.RuntimeException

      Handles statement patterns which are always a valid BGP node.
      Specified by:
        `meet` in interface `org.openrdf.query.algebra.QueryModelVisitor<java.lang.RuntimeException>`
      Overrides:
        `meet` in class `org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>`
      Throws:
        `java.lang.RuntimeException`

    - #### meet

          public void meet(org.openrdf.query.algebra.Filter filter)
                    throws java.lang.RuntimeException

      Specified by:
        `meet` in interface `org.openrdf.query.algebra.QueryModelVisitor<java.lang.RuntimeException>`
      Overrides:
        `meet` in class `org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>`
      Throws:
        `java.lang.RuntimeException`

    - #### meet

          public void meet(org.openrdf.query.algebra.Join join)
                    throws java.lang.RuntimeException

      Specified by:
        `meet` in interface `org.openrdf.query.algebra.QueryModelVisitor<java.lang.RuntimeException>`
      Overrides:
        `meet` in class `org.openrdf.query.algebra.helpers.QueryModelVisitorBase<java.lang.RuntimeException>`
      Throws:
        `java.lang.RuntimeException`