public interface IGASOptions<VS,ES,ST>
IGASEngine
and which
may be declared by the IGASProgram
.Modifier and Type | Method and Description |
---|---|
Factory<org.openrdf.model.Statement,ES> |
getEdgeStateFactory()
Return a factory for edge state objects -or-
null if the
IGASProgram does not use edge state (in which case the edge state
will not be allocated or maintained). |
EdgesEnum |
getGatherEdges()
Return the set of edges to which the GATHER is applied for a
directed graph -or-
EdgesEnum.NoEdges to skip the GATHER
phase. |
FrontierEnum |
getInitialFrontierEnum()
Return the nature of the initial frontier for this algorithm.
|
EdgesEnum |
getSampleEdgesFilter()
Return the type of edges that must exist when sampling the vertices of
the graph.
|
EdgesEnum |
getScatterEdges()
Return the set of edges to which the SCATTER is applied for a
directed graph -or-
EdgesEnum.NoEdges to skip the
SCATTER phase. |
Factory<org.openrdf.model.Value,VS> |
getVertexStateFactory()
Return a factory for vertex state objects.
|
FrontierEnum getInitialFrontierEnum()
EdgesEnum getSampleEdgesFilter()
EdgesEnum.InEdges
is specified, then each sampled
vertex will have at least one in-edge. If EdgesEnum.OutEdges
is
specified, then each sampled vertex will have at least one out-edge. To
sample all vertices regardless of their edges, specify
. To require that each vertex has at least one
in-edge and one out-edge, specify EdgesEnum.AllEdges
.
FIXME This should be moved into GASRunnerBase
. The only class
that customizes this is CC
. (For CC
we need to put all
vertices into the frontier, even those without edges.)EdgesEnum getGatherEdges()
EdgesEnum.NoEdges
to skip the GATHER
phase. This will be interpreted based on the value reported by
IGASContext#isDirectedTraversal()
.
TODO We may need to set dynamically when visting the vertex in the
frontier rather than having it be a one-time property of the vertex
program.EdgesEnum getScatterEdges()
EdgesEnum.NoEdges
to skip the
SCATTER phase. This will be interpreted based on the value reported by
IGASContext#isDirectedTraversal()
.Factory<org.openrdf.model.Value,VS> getVertexStateFactory()
Note: A null
value may not be allowed in the visited vertex
map, so if the algorithm does not use vertex state, then the factory
should return a singleton instance each time it is invoked.
Factory<org.openrdf.model.Statement,ES> getEdgeStateFactory()
null
if the
IGASProgram
does not use edge state (in which case the edge state
will not be allocated or maintained).Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.