VS
- The generic type for the per-vertex state. This is scoped to the
computation of the IGASProgram
.ES
- The generic type for the per-edge state. This is scoped to the
computation of the IGASProgram
.ST
- The generic type for the SUM. This is often directly related to
the generic type for the per-edge state, but that is not always
true. The SUM type is scoped to the GATHER + SUM operation (NOT
the computation).public abstract class GASRunnerBase<VS,ES,ST> extends Object implements Callable<IGASStats>
Modifier and Type | Class and Description |
---|---|
protected class |
GASRunnerBase.OptionData
Configured options for the
GASRunner . |
Constructor and Description |
---|
GASRunnerBase(String[] args)
Run a GAS analytic against some data set.
|
Modifier and Type | Method and Description |
---|---|
IGASStats |
call()
Run the test.
|
protected GASRunnerBase.OptionData |
getOptionData()
The
GASRunnerBase.OptionData for the run. |
protected abstract void |
loadFiles()
Load files into the backend if they can not be assumed to already exist
(a typical pattern is that files are loaded into an empty KB instance,
but not loaded into a pre-existing one).
|
protected abstract IGASEngine |
newGASEngine()
Factory for the
IGASEngine . |
protected IGASProgram<VS,ES,ST> |
newGASProgram()
Return an instance of the
IGASProgram to be evaluated. |
protected abstract IGraphAccessor |
newGraphAccessor()
Return the object used to access the as-configured graph.
|
protected abstract GASRunnerBase.OptionData |
newOptionData()
Factory for the
GASRunnerBase.OptionData . |
protected IGASStats |
runAnalytic()
Run the analytic.
|
public GASRunnerBase(String[] args) throws ClassNotFoundException
args
- USAGE:(options) analyticClass propertyFile
Where:
nruns * nsamples
. For algorithms that are
initialize with either all vertices, there will be a total of
nruns runs. (default )IGASProgram
. For algorithm will be run ONCE for EACH
sampled vertex. This parameter is ignored for algorithms that
initialize the frontier with all vertices (PR, CC, etc).
(default )IGASScheduler
. Class must
implement IGASSchedulerImpl
.ClassNotFoundException
protected abstract GASRunnerBase.OptionData newOptionData()
GASRunnerBase.OptionData
.protected GASRunnerBase.OptionData getOptionData()
GASRunnerBase.OptionData
for the run.protected abstract IGASEngine newGASEngine()
IGASEngine
.protected abstract void loadFiles() throws Exception
Exception
protected abstract IGraphAccessor newGraphAccessor()
protected IGASProgram<VS,ES,ST> newGASProgram()
IGASProgram
to be evaluated.public final IGASStats call() throws Exception
This provides a safe pattern for either loading data into a temporary journal, which is then destroyed, or using an exiting journal and optionally loading in some data set. When we load the data the journal is destroyed afterwards and when the journal is pre-existing and we neither load the data nor destroy the journal. This has to do with the effective BufferMode (if transient) and whether the file is specified and whether a temporary file is created (CREATE_TEMP_FILE). If we do our own file create if the effective buffer mode is non-transient, then we can get all this information.
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.