com.bigdata.relation.rule
Interface ISolutionExpander<E>

All Superinterfaces:
Serializable
All Known Implementing Classes:
DefaultGraphSolutionExpander, DefaultSolutionExpander, FreeTextSearchExpander, NamedGraphSolutionExpander

public interface ISolutionExpander<E>
extends Serializable

An interface for expander patterns for an IPredicate when it appears in the right-hand position of a JOIN.

Version:
$Id: ISolutionExpander.java 2265 2009-10-26 12:51:06Z thompsonbry $
Author:
Bryan Thompson
TODO:
Rename as IAccessPathExpander since that is what it does and rename the IPredicate.getSolutionExpander() method as well.

Method Summary
 boolean backchain()
          Add the backchainer on top of the expander.
 IAccessPath<E> getAccessPath(IAccessPath<E> accessPath)
          Return the IAccessPath that will be used to evaluate the IPredicate.
 boolean runFirst()
          If true, the predicate for this expander will be given priority in the join order.
 

Method Detail

getAccessPath

IAccessPath<E> getAccessPath(IAccessPath<E> accessPath)
Return the IAccessPath that will be used to evaluate the IPredicate.

Parameters:
accessPath - The IAccessPath that will be used by default.
Returns:
The IAccessPath that will be used. You can return the given accessPath or you can layer additional semantics onto or otherwise override the given IAccessPath.

backchain

boolean backchain()
Add the backchainer on top of the expander.

Returns:
true if the backchainer should run

runFirst

boolean runFirst()
If true, the predicate for this expander will be given priority in the join order.

Returns:
true if the predicate should be run first


Copyright © 2006-2009 SYSTAP, LLC. All Rights Reserved.