public class OraclePropertyGraph extends OraclePropertyGraphBase implements MesgConsts
Modifier and Type | Class and Description |
---|---|
static class |
OraclePropertyGraph.QueueAction |
OraclePropertyGraphBase.OptimizationFlag
TransactionalGraph.Conclusion
Modifier and Type | Field and Description |
---|---|
static int |
CONST_CLASS_EDGE |
static int |
CONST_CLASS_VERTEX |
static String |
CONST_DVID |
static String |
CONST_EID |
static String |
CONST_EL |
static String |
CONST_GE |
static String |
CONST_IDX_EI |
static String |
CONST_IDX_KVS |
static String |
CONST_IDX_XD |
static String |
CONST_IDX_XS |
static String |
CONST_IT |
static String |
CONST_IT_K |
static String |
CONST_KVS |
static Integer |
CONST_MAX_TBLNAME_LENG |
static int |
CONST_OP_MAX |
static int |
CONST_OP_MIN |
static String |
CONST_SVID |
static String |
CONST_VID |
static String |
CONST_VT |
static String |
CONST_XD |
static String |
CONST_XS |
static byte[] |
ms_baEmpty |
TYPE_DT_BOOL, TYPE_DT_DATE, TYPE_DT_DOUBLE, TYPE_DT_EMPTY, TYPE_DT_FLOAT, TYPE_DT_INTEGER, TYPE_DT_SERI, TYPE_DT_STRING
ERR_ARG_CANNOT_BE_NULL, ERR_CODE_NOT_IN_LIST, ERR_DOP_CONSTRAINT, ERR_E_DS_MUSTBE_FILE_OR_IS, ERR_E_MAX_LINE_CONSTRAINT, ERR_EDGE_DIR_NOT_BOTH, ERR_GRAPH_NAME_CANT_BENULL, ERR_HIT_EXCEPTION, ERR_HIT_INTERRUPT, ERR_HIT_IO, ERR_HIT_OPGE, ERR_HIT_PARSEE, ERR_ID_CANNOT_BE_NULL, ERR_IDX_KEY_CANNOT_BE_NULL, ERR_IN_DS_EDGE_CANTBE_NULL, ERR_IN_DS_VERT_CANTBE_NULL, ERR_IN_E_FLAT_DOESNT_EXIST, ERR_IN_V_FLAT_DOESNT_EXIST, ERR_INVALID_NUM_FIELDS, ERR_INVALID_NUM_NOARG, ERR_INVALID_NUMBER, ERR_INVALID_VAL, ERR_KEY_CANNOT_BE_ID, ERR_KEY_CANNOT_BE_NULL, ERR_KEY_NOT_SET_TO, ERR_NO_ELEM_TO_BE_CONSUMED, ERR_NO_OP_SUPPORTED, ERR_NOT_IMPLEMENTED_YET, ERR_NOT_ORACLE_V_E, ERR_NUM_PART_CONSTRAINT, ERR_OFFSET_CONSTRAINT, ERR_OFFSET_E_MUST_BE_POS, ERR_OFFSET_V_MUST_BE_POS, ERR_PG_ALREADY_EXISTS, ERR_PG_NOT_EMPTY, ERR_SIZE_MUST_BE_POS, ERR_TIMEOUT_TAB_CREATION, ERR_TYPE_ID_NOT_RECO, ERR_UNSUPPORTED_VAL_TYP, ERR_USER_REQ_OP_CANCEL, ERR_V_DS_MUSTBE_FILE_OR_IS, ERR_V_MAX_LINE_CONSTRAINT, ERR_VALUE_CANNOT_BE_NULL, INFO_EMP_K_NO_P_VAL, INFO_NUL_K_NO_P_VAL
Modifier and Type | Method and Description |
---|---|
void |
addAttributeToAllEdges(EdgeOpCallback eoc)
Adds an attribute to all edges based on the specified EdgeOpCallback.
|
void |
addAttributeToAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop)
Adds an attribute to all edges based on the specified EdgeOpCallback.
|
void |
addAttributeToAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop, ProgressListener pl)
Adds an attribute to all edges based on the specified EdgeOpCallback.
|
void |
addAttributeToAllVertices(VertexOpCallback voc)
Adds an attribute to all vertices based on the specified VertexOpCallback.
|
void |
addAttributeToAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop)
Adds an attribute to all vertices based on the specified VertexOpCallback.
|
void |
addAttributeToAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop, ProgressListener pl)
Adds an attribute to all vertices based on the specified VertexOpCallback.
|
Edge |
addEdge(Object id, Vertex outVertex, Vertex inVertex, String label)
This method adds an edge to the graph instance.
|
Vertex |
addVertex(Object id)
This method adds a vertex to the graph instance.
|
void |
clearCache()
Clear the vertex cache and edge cache
|
void |
clearRepository()
This method removes all vertices and edges from this property graph instance.
|
void |
closeKVStore()
This method closes the underlying KVStore instance
|
void |
commit()
Commit the changes to the database.
|
long |
countEdges()
Counts all Edges
|
long |
countEdges(int dop)
Counts all Edges using parallel scan with dop threads
|
long |
countEdges(int dop, ProgressListener pl)
Counts all Edges using parallel scan with dop threads
|
long |
countEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
Counts Edges using parallel scan
|
long |
countVertices()
Counts all vertices
|
long |
countVertices(int dop)
Counts all vertices using parallel scan with dop threads
|
long |
countVertices(int dop, ProgressListener pl)
Counts all vertices using parallel scan with dop threads
|
long |
countVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
Counts Vertices using parallel scan
|
void |
createGraphTables()
This method creates the vertex, edge, and index metadata tables for a property graph
|
<T extends Element> |
createIndex(String indexName, Class<T> indexClass, Parameter... indexParameters)
Generates an index with a particular name, for a particular class, and of a particular type.
|
void |
createIndexTable()
This method creates the index metadata tables for a property graph
|
<T extends Element> |
createKeyIndex(String[] keys, Class<T> elementClass)
Creates an automatic index for the given keys and element class.
|
<T extends Element> |
createKeyIndex(String key, Class<T> elementClass, Parameter... parameters)
Creates an automatic indexing structure for indexing provided key for element class.
|
void |
dropAllAutoIndices()
Drops all existing automatic indices
|
void |
dropAllIndices()
Drops all existing indices
|
void |
dropAllManualIndices()
Drops all existing manual indices
|
void |
dropIndex(String indexName)
Removes an index associated with the graph.
|
<T extends Element> |
dropKeyIndex(String key, Class<T> elementClass)
Removes an automatic indexing structure associated with indexing provided key for element class.
|
<T extends Element> |
getAutoIndex(Class<T> indexClass)
Gets an index from the graph by its name and index class.
|
int |
getClearTableDOP()
Returns the number of workers used when removing all data from a table
|
int |
getClearTablePKBufferSize()
Returns the size of the primary key buffer used when removing all data from a table
|
int |
getClearTableThreadsPerWorker()
Returns the number of threads per clear table worker used when removing all rows from a table
|
OraclePropertyGraphBase.OptimizationFlag |
getDefaultEdgeOptFlag()
Get the edge optimization flag associated to this property graph
|
OracleIndexParameters |
getDefaultIndexParameters()
Get the default index parameters associated to this property graph.
|
OraclePropertyGraphBase.OptimizationFlag |
getDefaultVertexOptFlag()
Get the vertex optimization flag associated to this property graph
|
OracleEdge |
getEdge(Object id)
Get the edge referenced by the object identifier
|
EdgeFilterCallback |
getEdgeFilterCallback()
Get the EdgeFilterCallback associated to this property graph
|
OracleEdgeBase |
getEdgeInstance(Long eid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)
Returns an instance of OracleEdgeBase.
|
OracleEdgeBase |
getEdgeInstance(OracleVertexBase outVertex, OracleVertexBase inVertex, String edgeLabel, Long eid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)
Returns an instance of OracleEdgeBase.
|
int |
getEdgePropertyNames(int dop, int timeout, Set<String> propertyNames)
Gets the property names of all edges using parallel scan with dop threads.
|
int |
getEdgePropertyNames(int dop, int timeout, Set<String> propertyNames, ProgressListener pl)
Gets the property names of all edges using parallel scan with dop threads.
|
void |
getEdgePropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray, Set<String> propertyNames, long lStartTime, long lDeadline, int iStartSplitID, ProgressListener pl)
Gets the property names of all edges using parallel scan with dop threads.
|
Iterable<Edge> |
getEdges()
Return an iterable to all the edges in the graph.
|
Iterable<Edge> |
getEdges(String key)
Return an iterable to all the edges in the graph that have a particular key.
|
Iterable<Edge> |
getEdges(String[] keys)
Return an iterable to all the edges in the graph that have at least one of the keys.
|
Iterable<Edge> |
getEdges(String[] keys, EdgeFilterCallback efc)
Return an iterable to all the edges in the graph that have at least one of the keys.
|
Iterable<Edge> |
getEdges(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an iterable to all the edges in the graph that have at least one of the keys.
|
Iterable<Edge> |
getEdges(String key, Object value)
Return an iterable of edges in the graph that have a particular key/value.
|
Iterable<Edge> |
getEdges(String key, Object value, boolean useWildCard)
Return an iterable of edges in the graph that have a particular key/value
|
Iterable<Edge> |
getEdges(String key, Object value, boolean acceptWildcard, boolean preferredLuceneQuery)
Return an iterable of edges in the graph that have a particular key/value
|
Iterable<Edge> |
getEdges(String key, Object value, Class dtClass, boolean acceptWildcard)
Return an iterable of edges in the graph that have a particular key/value
|
Iterable<Edge> |
getEdges(String key, Object value, Class dtClass, boolean acceptWildcard, boolean preferredLuceneQuery)
Return an iterable of edges in the graph that have a particular key/value
|
Iterable<Edge>[] |
getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID)
Return an array of iterables to the edges
|
Iterable<Edge>[] |
getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String key)
Return an array of iterables to the edges that have the particular key
|
Iterable<Edge>[] |
getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys)
Return an array of iterables to the edges that have at least one of the keys
|
Iterable<Edge>[] |
getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, EdgeFilterCallback efc)
Return an array of iterables to the edges that have at least one of the keys
|
Iterable<Edge>[] |
getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an array of iterables to the edges that have at least one of the keys
|
Iterable<Edge>[] |
getEdgesWithCustomizedParallelTableScan(String[] keys)
Returns an array of iterables to the edges that have at least one of the keys using parallel scan.
|
Iterable<Edge>[] |
getEdgesWithCustomizedParallelTableScan(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an iterable of edges in the graph that have at least one of the keys
|
Iterable<Edge> |
getEdgesWithDefaultParallelTableScan(String[] keys)
Return an iterable to all the edges in the graph that have at least one of the keys
|
Iterable<Edge> |
getEdgesWithDefaultParallelTableScan(String[] keys, EdgeFilterCallback efc)
Return an iterable to all the edges in the graph that have at least one of the keys
|
Iterable<Edge> |
getEdgesWithDefaultParallelTableScan(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an iterable to all the edges in the graph that have at least one of the keys
|
int |
getEdgeTableSplits()
Get the number of splits used for parallel scan of edge table
|
String |
getEdgeTabName()
Get the name of the Oracle NoSQL Database table used to store edges in this property graph.
|
Features |
getFeatures()
Get the particular features of the graph implementation.
|
String |
getGraphName()
This method returns the name of this property graph instance
|
<T extends Element> |
getIndex(String indexName, Class<T> indexClass)
Gets a manual index from the graph by its name and index class.
|
<T extends Element> |
getIndexedKeys(Class<T> elementClass)
Returns all the index keys associated with a particular element class.
|
Iterable<Index<? extends Element>> |
getIndices()
Gets all the indices maintained by the graph.
|
static OraclePropertyGraph |
getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName)
Get an instance of OraclePropertyGraph
|
static OraclePropertyGraph |
getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, oracle.kv.LoginCredentials lc)
Get an instance of OraclePropertyGraph
|
static OraclePropertyGraph |
getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password)
Get an instance of OraclePropertyGraph
|
static OraclePropertyGraph |
getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password, Properties secProperties)
Get an instance of OraclePropertyGraph
|
static OraclePropertyGraph |
getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password, String trustStoreFile)
Get an instance of OraclePropertyGraph
|
static OraclePropertyGraph |
getInstance(oracle.pgx.config.PgNosqlGraphConfig config)
Get an instance of OraclePropertyGraph
|
static OraclePropertyGraph |
getInstance(String storeName, String host, int port, String szGraphName)
Get an instance of OraclePropertyGraph
|
oracle.kv.KVStoreConfig |
getKVStoreConfig()
Get the
KVStoreConfig object associated with the backend database |
static oracle.kv.KVStoreConfig |
getKVStoreConfig(oracle.pgx.config.PgNosqlGraphConfig config)
Gets an KVStoreConfig from a PGX PgNosqlGraphConfig object
|
long |
getMaxEdgeID()
Get the maximal edge ID
|
long |
getMaxEdgeID(int dop)
Get the maximal edge ID using parallel scan with dop threads
|
long |
getMaxEdgeID(int dop, ProgressListener pl)
Get the maximal edge ID using parallel scan with dop threads
|
long |
getMaxEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
Get the maximal edge ID using parallel scan and the specified DOP.
|
long |
getMaxVertexID()
Get the maximal vertex ID
|
long |
getMaxVertexID(int dop)
Get the maximal vertex ID using parallel scan with dop threads
|
long |
getMaxVertexID(int dop, ProgressListener pl)
Get the maximal vertex ID using parallel scan with dop threads
|
long |
getMaxVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
Get the maximal vertex ID using parallel scan and the specified DOP.
|
long |
getMinEdgeID()
Get the minimal edge ID
|
long |
getMinEdgeID(int dop)
Get the minimal edge ID using parallel scan with dop threads
|
long |
getMinEdgeID(int dop, ProgressListener pl)
Get the minimal edge ID using parallel scan with dop threads
|
long |
getMinEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
Get the minimal edge ID using parallel scan and the specified DOP.
|
long |
getMinVertexID()
Get the minimal vertex ID
|
long |
getMinVertexID(int dop)
Get the minimal vertex ID using parallel scan with dop threads
|
long |
getMinVertexID(int dop, ProgressListener pl)
Get the minimal vertex ID using parallel scan with dop threads
|
long |
getMinVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
Get the minimal vertex ID using parallel scan and the specified DOP.
|
long |
getOperationQueueSize()
Get the size of the operation queue
|
OracleIndexManager |
getOracleIndexManager()
Gets the Oracle PropertyGraphIndex Manager associated to this property graph instance.
|
ProgressListener |
getProgressListener()
Gets the ProgressListener associated to this property graph.
|
int |
getQueueSize()
Gets the OracleElement queue size.
|
oracle.kv.table.TableIteratorOptions |
getTableIteratorOptions()
Gets the TableIteratorOptions object associated to this property graph
|
OracleVertex |
getVertex(Object id)
Return the vertex referenced by the object identifier.
|
VertexFilterCallback |
getVertexFilterCallback()
Get the VertexFilterCallback associated to this property graph
|
OracleVertexBase |
getVertexInstance(Long vid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)
Returns an instance of OracleVertexBase.
|
int |
getVertexPropertyNames(int dop, int timeout, Set<String> propertyNames)
Gets the property names of all vertices using parallel scan with dop threads.
|
int |
getVertexPropertyNames(int dop, int timeout, Set<String> propertyNames, ProgressListener pl)
Gets the property names of all vertices using parallel scan with dop threads.
|
void |
getVertexPropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray, Set<String> propertyNames, long lStartTime, long lDeadline, int iStartSplitID, ProgressListener pl)
Gets the property names of all vertices using parallel scan with dop threads.
|
int |
getVertexTableSplits()
Get the number of splits used for parallel scan of vertex table
|
String |
getVertexTabName() |
Iterable<Vertex> |
getVertices()
Return an iterable of all vertices in the graph
|
Iterable<Vertex> |
getVertices(String key)
Return an iterable to all the vertices that have the specified key.
|
Iterable<Vertex> |
getVertices(String[] keys)
Return an iterable to all the vertices in the graph that have any of the specified keys.
|
Iterable<Vertex> |
getVertices(String[] keys, VertexFilterCallback vfc)
Return an iterable to all the vertices in the graph that have any of the specified keys and satisfy the specifed vertex filter callback.
|
Iterable<Vertex> |
getVertices(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an iterable to all the vertices in the graph that have any of the specified keys and satisfy the specifed vertex filter callback.
|
Iterable<Vertex> |
getVertices(String key, Object value)
Return an iterable to all matching vertices that have a particular key/value property.
|
Iterable<Vertex> |
getVertices(String key, Object value, boolean useWildCards)
Return an iterable to all matching vertices that have a particular key/value property.
|
Iterable<Vertex> |
getVertices(String key, Object value, boolean acceptWildcard, boolean preferredLuceneQuery)
Return an iterable to all matching vertices that have a particular key/value property.
|
Iterable<Vertex> |
getVertices(String key, Object value, Class dtClass, boolean acceptWildcard)
Return an iterable to all matching vertices that have a particular key/value property.
|
Iterable<Vertex> |
getVertices(String key, Object value, Class dtClass, boolean acceptWildcard, boolean preferredLuceneQuery)
Return an iterable to all matching vertices that have a particular key/value property.
|
Iterable<Vertex>[] |
getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID)
Gets an array of
Iterable objects that hold all the vertices in the graph. |
Iterable<Vertex>[] |
getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String key)
Return an array of iterables to the vertices that have the key
|
Iterable<Vertex>[] |
getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys)
Return an array of iterables to the vertices that have at least one of the keys
|
Iterable<Vertex>[] |
getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, VertexFilterCallback vfc)
Return an array of iterables to the vertices that have at least one of the keys
|
Iterable<Vertex>[] |
getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an array of iterables to the vertices that have at least one of the keys
|
Iterable<Vertex>[] |
getVerticesWithCustomizedParallelTableScan(String[] keys)
Return an array of iterables to the vertices in the graph that have at least one of the given keys
|
Iterable<Vertex>[] |
getVerticesWithCustomizedParallelTableScan(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an array of iterables to the vertices in the graph that have at least one of the given keys
|
Iterable<Vertex> |
getVerticesWithDefaultParallelTableScan(String[] keys)
Return an iterable of vertices in the graph that have at least one of the given keys
|
Iterable<Vertex> |
getVerticesWithDefaultParallelTableScan(String[] keys, VertexFilterCallback vfc)
Return an iterable of vertices in the graph that have at least one of the given keys
|
Iterable<Vertex> |
getVerticesWithDefaultParallelTableScan(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
Return an iterable of vertices in the graph that have at least one of the given keys
|
boolean |
isEdgeAutoIndexEnabled(String key)
Validate if the edge auto index is currently enabled
|
boolean |
isVertexAutoIndexEnabled(String key)
Validates if the vertex auto index is currently enabled
|
GraphQuery |
query()
Generate a query object that can be used to fine tune which edges/vertices are retrieved from the graph
|
OracleEdge |
readEdgeFromDB(Long lEID)
This method reads an edge from the database using the give edge ID.
|
void |
removeAttributeFromAllEdges(EdgeOpCallback eoc)
Removes an attribute from all edges based on the specified EdgeOpCallback.
|
void |
removeAttributeFromAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop)
Removes an attribute from all edges based on the specified EdgeOpCallback.
|
void |
removeAttributeFromAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop, ProgressListener pl)
Removes an attribute from all edges based on the specified EdgeOpCallback.
|
void |
removeAttributeFromAllVertices(VertexOpCallback voc)
Removes an attribute from all vertices based on the specified VertexOpCallback.
|
void |
removeAttributeFromAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop)
Removes an attribute from all vertices based on the specified VertexOpCallback.
|
void |
removeAttributeFromAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop, ProgressListener pl)
Removes an attribute from all vertices based on the specified VertexOpCallback.
|
void |
removeEdge(Edge edge)
Remove the provided edge from the graph
|
void |
removeVertex(Vertex vertex)
Remove the provided vertex from the graph
|
void |
rollback()
Rollbacks the operations done to this property graph instance
|
static String |
serializableToStr(Serializable seri)
Convert from a Java Serializable object to a String encoding.
|
void |
setBatchSize(int i)
Set the size of the batch used for update operations.
|
void |
setClearTableDOP(int dop)
Sets the number of workers to be used when removing all rows from a table
|
void |
setClearTablePKBufferSize(int size)
Set the size of the primary key buffer used when removing all rows from a table
|
void |
setClearTableThreadsPerWorker(int threads)
Sets the number of threads per clear table worker to be used when removing all rows from a table
|
void |
setCustomizedParallelScanDOP(int iDOP)
Set the dop used for parallel scan
|
void |
setDefaultEdgeOptFlag(OraclePropertyGraphBase.OptimizationFlag eof)
Set the default edge optimization flag associated to this property graph
|
void |
setDefaultIndexParameters(OracleIndexParameters indexParams)
Set the default index parameters associated to this property graph.
|
void |
setDefaultVertexOptFlag(OraclePropertyGraphBase.OptimizationFlag vof)
Set the default vertex optimization flag associated to this property graph
|
void |
setEdgeFilterCallback(EdgeFilterCallback efc)
Set the default EdgeFilterCallback associated to this property graph
|
void |
setProgressListener(ProgressListener pl)
Sets the ProgressListener associated to this property graph.
|
void |
setQueueSize(int size)
Sets the OracleElement queue size.
|
void |
setTableIteratorOptions(oracle.kv.table.TableIteratorOptions tio)
Sets the TableIteratorOptions object associated to this property graph
|
void |
setVertexFilterCallback(VertexFilterCallback vfc)
Set the default VertexFilterCallback associated to this property graph
|
void |
shutdown()
A shutdown function is required to properly close the graph.
|
void |
startTransaction()
Start a transaction.
|
void |
stopTransaction(TransactionalGraph.Conclusion conclusion)
Stop the current transaction.
|
static Object |
strToSerializable(String s)
Convert from a String encoding to a Serializable object
|
String |
toString()
Returns a very succinct String representation of this Graph instance
|
getConfig, getShortestPath, getShortestPath, getVertexPropertyNames, getVertexPropertyNames, sum
public static final int CONST_CLASS_EDGE
public static final int CONST_CLASS_VERTEX
public static final String CONST_DVID
public static final String CONST_EID
public static final String CONST_EL
public static final String CONST_GE
public static final String CONST_IDX_EI
public static final String CONST_IDX_KVS
public static final String CONST_IDX_XD
public static final String CONST_IDX_XS
public static final String CONST_IT
public static final String CONST_IT_K
public static final String CONST_KVS
public static final Integer CONST_MAX_TBLNAME_LENG
public static final int CONST_OP_MAX
public static final int CONST_OP_MIN
public static final String CONST_SVID
public static final String CONST_VID
public static final String CONST_VT
public static final String CONST_XD
public static final String CONST_XS
public static final byte[] ms_baEmpty
public void addAttributeToAllEdges(EdgeOpCallback eoc)
eoc
- a EdgeOpCallBack object.public void addAttributeToAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop)
eoc
- a EdgeOpCallBack object.skipStoreToCache
- if true, the edges instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the edges.public void addAttributeToAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop, ProgressListener pl)
eoc
- a EdgeOpCallBack object.skipStoreToCache
- if true, the edges instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the edges.pl
- a ProgressListener object.public void addAttributeToAllVertices(VertexOpCallback voc)
voc
- a VertexOpCallBack object.public void addAttributeToAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop)
voc
- a VertexOpCallBack object.skipStoreToCache
- if true, the vertices instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the vertices.public void addAttributeToAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop, ProgressListener pl)
voc
- a VertexOpCallBack object.skipStoreToCache
- if true, the vertices instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the vertices.pl
- a ProgressListener object.public Edge addEdge(Object id, Vertex outVertex, Vertex inVertex, String label)
public Vertex addVertex(Object id)
public void clearCache()
public void clearRepository() throws Exception
clearRepository
in class OraclePropertyGraphBase
Exception
public void closeKVStore()
public void commit()
commit
in interface TransactionalGraph
public long countEdges()
public long countEdges(int dop)
dop
- a positive integer defining the number of threads to use when parallel scanning the edges.public long countEdges(int dop, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the edges.pl
- a ProgressListener object.public long countEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
kvcArray
- connection arrayiStartSplitID
- starting split id, starting from 0pl
- a progress listener objectpublic long countVertices()
public long countVertices(int dop)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.public long countVertices(int dop, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.pl
- a ProgressListener object.public long countVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
kvcArray
- connection arrayiStartSplitID
- starting split id, starting from 0pl
- a progress listener objectpublic void createGraphTables() throws Exception
Exception
public <T extends Element> Index<T> createIndex(String indexName, Class<T> indexClass, Parameter... indexParameters)
createIndex
in interface IndexableGraph
indexName
- the name of the indexindexClass
- the element class that this index is indexing (can be base class)indexParameters
- a collection of parameters for the underlying index implementationpublic void createIndexTable() throws Exception
Exception
public <T extends Element> void createKeyIndex(String[] keys, Class<T> elementClass)
keys
- an array of keys to create the index for.elementClass
- the element class that the index is for.public <T extends Element> void createKeyIndex(String key, Class<T> elementClass, Parameter... parameters)
createKeyIndex
in interface KeyIndexableGraph
key
- the key to create the index for.elementClass
- the element class that the index is for.parameters
- a collection of parameters for the underlying index implementation.public void dropAllAutoIndices()
public void dropAllIndices()
dropAllIndices
in class OraclePropertyGraphBase
public void dropAllManualIndices()
public void dropIndex(String indexName)
dropIndex
in interface IndexableGraph
indexName
- the name of the index to droppublic <T extends Element> void dropKeyIndex(String key, Class<T> elementClass)
dropKeyIndex
in interface KeyIndexableGraph
key
- the key to drop the index for.elementClass
- the element class that the index is for.public <T extends Element> Index<T> getAutoIndex(Class<T> indexClass)
public int getClearTableDOP()
public int getClearTablePKBufferSize()
public int getClearTableThreadsPerWorker()
public OraclePropertyGraphBase.OptimizationFlag getDefaultEdgeOptFlag()
public OracleIndexParameters getDefaultIndexParameters()
getDefaultIndexParameters
in class OraclePropertyGraphBase
OracleIndexParameters
object.public OraclePropertyGraphBase.OptimizationFlag getDefaultVertexOptFlag()
public OracleEdge getEdge(Object id)
getEdge
in interface Graph
OracleEdge
objectpublic EdgeFilterCallback getEdgeFilterCallback()
EdgeFilterCallback
objectpublic OracleEdgeBase getEdgeInstance(Long eid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)
getEdgeInstance
in class OraclePropertyGraphBase
eid
- edge IDbCreateIfAbsentFromCache
- if true, an OracleEdge instance will be created when it is absent from the cachebSkipStoreToCache
- if true, the retrieved element is not saved into the cachepublic OracleEdgeBase getEdgeInstance(OracleVertexBase outVertex, OracleVertexBase inVertex, String edgeLabel, Long eid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)
getEdgeInstance
in class OraclePropertyGraphBase
outVertex
- source vertex of the edgeinVertex
- destination vertex of the edgeedgeLabel
- edge labeleid
- edge IDbCreateIfAbsentFromCache
- if true, an OracleEdge instance will be created when it is absent from the cachebSkipStoreToCache
- if true, the retrieved element is not saved into the cachepublic int getEdgePropertyNames(int dop, int timeout, Set<String> propertyNames)
dop
- a positive integer defining the number of threads to use when parallel scanning the edges.timeout
- time out in the unit of secondspropertyNames
- a set of property names to be returnedpublic int getEdgePropertyNames(int dop, int timeout, Set<String> propertyNames, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the edges.timeout
- time out in the unit of secondspropertyNames
- a set of property names to be returnedpl
- a ProgressListener object.public void getEdgePropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray, Set<String> propertyNames, long lStartTime, long lDeadline, int iStartSplitID, ProgressListener pl)
connArray
- connection arraypropertyNames
- a set of edge property nameslStartTime
- starting timelDeadline
- dead lineiStartSplitID
- starting split id, starts from 0.pl
- a progress listener objectpublic Iterable<Edge> getEdges(String key)
getEdges
in class OraclePropertyGraphBase
key
- a keypublic Iterable<Edge> getEdges(String[] keys)
getEdges
in class OraclePropertyGraphBase
keys
- an array of keyspublic Iterable<Edge> getEdges(String[] keys, EdgeFilterCallback efc)
keys
- an array of keysefc
- a EdgeFilterCallback
object to filter the edgespublic Iterable<Edge> getEdges(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
keys
- an array of keysefc
- a EdgeFilterCallback
object to filter the edgesoptFlag
- an optimization flag to specify whether the whole or partial edge object should be returnedpublic Iterable<Edge> getEdges(String key, Object value)
public Iterable<Edge> getEdges(String key, Object value, boolean useWildCard)
getEdges
in class OraclePropertyGraphBase
key
- a keyvalue
- value of the keyuseWildCard
- if true, use wildcard characterpublic Iterable<Edge> getEdges(String key, Object value, boolean acceptWildcard, boolean preferredLuceneQuery)
key
- a keyvalue
- value of the keyacceptWildcard
- if true, accept wildcard characterpreferredLuceneQuery
-public Iterable<Edge> getEdges(String key, Object value, Class dtClass, boolean acceptWildcard)
getEdges
in class OraclePropertyGraphBase
key
- a keyvalue
- value of the keydtClass
-acceptWildcard
- if true, accept wildcard characterpublic Iterable<Edge> getEdges(String key, Object value, Class dtClass, boolean acceptWildcard, boolean preferredLuceneQuery)
key
- a keyvalue
- value of the keydtClass
-acceptWildcard
- if true, accept wildcard characterpreferredLuceneQuery
-public Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, retrieved elements are not saved into cacheiStartSplitID
- the starting split IDpublic Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String key)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkey
- a keypublic Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkeys
- an array of keyspublic Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, EdgeFilterCallback efc)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkeys
- an array of keysefc
- an EdgeFilterCallback
object to filter the edgespublic Iterable<Edge>[] getEdgesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkeys
- an array of keysefc
- an EdgeFilterCallback
object to filter the edgesoptFlag
- an optimization flag to specify if the object edge object or only partial object should be returnedpublic Iterable<Edge>[] getEdgesWithCustomizedParallelTableScan(String[] keys)
keys
- an array of keyspublic Iterable<Edge>[] getEdgesWithCustomizedParallelTableScan(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
keys
- an array of keysefc
- an EdgeFilterCallback object to filter the edgesoptFlag
- an optimization flag to specify whether the whole or partial edge object should be returnedpublic Iterable<Edge> getEdgesWithDefaultParallelTableScan(String[] keys)
keys
- an array of keyspublic Iterable<Edge> getEdgesWithDefaultParallelTableScan(String[] keys, EdgeFilterCallback efc)
keys
- an array of keysefc
- an EdgeFilterCallback
object to filter the edgespublic Iterable<Edge> getEdgesWithDefaultParallelTableScan(String[] keys, EdgeFilterCallback efc, OraclePropertyGraphBase.OptimizationFlag optFlag)
keys
- an array of keysefc
- an EdgeFilterCallback
object to filter the edgesoptFlag
- an optimization flag to specify whether the whole or partial edge object should be returnedpublic int getEdgeTableSplits()
public String getEdgeTabName()
public Features getFeatures()
getFeatures
in interface Graph
public String getGraphName()
getGraphName
in class OraclePropertyGraphBase
public <T extends Element> Index<T> getIndex(String indexName, Class<T> indexClass)
getIndex
in interface IndexableGraph
public <T extends Element> Set<String> getIndexedKeys(Class<T> elementClass)
getIndexedKeys
in interface KeyIndexableGraph
elementClass
- the element class that the index is for.public Iterable<Index<? extends Element>> getIndices()
getIndices
in interface IndexableGraph
public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName) throws Exception
kvconfig
- a KVStoreConfig
objectszGraphName
- name of the property graph to be createdOraclePropertyGraph
objectException
public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, oracle.kv.LoginCredentials lc) throws Exception
kvconfig
- a KVStoreConfig
objectszGraphName
- name of the property graph to be createdlc
- a LoginCredentials object that can be used to authenticate a userOraclePropertyGraph
objectException
public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password) throws Exception
kvconfig
- a KVStoreConfig
objectszGraphName
- name of the property graph to be createdusername
- name of the userpassword
- password of the userOraclePropertyGraph
objectException
public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password, Properties secProperties) throws Exception
kvconfig
- a KVStoreConfig
objectszGraphName
- name of the property graph to be createdusername
- name of the userpassword
- password of the usersecProperties
- a Properties object that defines the KVStoreConfig security settingsOraclePropertyGraph
objectException
public static OraclePropertyGraph getInstance(oracle.kv.KVStoreConfig kvconfig, String szGraphName, String username, String password, String trustStoreFile) throws Exception
kvconfig
- a KVStoreConfig
objectszGraphName
- name of the property graph to be createdusername
- name of the userpassword
- password of the usertrustStoreFile
- the name and path to a client side Java truststore file certificates)OraclePropertyGraph
objectException
public static OraclePropertyGraph getInstance(oracle.pgx.config.PgNosqlGraphConfig config) throws Exception
config
- a PgNosqlGraphConfig
objectOraclePropertyGraph
objectException
public static OraclePropertyGraph getInstance(String storeName, String host, int port, String szGraphName) throws Exception
storeName
- kvstore namehost
- host machine name where Oracle NoSQL database installedport
- port numberszGraphName
- name of the property graph to be createdOraclePropertyGraph
object and graph name provided.Exception
public oracle.kv.KVStoreConfig getKVStoreConfig()
KVStoreConfig
object associated with the backend databaseKVStoreConfig
objectpublic static oracle.kv.KVStoreConfig getKVStoreConfig(oracle.pgx.config.PgNosqlGraphConfig config)
config
- the PgNosqlGraphConfig objectpublic long getMaxEdgeID()
public long getMaxEdgeID(int dop)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.public long getMaxEdgeID(int dop, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.pl
- a ProgressListener object.public long getMaxEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
kvcArray
- connection arrayiStartSplitID
- starting split id, starting from 0pl
- a progress listener objectpublic long getMaxVertexID()
public long getMaxVertexID(int dop)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.public long getMaxVertexID(int dop, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.pl
- a ProgressListener object.public long getMaxVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
kvcArray
- connection arrayiStartSplitID
- starting split id, starting from 0pl
- a progress listener objectpublic long getMinEdgeID()
public long getMinEdgeID(int dop)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.public long getMinEdgeID(int dop, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.pl
- a ProgressListener object.public long getMinEdgeIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
kvcArray
- connection arrayiStartSplitID
- starting split id, starting from 0pl
- a progress listener objectpublic long getMinVertexID()
public long getMinVertexID(int dop)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.public long getMinVertexID(int dop, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.pl
- a ProgressListener object.public long getMinVertexIDPartitioned(oracle.kv.KVStoreConfig[] kvcArray, int iStartSplitID, ProgressListener pl)
kvcArray
- connection arrayiStartSplitID
- starting split id, starting from 0pl
- a progress listener objectpublic long getOperationQueueSize()
public OracleIndexManager getOracleIndexManager()
getOracleIndexManager
in class OraclePropertyGraphBase
OracleIndexManager
object.public ProgressListener getProgressListener()
public int getQueueSize()
public oracle.kv.table.TableIteratorOptions getTableIteratorOptions()
public OracleVertex getVertex(Object id)
getVertex
in interface Graph
id
- object identifier of the vertexOracleVertex
objectpublic VertexFilterCallback getVertexFilterCallback()
VertexFilterCallback
objectpublic OracleVertexBase getVertexInstance(Long vid, boolean bCreateIfAbsentFromCache, boolean bSkipStoreToCache)
getVertexInstance
in class OraclePropertyGraphBase
vid
- vertex IDbCreateIfAbsentFromCache
- if true, an OracleVertex instance will be created when it is absent from the cachebSkipStoreToCache
- if true, the retrieved element is not saved into the cachepublic int getVertexPropertyNames(int dop, int timeout, Set<String> propertyNames)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.timeout
- time out in the unit of secondspropertyNames
- a set of property names to be returnedpublic int getVertexPropertyNames(int dop, int timeout, Set<String> propertyNames, ProgressListener pl)
dop
- a positive integer defining the number of threads to use when parallel scanning the vertices.timeout
- time out in the unit of secondspropertyNames
- a set of property names to be returnedpl
- a ProgressListener object.public void getVertexPropertyNamesPartitioned(oracle.kv.KVStoreConfig[] connArray, Set<String> propertyNames, long lStartTime, long lDeadline, int iStartSplitID, ProgressListener pl)
connArray
- connection arraypropertyNames
- a set of vertex property nameslStartTime
- starting timelDeadline
- dead lineiStartSplitID
- starting split id, starts from 0.pl
- a progress listener objectpublic int getVertexTableSplits()
public String getVertexTabName()
public Iterable<Vertex> getVertices()
getVertices
in interface Graph
public Iterable<Vertex> getVertices(String key)
getVertices
in class OraclePropertyGraphBase
key
- a property key name. It can be NULL which implies all vertices in the graph will be returned.public Iterable<Vertex> getVertices(String[] keys)
getVertices
in class OraclePropertyGraphBase
keys
- an array of property key names. It can be NULL which implies all vertices in the graph satisfying the vertex filter callback will be returned.public Iterable<Vertex> getVertices(String[] keys, VertexFilterCallback vfc)
keys
- an array of property key names. It can be NULL which implies all vertices in the graph satisfying the vertex filter callback will be returned.vfc
- a VertexFilterCallback
object specifying the conditions to keep a vertex in the iterable.public Iterable<Vertex> getVertices(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
keys
- an array of property key names. It can be NULL which implies all vertices in the graph satisfying the vertex filter callback will be returned.vfc
- a VertexFilterCallback
object specifying the conditions for a matching vertex to be returned as an element in the iterable.optFlag
- an OptimizationFlag object denoting if partial or complete vertex objects need to be constructed and returned. It can be NULL which implies the vertices created are complete. Partial objects are usually quicker to construct and they consume less memory compared to full blown vertex objects.public Iterable<Vertex> getVertices(String key, Object value)
getVertices
in interface Graph
key
- the name of the property. It MUST not be NULL.value
- the value of the property. It can be NULL which will cause all vertices with the given key to be returned.public Iterable<Vertex> getVertices(String key, Object value, boolean useWildCards)
getVertices
in class OraclePropertyGraphBase
key
- the name of the property. It MUST not be NULL.value
- the value of the property. It can be NULL which will cause all vertices with the given key to be returned.useWildCards
- specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.public Iterable<Vertex> getVertices(String key, Object value, boolean acceptWildcard, boolean preferredLuceneQuery)
key
- the name of the property. It MUST not be NULL.value
- the value of the property. It can be NULL which will cause all vertices with the given key to be returned.acceptWildcard
- specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.preferredLuceneQuery
- if true, a look up to the automatic index will be executed to find the matches.public Iterable<Vertex> getVertices(String key, Object value, Class dtClass, boolean acceptWildcard)
getVertices
in class OraclePropertyGraphBase
key
- the name of the property. It MUST not be NULL.value
- the value of the property. It can be NULL which will cause all vertices with the given key to be returned.dtClass
- the datatype of the value objectacceptWildcard
- specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.public Iterable<Vertex> getVertices(String key, Object value, Class dtClass, boolean acceptWildcard, boolean preferredLuceneQuery)
key
- the name of the property. It MUST not be NULL.value
- the value of the property. It can be NULL which will cause all vertices with the given key to be returned.dtClass
- the datatype of the value objectacceptWildcard
- specifies if wild cards can be used in the value object. Wild cards can be used only when an automatic text index on the given key is present.preferredLuceneQuery
- if true, a look up to the automatic index will be executed to find the matches.public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID)
Iterable
objects that hold all the vertices in the graph. Each element in the Iterable
array uses a separate connection provided to fetch a subset of the results from the corresponding split. The splits are determined by # of regions & num of splits per region for the table. Note that we assign an integer ID (in the range of [0, N - 1]) to all the splits in the vertex table with N splits. The subset of splits queried will consist of those splits with ID value in the range of [startSplitID, startSplit - 1 + size of connections array].kvcArray
- an array of KVStoreConfig objects for Oracle NoSQL DatabasebSkipStoreToCache
- if true, the vertices instances will not be stored into the cache.iStartSplitID
- the ID of the starting split.Iterable
objects.public Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String key)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, the retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkey
- a keypublic Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, the retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkeys
- an array of keyspublic Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, VertexFilterCallback vfc)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, the retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkeys
- an array of keysvfc
- a VertexFilterCallback
object to filter the verticespublic Iterable<Vertex>[] getVerticesPartitioned(oracle.kv.KVStoreConfig[] kvcArray, boolean bSkipStoreToCache, int iStartSplitID, String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
kvcArray
- an array of KVStoreConfig to initialize DOP connections to database; DOP is determined by kvcArray.length;bSkipStoreToCache
- if true, the retrieved elements are not saved into cacheiStartSplitID
- the starting split IDkeys
- an array of keysvfc
- a VertexFilterCallback
object to filter the verticespublic Iterable<Vertex>[] getVerticesWithCustomizedParallelTableScan(String[] keys)
keys
- an array of keyspublic Iterable<Vertex>[] getVerticesWithCustomizedParallelTableScan(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
keys
- an array of keysvfc
- a VertexFilterCallback object to filter the verticesoptFlag
- an optimization flag to specify whether the whole or partial vertex object should be returnedpublic Iterable<Vertex> getVerticesWithDefaultParallelTableScan(String[] keys)
keys
- an array of keyspublic Iterable<Vertex> getVerticesWithDefaultParallelTableScan(String[] keys, VertexFilterCallback vfc)
keys
- an array of keysvfc
- a VertexFilterCallback object to filter the verticespublic Iterable<Vertex> getVerticesWithDefaultParallelTableScan(String[] keys, VertexFilterCallback vfc, OraclePropertyGraphBase.OptimizationFlag optFlag)
keys
- an array of keysvfc
- a VertexFilterCallback object to filter the verticesoptFlag
- an optimization flag to specify whether the whole or partial vertex object should be returnedpublic boolean isEdgeAutoIndexEnabled(String key)
public boolean isVertexAutoIndexEnabled(String key)
public GraphQuery query()
public OracleEdge readEdgeFromDB(Long lEID) throws IOException, ParseException
lEID
- edge ID, MUST NOT be NULL.OracleEdge
objectIOException
ParseException
public void removeAttributeFromAllEdges(EdgeOpCallback eoc)
eoc
- a EdgeOpCallBack object.public void removeAttributeFromAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop)
eoc
- a EdgeOpCallBack object.skipStoreToCache
- if true, the edges instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the edges.public void removeAttributeFromAllEdges(EdgeOpCallback eoc, boolean skipStoreToCache, int dop, ProgressListener pl)
eoc
- a EdgeOpCallBack object.skipStoreToCache
- if true, the edges instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the edges.pl
- a ProgressListener object.public void removeAttributeFromAllVertices(VertexOpCallback voc)
voc
- a VertexOpCallBack object.public void removeAttributeFromAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop)
voc
- a VertexOpCallBack object.skipStoreToCache
- if true, the vertices instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the vertices.public void removeAttributeFromAllVertices(VertexOpCallback voc, boolean skipStoreToCache, int dop, ProgressListener pl)
voc
- a VertexOpCallBack object.skipStoreToCache
- if true, the vertices instances will not be stored into the cache.dop
- a positive integer defining the number of threads to use when parallel processing the vertices.pl
- a ProgressListener object.public void removeEdge(Edge edge)
removeEdge
in interface Graph
edge
- an Edge
object to be removedpublic void removeVertex(Vertex vertex)
removeVertex
in interface Graph
vertex
- a Vertex
object to be removedpublic void rollback()
rollback
in interface TransactionalGraph
public static String serializableToStr(Serializable seri) throws IOException
seri
- an object of Serializable type. It must not be null.IOException
public void setBatchSize(int i)
i
- the batch size to be setpublic void setClearTableDOP(int dop)
dop
- degree of parallelismpublic void setClearTablePKBufferSize(int size)
size
- buffer sizepublic void setClearTableThreadsPerWorker(int threads)
threads
- number of threads per clear table workerpublic void setCustomizedParallelScanDOP(int iDOP)
public void setDefaultEdgeOptFlag(OraclePropertyGraphBase.OptimizationFlag eof)
eof
- an edge OptimizationFlag object to be set to this property graphpublic void setDefaultIndexParameters(OracleIndexParameters indexParams)
setDefaultIndexParameters
in class OraclePropertyGraphBase
indexParams
- a OracleIndexParameters
object.public void setDefaultVertexOptFlag(OraclePropertyGraphBase.OptimizationFlag vof)
vof
- an OptimizationFlag object to be set to this property graphpublic void setEdgeFilterCallback(EdgeFilterCallback efc)
efc
- a EdgeFilterCallback
object to be set to this property graphpublic void setProgressListener(ProgressListener pl)
pl
- a ProgressListener object.public void setQueueSize(int size)
public void setTableIteratorOptions(oracle.kv.table.TableIteratorOptions tio)
public void setVertexFilterCallback(VertexFilterCallback vfc)
vfc
- a VertexFilterCallback
object to be set to this property graphpublic void shutdown()
shutdown
in interface Graph
shutdown
in interface TransactionalGraph
public void startTransaction()
public void stopTransaction(TransactionalGraph.Conclusion conclusion)
stopTransaction
in interface TransactionalGraph
public static Object strToSerializable(String s) throws OraclePropertyGraphException, IOException, IllegalArgumentException
s
- String representation of a Java Serializable object. It MUST not be null.OraclePropertyGraphException
IOException
IllegalArgumentException
Copyright © 2015 Oracle and/or its afflilates. All Rights Reserved.