com.bigdata.relation.rule.eval
Class DefaultRuleTaskFactory

java.lang.Object
  extended by com.bigdata.relation.rule.eval.DefaultRuleTaskFactory
All Implemented Interfaces:
IRuleTaskFactory, Externalizable, Serializable

public class DefaultRuleTaskFactory
extends Object
implements IRuleTaskFactory, Externalizable

Default factory for tasks to execute IRules.

Version:
$Id: DefaultRuleTaskFactory.java 3730 2010-10-05 19:57:25Z thompsonbry $
Author:
Bryan Thompson
See Also:
Serialized Form

Field Summary
protected static org.apache.log4j.Logger log
           
static IRuleTaskFactory PIPELINE
          Pipeline join strategy.
 
Constructor Summary
DefaultRuleTaskFactory()
          De-serialization ctor.
DefaultRuleTaskFactory(boolean subquery)
           
 
Method Summary
 IStepTask newTask(IRule rule, IJoinNexus joinNexus, IBuffer<ISolution[]> buffer)
          The object will be used to evaluate the rule for the IRule.
 void readExternal(ObjectInput in)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static final org.apache.log4j.Logger log

PIPELINE

public static final transient IRuleTaskFactory PIPELINE
Pipeline join strategy.

Note: This join strategy was designed for scale-out evaluation but does better for local deployments as well. It starts a JoinTask per index partition on which the join must read while evaluating the rule. This gives it access to the local index objects for each index partition of interest. Intermediate IBindingSets are streamed in chunks to the downstream JoinTask(s). Therefore, all index operations are local and only the intermediate IBindingSets and the final ISolutions are moved using RMI.

See Also:
JoinMasterTask, LocalJoinMasterTask, DistributedJoinMasterTask
Constructor Detail

DefaultRuleTaskFactory

public DefaultRuleTaskFactory()
De-serialization ctor.


DefaultRuleTaskFactory

public DefaultRuleTaskFactory(boolean subquery)
Method Detail

newTask

public IStepTask newTask(IRule rule,
                         IJoinNexus joinNexus,
                         IBuffer<ISolution[]> buffer)
Description copied from interface: IRuleTaskFactory
The object will be used to evaluate the rule for the IRule.

Specified by:
newTask in interface IRuleTaskFactory
Parameters:
rule - The rule (MAY have been specialized since it was declared).
joinNexus - Encapsulates various important information required for join operations.
buffer - The buffer onto which chunks of computed ISolutions for the IRule must be written.
Returns:
null unless custom evaluation is desired.

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException


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