public interface Graph
Modifier and Type | Method and Description |
---|---|
java.util.Set<java.lang.Integer> |
affinities()
获取集群中所有affinity。单机版默认返回0。
|
default int |
affinity(long vertexId)
Deprecated.
获取点VertexId所在的主机号。单机版默认返回0。
|
Transaction |
beginTransaction()
开启一个事务,默认隔离级别为
TransactionIsolation.READ_COMMITTED |
Transaction |
beginTransaction(TransactionIsolation isolation)
开启一个事务,指定隔离级别
|
<V> java.util.Collection<V> |
broadcastCallable(java.util.Collection<java.lang.Integer> affinities,
GraphBroadcastCallable<V> callable)
带返回值的广播任务。将会在指定节点上执行。单机版不可用。
|
default <V> java.util.Collection<V> |
broadcastCallable(GraphBroadcastCallable<V> callable)
带返回值的广播任务。将会在所有节点上执行。单机版不可用。
|
void |
broadcastRunnable(java.util.Collection<java.lang.Integer> affinities,
GraphBroadcastRunnable runnable)
不带返回值的广播任务。将会在指定节点上执行。单机版不可用。
|
default void |
broadcastRunnable(GraphBroadcastRunnable runnable)
不带返回值的广播任务。将会在所有节点上执行。单机版不可用。
|
int |
clusterMachineSize()
获取集群节点数量
|
void |
deleteEdge(java.lang.String edgeId)
删除边
|
java.util.List<Edge> |
deleteEdges(long fromId,
long toId,
java.util.Set<java.lang.Integer> edgeTypes,
java.util.function.Predicate<Edge> pe)
条件删除指定起止点的边
|
void |
deleteVertex(long vertexId)
删除点以及所有与点相关的边
|
void |
deleteVertex(long vertexId,
boolean isDeleteEdge)
删除点
|
default long |
edgeIteratorFast(java.util.function.Consumer<Edge> consumer)
多线程迭代本地边
|
default long |
edgeIteratorFast(java.util.function.Consumer<Edge> consumer,
java.util.Set<java.lang.Integer> types)
多线程迭代本地边
|
long |
edgeIteratorFast(java.util.function.Consumer<Edge> consumer,
java.util.Set<java.lang.Integer> types,
boolean backup)
多线程迭代本地边
|
int |
edgeTypeIndex(java.lang.String edgeId)
通过边EdgeId获取边类型index
|
java.util.List<com.graphdbapi.engine.extend.Path> |
extend(java.util.Set<java.lang.Long> startIds,
java.util.List<com.graphdbapi.engine.extend.ExtendFilter> extendFilters,
com.graphdbapi.engine.extend.ExtendLimiter extendLimiter)
通用路径扩展,采用深度优先搜索的形式。
|
FileObject |
fileObject()
获取FileObject对象(资源的释放需要用户管理)
|
void |
flushData()
手动触发写盘
|
int |
getAffinityById(long vertexId)
获取点VertexId所在的主机号。单机版默认返回0。
|
int |
getAffinityByPk(java.lang.String vertexPk)
获取当前图点PK所在的主机号。单机版默认返回0。
|
long |
getAllEdgeCount()
查询集群总边数
|
long |
getAllVertexCount()
查询集群总点数
|
default long |
getCombinedEdgeCount(int typeIndex)
查询集群中Combined边类型的数量
注:该方法获取取指定typeIndex对应边的个数。如需获取typeIndex对应同名边的总个数,可以调用
getEdgeCount(int) |
long |
getCombinedEdgeCount(int typeIndex,
boolean isLocal)
查询Combined边类型的数量
注:该方法获取取指定typeIndex对应边的个数。如需获取typeIndex对应同名边的总个数,可以调用
getEdgeCount(int, boolean) |
long |
getCypherId()
返回 Cypher 任务 id
|
int |
getDegree(long elementId,
Direction direction)
获取邻居的degree大小
|
long |
getEdgeCount(boolean isLocal)
查询边数量
|
long |
getEdgeCount(int edgeTypeIndex)
查询集群指定边类型总数
注:该方法获取的是typeIndex对应同名边的总个数。如需获取指定typeIndex对应边的个数,可以调用
getCombinedEdgeCount(int) |
long |
getEdgeCount(int typeIndex,
boolean isLocal)
查询指定边类型数量
注:该方法获取的是typeIndex对应同名边的总个数。如需获取指定typeIndex对应边的个数,可以调用
getCombinedEdgeCount(int, boolean) |
int |
getGraphIndex()
查询图编号
|
java.lang.String |
getGraphName()
查询图名称
|
com.graphdbapi.memory.GroupMemoryTracker |
getMemoryTracker(java.lang.String name) |
GraphDbAtomicLong |
getOrCreateGraphDbAtomicLong(java.lang.String name,
long initValue)
创建一个分布式 AtomicLong
|
com.graphdbapi.engine.parallel.ParallelContext |
getParallelContext()
获取并行工具上下文对象。
|
java.lang.String |
getPk(long vertexId)
根据VertexId来查询对应点的外部唯一标识值
|
default long |
getSnowId()
Deprecated.
返回 Cypher 任务 id
|
TaskHandler |
getTaskHandler()
转化 Graph 为图引擎句柄, 用于执行相关图引擎方法.
|
long |
getVertexCount(boolean isLocal)
查询点数量
|
long |
getVertexCount(int vertexTypeIndex)
查询集群指定点类型总数
|
long |
getVertexCount(int typeIndex,
boolean isLocal)
查询指定点类型数量
|
java.util.Map<java.lang.Long,Vertex> |
getVertexes(java.util.Collection<java.lang.Long> ids)
批量查询点
|
java.util.Set<java.lang.Long> |
getVertexIdByPk(java.lang.String pk)
根据外部唯一标识查询点VertexId
|
java.lang.Long |
getVertexIdByPk(java.lang.String pk,
int typeIndex)
根据外部唯一标识和点类型index查询点VertexId
|
java.lang.Long |
getVertexIdByPk(java.lang.String pk,
java.lang.String type)
根据外部唯一标识和点类型名查询点VertexId。
|
java.util.Set<java.lang.Long> |
getVertexIdByPkCompatible(java.lang.String pk)
根据外部唯一标识查询点VertexId
|
java.lang.Long |
getVertexIdByPkCompatible(java.lang.String pk,
int typeIndex)
根据外部唯一标识和点类型index查询点VertexId
|
java.lang.Long |
getVertexIdByPkCompatible(java.lang.String pk,
java.lang.String type)
根据外部唯一标识和点类型名查询点VertexId。
|
boolean |
hasVertex(long id)
根据点VertexId判断点是否存在
|
Edge |
insertEdgeByVertexId(long fromId,
long toId,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
添加边
|
Vertex |
insertVertexByPk(java.lang.String pk,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
添加点
|
boolean |
isStop()
返回布尔值用于停止par任务
|
int |
localAffinity()
获取本机的affinity。单机版默认返回0。
|
GraphLogger |
logger()
获取日志对象
|
GraphSchema |
meta()
查询图的meta信息
|
ParKit |
parKit()
获取PAR工具实例对象
|
default void |
putPropertyValue(long vertexId,
java.lang.String propertyName,
java.lang.Object data)
为点添加属性
|
void |
putPropertyValue(long vertexId,
java.lang.String propertyName,
java.lang.Object data,
boolean isMerge)
为点添加属性
|
default void |
putPropertyValue(java.lang.String edgeId,
java.lang.String propertyName,
java.lang.Object data)
为边添加属性
|
void |
putPropertyValue(java.lang.String edgeId,
java.lang.String propertyName,
java.lang.Object data,
boolean isMerge)
为边添加属性
|
boolean |
removePropertyValue(long vertexId)
删除点VertexId的所有属性,除外部唯一标识值
|
boolean |
removePropertyValue(long vertexId,
java.lang.String propertyName)
删除点VertexId的属性
|
boolean |
removePropertyValue(java.lang.String edgeId)
删除边EdgeId的所有属性,除combineKey
|
boolean |
removePropertyValue(java.lang.String edgeId,
java.lang.String propertyName)
删除边EdgeId的属性
|
default ResourceIterator<Edge> |
retrieveAllEdges()
查询集群所有边
|
ResourceIterator<Edge> |
retrieveAllEdges(java.util.Set<java.lang.Integer> edgeTypes,
java.util.function.Predicate<Edge> pe)
查询带条件过滤的集群所有边
|
default ResourceIterator<Vertex> |
retrieveAllVertexes()
查询集群所有点
|
ResourceIterator<Vertex> |
retrieveAllVertexes(java.util.Set<java.lang.Integer> vertexTypes,
java.util.function.Predicate<Vertex> pv)
查询带条件过滤的集群所有点
|
Edge |
retrieveEdge(java.lang.String edgeId)
查询边
|
default java.util.List<Edge> |
retrieveEdgeByVertexId(long vertexId)
Deprecated.
该方法在遇到超级节点的时候,会大量占用内存,导致系统oom。谨慎使用。推荐使用
retrieveEdgeIteratorByVertexId(long, long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, java.util.function.Predicate<com.graphdbapi.Element>) 方法。 |
java.util.List<Edge> |
retrieveEdgeByVertexId(long srcId,
long dstId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int limit,
java.util.function.Predicate<Element> pe)
Deprecated.
该方法在遇到超级节点的时候,会大量占用内存,导致系统oom。谨慎使用。推荐使用
retrieveEdgeIteratorByVertexId(long, long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, java.util.function.Predicate<com.graphdbapi.Element>) 方法。 |
java.util.List<Edge> |
retrieveEdgeByVertexId(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop)
Deprecated.
该方法在遇到超级节点的时候,会大量占用内存,导致系统oom。谨慎使用。推荐使用
retrieveEdgeIteratorByVertexId(long, long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, java.util.function.Predicate<com.graphdbapi.Element>) 方法。 |
default ResourceIterator<Edge> |
retrieveEdgeByVertexId(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop,
boolean onlyLoop,
boolean includeProps)
找边。通过边迭代获取
|
ResourceIterator<Edge> |
retrieveEdgeByVertexId(long vertexId,
java.util.Set<java.lang.Integer> vertexTypeFilter,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop,
boolean onlyLoop,
boolean includeProps)
找边。通过边迭代获取
|
java.util.List<Edge> |
retrieveEdgeByVertexIdForAlgo(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop)
|
default ResourceIterator<Edge> |
retrieveEdgeByVertexIdForAlgo(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop,
boolean onlyLoop,
boolean includeProps)
根据VertexId查边
|
ResourceIterator<Edge> |
retrieveEdgeByVertexIdForAlgo(long vertexId,
java.util.Set<java.lang.Integer> vertexTypeFilter,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop,
boolean onlyLoop,
boolean includeProps)
根据VertexId查边
|
ResourceIterator<Edge> |
retrieveEdgeByVertexIdForAlgo(long vertexId,
java.util.Set<java.lang.Integer> vertexTypeFilter,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop,
boolean onlyLoop,
boolean includeProps,
boolean remoteFilter)
根据VertexId查边
|
java.util.List<Edge> |
retrieveEdgeByVertexIdNoProps(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop)
|
Edge |
retrieveEdgeCompatible(java.lang.String edgeId)
查询边
|
default ResourceIterator<Edge> |
retrieveEdgeIteratorByVertexId(long vertexId)
找边。无条件,Both方向
|
ResourceIterator<Edge> |
retrieveEdgeIteratorByVertexId(long srcId,
long dstId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int limit,
java.util.function.Predicate<Element> pe)
找边。
|
ResourceIterator<Edge> |
retrieveEdgeIteratorByVertexId(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop)
找边
|
ResourceIterator<Edge> |
retrieveEdgeIteratorByVertexIdForAlgo(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop)
根据VertexId查边
|
ResourceIterator<Edge> |
retrieveEdgeIteratorByVertexIdNoProps(long vertexId,
java.util.Set<java.lang.Integer> edgeTypeFilter,
Direction direction,
int neighborLimit,
int edgeLimit,
java.util.function.Predicate<Element> pv,
java.util.function.Predicate<Element> pe,
boolean includeLoop)
找边。不返回边属性
|
default ResourceIterator<Edge> |
retrieveLocalEdges()
查询本机所有边
|
ResourceIterator<Edge> |
retrieveLocalEdges(java.util.Set<java.lang.Integer> edgeTypes,
java.util.function.Predicate<Edge> pe)
查询带条件过滤的本机所有边
|
default ResourceIterator<Vertex> |
retrieveLocalVertexes()
查询本机所有点
|
ResourceIterator<Vertex> |
retrieveLocalVertexes(java.util.Set<java.lang.Integer> vertexTypes,
java.util.function.Predicate<Vertex> pv)
查询带条件过滤的本机所有点
|
ResourceIterator<java.lang.Long> |
retrieveNeighborIdIterator(long vertexId,
Direction direction,
java.util.Set<java.lang.Integer> types)
获取邻居ElementId
|
java.util.List<Edge> |
retrieveOrInsertEdge(long fromId,
long toId,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
查询或插入边。
|
Vertex |
retrieveOrInsertVertex(java.lang.String pk,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
查询或插入点。
|
Vertex |
retrieveVertex(long vertexId)
查询点。根据点id查询点。
|
Vertex |
retrieveVertexByPk(java.lang.String pk,
int typeIndex)
查询点。根据外部唯一标识值和点类型index查询点。
|
Vertex |
retrieveVertexByPkCompatible(java.lang.String pk,
int typeIndex)
查询点。根据外部唯一标识值和点类型index查询点。
|
Vertex |
retrieveVertexCompatible(long vertexId)
查询点。根据点id查询点。
|
ResourceIterator<Edge> |
searchEdgeProperty(java.lang.String type,
java.util.List<SearchPredicate> predicates,
java.util.List<SearchOrder> orders,
int skip,
int limit)
通过类型、属性查询边
|
ResourceIterator<java.lang.String> |
searchEdgesByIndex(java.lang.String typeName,
java.lang.String propName,
java.lang.Object data,
int skip,
int limit)
通过索引,查找边数据,返回边Id
|
ResourceIterator<java.lang.Long> |
searchVertexesByIndex(java.lang.String typeName,
java.lang.String propName,
java.lang.Object data,
int skip,
int limit)
通过索引,查找点数据,返回点Id
|
ResourceIterator<Vertex> |
searchVertexProperty(java.lang.String type,
java.util.List<SearchPredicate> predicates,
java.util.List<SearchOrder> orders,
int skip,
int limit)
通过类型、属性查询点
|
TraversalDescription |
traversalDescription()
获取一个TraversalDescription实例对象
该对象不可变,需要通过方法转换成新的实例对象
|
default Edge |
updateEdge(java.lang.String edgeId,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
更新边的多个属性
|
Edge |
updateEdge(java.lang.String edgeId,
java.util.Map<java.lang.String,java.lang.Object> propertyMap,
boolean isMerge)
更新边的多个属性
|
default Vertex |
updateVertex(long vertexId,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
更新点的多个属性
|
Vertex |
updateVertex(long vertexId,
java.util.Map<java.lang.String,java.lang.Object> propertyMap,
boolean isMerge)
更新点的多个属性
|
default java.util.List<Edge> |
upsertEdge(long fromId,
long toId,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
插入或更新边。
|
java.util.List<Edge> |
upsertEdge(long fromId,
long toId,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap,
boolean isMerge)
插入或更新边。
|
default Vertex |
upsertVertex(java.lang.String pk,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap)
插入或更新点。
|
Vertex |
upsertVertex(java.lang.String pk,
int typeIndex,
java.util.Map<java.lang.String,java.lang.Object> propertyMap,
boolean isMerge)
插入或更新点。
|
default long |
vertexIteratorFast(java.util.function.Consumer<Vertex> consumer)
多线程迭代本地点
|
default long |
vertexIteratorFast(java.util.function.Consumer<Vertex> consumer,
java.util.Set<java.lang.Integer> types)
多线程迭代本地点
|
long |
vertexIteratorFast(java.util.function.Consumer<Vertex> consumer,
java.util.Set<java.lang.Integer> types,
boolean backup)
多线程迭代本地点
|
int |
vertexTypeIndex(long vertexId)
通过点VertexId获取点类型Index
|
GraphSchema meta()
GraphSchema
java.lang.String getGraphName()
int getGraphIndex()
long getAllVertexCount()
long getAllEdgeCount()
long getVertexCount(int vertexTypeIndex)
vertexTypeIndex
- 点类型indexlong getEdgeCount(int edgeTypeIndex)
getCombinedEdgeCount(int)
edgeTypeIndex
- 边类型indexlong getVertexCount(boolean isLocal)
isLocal
- 是否只取本地的点数量。true本地点数,false集群总点数long getEdgeCount(boolean isLocal)
isLocal
- 是否只取本地的边数量。true本地边数,false集群总边数long getVertexCount(int typeIndex, boolean isLocal)
typeIndex
- 点类型indexisLocal
- 是否只取本节点数量。true本机数量,false集群总数量long getEdgeCount(int typeIndex, boolean isLocal)
getCombinedEdgeCount(int, boolean)
typeIndex
- 边类型indexisLocal
- 是否只取本节点数量。true本机数量,false集群总数量default long getCombinedEdgeCount(int typeIndex)
getEdgeCount(int)
typeIndex
- 边类型indexlong getCombinedEdgeCount(int typeIndex, boolean isLocal)
getEdgeCount(int, boolean)
typeIndex
- 边类型indexisLocal
- 是否只取本节点数量。true本机数量,false集群总数量boolean hasVertex(long id)
id
- VertexIdjava.util.Set<java.lang.Long> getVertexIdByPk(java.lang.String pk)
pk
- 外部唯一标识java.util.Set<java.lang.Long> getVertexIdByPkCompatible(java.lang.String pk)
pk
- 外部唯一标识java.lang.Long getVertexIdByPk(java.lang.String pk, int typeIndex)
pk
- 外部唯一标识typeIndex
- 点类型indexjava.lang.Long getVertexIdByPkCompatible(java.lang.String pk, int typeIndex)
pk
- 外部唯一标识typeIndex
- 点类型indexjava.lang.Long getVertexIdByPk(java.lang.String pk, java.lang.String type)
pk
- 外部唯一标识type
- 点类型名java.lang.Long getVertexIdByPkCompatible(java.lang.String pk, java.lang.String type)
pk
- 外部唯一标识type
- 点类型名Vertex retrieveVertexByPk(java.lang.String pk, int typeIndex)
pk
- 外部唯一标识值typeIndex
- 点类型indexVertex retrieveVertexByPkCompatible(java.lang.String pk, int typeIndex)
pk
- 外部唯一标识值typeIndex
- 点类型indexVertex retrieveVertex(long vertexId)
vertexId
- 点VertexIdVertex retrieveVertexCompatible(long vertexId)
vertexId
- 点VertexIdjava.util.Map<java.lang.Long,Vertex> getVertexes(java.util.Collection<java.lang.Long> ids)
ids
- 点VertexId列表Edge retrieveEdge(java.lang.String edgeId)
edgeId
- 边EdgeIdEdge retrieveEdgeCompatible(java.lang.String edgeId)
edgeId
- 边EdgeId@Deprecated java.util.List<Edge> retrieveEdgeByVertexId(long srcId, long dstId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int limit, java.util.function.Predicate<Element> pe)
retrieveEdgeIteratorByVertexId(long, long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, java.util.function.Predicate<com.graphdbapi.Element>)
方法。srcId
- 起始点VertexIddstId
- 终止点VertexIdedgeTypeFilter
- 边类型过滤direction
- 边方向pe
- 边条件limit
- 边个数限制ResourceIterator<Edge> retrieveEdgeIteratorByVertexId(long srcId, long dstId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int limit, java.util.function.Predicate<Element> pe)
srcId
- 起始点VertexIddstId
- 终止点VertexIdedgeTypeFilter
- 边类型过滤direction
- 边方向pe
- 边条件limit
- 边个数限制@Deprecated default java.util.List<Edge> retrieveEdgeByVertexId(long vertexId)
retrieveEdgeIteratorByVertexId(long, long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, java.util.function.Predicate<com.graphdbapi.Element>)
方法。vertexId
- 点VertexIddefault ResourceIterator<Edge> retrieveEdgeIteratorByVertexId(long vertexId)
vertexId
- 点VertexIddefault ResourceIterator<Edge> retrieveEdgeByVertexId(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
vertexId
- 点VertexIdedgeTypeFilter
- 边类型过滤direction
- 边方向pe
- 边条件pv
- 点条件neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性ResourceIterator<Edge> retrieveEdgeByVertexId(long vertexId, java.util.Set<java.lang.Integer> vertexTypeFilter, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
vertexId
- 点VertexIdvertexTypeFilter
- 点类型过滤edgeTypeFilter
- 边类型过滤direction
- 边方向pe
- 边条件pv
- 点条件neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性default ResourceIterator<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
vertexId
- 点idedgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性ResourceIterator<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, java.util.Set<java.lang.Integer> vertexTypeFilter, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
vertexId
- 点idvertexTypeFilter
- 过滤的点类型edgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性ResourceIterator<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, java.util.Set<java.lang.Integer> vertexTypeFilter, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps, boolean remoteFilter)
vertexId
- 点idvertexTypeFilter
- 过滤的点类型edgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性remoteFilter
- 是否在远端进行过滤@Deprecated java.util.List<Edge> retrieveEdgeByVertexId(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop)
retrieveEdgeIteratorByVertexId(long, long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, java.util.function.Predicate<com.graphdbapi.Element>)
方法。vertexId
- 点VertexIdedgeTypeFilter
- 边条件direction
- 边方向neighborLimit
- 邻居点上限, 填小于0 不参与计算edgeLimit
- 邻居边上限,填小于0 不参与计算pv
- 点条件pe
- 边条件includeLoop
- 是否包含环路边ResourceIterator<Edge> retrieveEdgeIteratorByVertexId(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop)
vertexId
- 点VertexIdedgeTypeFilter
- 边条件direction
- 边方向neighborLimit
- 邻居点上限, 填小于0 不参与计算edgeLimit
- 邻居边上限,填小于0 不参与计算pv
- 点条件pe
- 边条件includeLoop
- 是否包含环路边@Deprecated java.util.List<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop)
retrieveEdgeIteratorByVertexIdForAlgo(long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, int, java.util.function.Predicate<com.graphdbapi.Element>, java.util.function.Predicate<com.graphdbapi.Element>, boolean)
方法。vertexId
- 点idedgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边ResourceIterator<Edge> retrieveEdgeIteratorByVertexIdForAlgo(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop)
vertexId
- 点idedgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边@Deprecated java.util.List<Edge> retrieveEdgeByVertexIdNoProps(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop)
retrieveEdgeIteratorByVertexIdNoProps(long, java.util.Set<java.lang.Integer>, com.graphdbapi.Direction, int, int, java.util.function.Predicate<com.graphdbapi.Element>, java.util.function.Predicate<com.graphdbapi.Element>, boolean)
方法。vertexId
- 点VertexIdedgeTypeFilter
- 边条件direction
- 边方向neighborLimit
- 邻居点上限, 填小于0 不参与计算edgeLimit
- 邻居边上限,填小于0 不参与计算pv
- 点条件pe
- 边条件includeLoop
- 是否包含环路边ResourceIterator<Edge> retrieveEdgeIteratorByVertexIdNoProps(long vertexId, java.util.Set<java.lang.Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, java.util.function.Predicate<Element> pv, java.util.function.Predicate<Element> pe, boolean includeLoop)
vertexId
- 点VertexIdedgeTypeFilter
- 边条件direction
- 边方向neighborLimit
- 邻居点上限, 填小于0 不参与计算edgeLimit
- 邻居边上限,填小于0 不参与计算pv
- 点条件pe
- 边条件includeLoop
- 是否包含环路边ResourceIterator<java.lang.Long> retrieveNeighborIdIterator(long vertexId, Direction direction, java.util.Set<java.lang.Integer> types)
vertexId
- 点Iddirection
- 方向types
- 边类型java.lang.String getPk(long vertexId)
vertexId
- 点VertexIddefault ResourceIterator<Vertex> retrieveAllVertexes()
ResourceIterator<Vertex> retrieveAllVertexes(java.util.Set<java.lang.Integer> vertexTypes, java.util.function.Predicate<Vertex> pv)
vertexTypes
- 点类型过滤pv
- 点条件过滤default ResourceIterator<Vertex> retrieveLocalVertexes()
ResourceIterator<Vertex> retrieveLocalVertexes(java.util.Set<java.lang.Integer> vertexTypes, java.util.function.Predicate<Vertex> pv)
vertexTypes
- 点类型index集合pv
- 点过滤default ResourceIterator<Edge> retrieveAllEdges()
ResourceIterator<Edge> retrieveAllEdges(java.util.Set<java.lang.Integer> edgeTypes, java.util.function.Predicate<Edge> pe)
edgeTypes
- 边类型index集合pe
- 边过滤default ResourceIterator<Edge> retrieveLocalEdges()
ResourceIterator<Edge> retrieveLocalEdges(java.util.Set<java.lang.Integer> edgeTypes, java.util.function.Predicate<Edge> pe)
edgeTypes
- 边类型index集合pe
- 边过滤default long vertexIteratorFast(java.util.function.Consumer<Vertex> consumer)
consumer
- consumer实现需要保证线程安全default long vertexIteratorFast(java.util.function.Consumer<Vertex> consumer, java.util.Set<java.lang.Integer> types)
consumer
- consumer实现需要保证线程安全types
- 需要迭代的点类型long vertexIteratorFast(java.util.function.Consumer<Vertex> consumer, java.util.Set<java.lang.Integer> types, boolean backup)
consumer
- consumer实现需要保证线程安全types
- 需要迭代的点类型backup
- 是否迭代backup数据default long edgeIteratorFast(java.util.function.Consumer<Edge> consumer)
consumer
- consumer实现需要保证线程安全default long edgeIteratorFast(java.util.function.Consumer<Edge> consumer, java.util.Set<java.lang.Integer> types)
consumer
- consumer实现需要保证线程安全types
- 需要迭代的边类型long edgeIteratorFast(java.util.function.Consumer<Edge> consumer, java.util.Set<java.lang.Integer> types, boolean backup)
consumer
- consumer实现需要保证线程安全types
- 需要迭代的边类型backup
- 是否迭代backup数据default void putPropertyValue(long vertexId, java.lang.String propertyName, java.lang.Object data)
vertexId
- 点VertexIdpropertyName
- 属性名data
- 属性值void putPropertyValue(long vertexId, java.lang.String propertyName, java.lang.Object data, boolean isMerge)
vertexId
- 点VertexIdpropertyName
- 属性名data
- 属性值isMerge
- 集合属性追加或覆盖default void putPropertyValue(java.lang.String edgeId, java.lang.String propertyName, java.lang.Object data)
edgeId
- 边EdgeIdpropertyName
- 属性名data
- 属性值void putPropertyValue(java.lang.String edgeId, java.lang.String propertyName, java.lang.Object data, boolean isMerge)
edgeId
- 边EdgeIdpropertyName
- 属性名data
- 属性值isMerge
- 集合属性追加或覆盖Vertex insertVertexByPk(java.lang.String pk, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
pk
- 外部唯一标识值typeIndex
- 点类型indexpropertyMap
- {propertyName, Object} 属性列表Edge insertEdgeByVertexId(long fromId, long toId, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性Vertex retrieveOrInsertVertex(java.lang.String pk, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
pk
- 外部唯一标识typeIndex
- 点类型indexpropertyMap
- 点属性java.util.List<Edge> retrieveOrInsertEdge(long fromId, long toId, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性default Vertex upsertVertex(java.lang.String pk, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
pk
- 外部唯一标识typeIndex
- 点类型indexpropertyMap
- 点属性Vertex upsertVertex(java.lang.String pk, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap, boolean isMerge)
pk
- 外部唯一标识typeIndex
- 点类型indexpropertyMap
- 点属性isMerge
- 集合属性追加或覆盖default java.util.List<Edge> upsertEdge(long fromId, long toId, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性java.util.List<Edge> upsertEdge(long fromId, long toId, int typeIndex, java.util.Map<java.lang.String,java.lang.Object> propertyMap, boolean isMerge)
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性isMerge
- 集合属性追加或覆盖default Vertex updateVertex(long vertexId, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
vertexId
- 点VertexIdpropertyMap
- 点属性Vertex updateVertex(long vertexId, java.util.Map<java.lang.String,java.lang.Object> propertyMap, boolean isMerge)
vertexId
- 点VertexIdpropertyMap
- 点属性isMerge
- 集合属性追加或覆盖default Edge updateEdge(java.lang.String edgeId, java.util.Map<java.lang.String,java.lang.Object> propertyMap)
edgeId
- 边EdgeIdpropertyMap
- 边属性Edge updateEdge(java.lang.String edgeId, java.util.Map<java.lang.String,java.lang.Object> propertyMap, boolean isMerge)
edgeId
- 边EdgeIdpropertyMap
- 边属性isMerge
- 集合属性追加或覆盖void deleteVertex(long vertexId)
vertexId
- 点VertexIdvoid deleteVertex(long vertexId, boolean isDeleteEdge)
vertexId
- 点VertexIdisDeleteEdge
- true:删除点以及所有与点相关的边。false:若边存在,则会删除失败并抛GraphDbApiException
void deleteEdge(java.lang.String edgeId)
edgeId
- 边EdgeIdjava.util.List<Edge> deleteEdges(long fromId, long toId, java.util.Set<java.lang.Integer> edgeTypes, java.util.function.Predicate<Edge> pe)
fromId
- 起始点idtoId
- 终止点idedgeTypes
- 边类型pe
- 边过滤条件boolean removePropertyValue(long vertexId, java.lang.String propertyName)
vertexId
- 点VertexIdpropertyName
- 属性名boolean removePropertyValue(java.lang.String edgeId, java.lang.String propertyName)
edgeId
- 边EdgeIdpropertyName
- 属性名boolean removePropertyValue(long vertexId)
vertexId
- 点VertexIdboolean removePropertyValue(java.lang.String edgeId)
edgeId
- 边EdgeIddefault <V> java.util.Collection<V> broadcastCallable(GraphBroadcastCallable<V> callable)
callable
- 任务<V> java.util.Collection<V> broadcastCallable(java.util.Collection<java.lang.Integer> affinities, GraphBroadcastCallable<V> callable)
affinities
- 节点affinity集合callable
- 任务default void broadcastRunnable(GraphBroadcastRunnable runnable)
runnable
- 任务void broadcastRunnable(java.util.Collection<java.lang.Integer> affinities, GraphBroadcastRunnable runnable)
affinities
- 节点affinity集合runnable
- 任务@Deprecated default int affinity(long vertexId)
vertexId
- 点VertexIdint getAffinityById(long vertexId)
vertexId
- 点VertexIdint getAffinityByPk(java.lang.String vertexPk)
vertexPk
- 点VertexPKint localAffinity()
java.util.Set<java.lang.Integer> affinities()
int clusterMachineSize()
int vertexTypeIndex(long vertexId)
vertexId
- 点VertexIdint edgeTypeIndex(java.lang.String edgeId)
edgeId
- 边EdgeId@Deprecated default long getSnowId()
long getCypherId()
FileObject fileObject()
FileObject
GraphLogger logger()
void flushData()
GraphDbAtomicLong getOrCreateGraphDbAtomicLong(java.lang.String name, long initValue)
name。同名将复用
- initValue。初始值
- ResourceIterator<java.lang.Long> searchVertexesByIndex(java.lang.String typeName, java.lang.String propName, java.lang.Object data, int skip, int limit)
typeName
- 类型名propName
- 属性名data
- 查找值skip
- 跳过limit
- 限制返回数量ResourceIterator<java.lang.String> searchEdgesByIndex(java.lang.String typeName, java.lang.String propName, java.lang.Object data, int skip, int limit)
typeName
- 类型名propName
- 属性名data
- 查找值skip
- 跳过limit
- 限制返回数量ResourceIterator<Vertex> searchVertexProperty(java.lang.String type, java.util.List<SearchPredicate> predicates, java.util.List<SearchOrder> orders, int skip, int limit)
type
- 点类型名predicates
- 查询谓词,每个谓词包括:属性名、查询值orders
- 属性排序skip
- 跳过limit
- 限制返回数量ResourceIterator<Edge> searchEdgeProperty(java.lang.String type, java.util.List<SearchPredicate> predicates, java.util.List<SearchOrder> orders, int skip, int limit)
type
- 边类型名predicates
- 查询谓词,每个谓词包括:属性名、查询值orders
- 属性排序skip
- 跳过limit
- 限制返回数量boolean isStop()
TaskHandler getTaskHandler()
Transaction beginTransaction()
TransactionIsolation.READ_COMMITTED
Graph
使用,届时所有方法均以事务方式执行(除不支持事务操作的方法外)Transaction beginTransaction(TransactionIsolation isolation)
isolation
- 隔离级别,参考TransactionIsolation
Graph
使用,届时所有方法均以事务方式执行(除不支持事务操作的方法外)int getDegree(long elementId, Direction direction)
elementId
- 内部Iddirection
- 方向TraversalDescription traversalDescription()
com.graphdbapi.memory.GroupMemoryTracker getMemoryTracker(java.lang.String name)
name
- 类型名,可以获取的类型为: Algo | ParParKit parKit()
java.util.List<com.graphdbapi.engine.extend.Path> extend(java.util.Set<java.lang.Long> startIds, java.util.List<com.graphdbapi.engine.extend.ExtendFilter> extendFilters, com.graphdbapi.engine.extend.ExtendLimiter extendLimiter)
startIds
- 起始点列表。extendFilters
- 扩展过滤器,扩展层数等于过滤器大小extendDepth = extendFilters.size()
。extendLimiter
- 扩展全局限制器,填NULL
表示不限制。com.graphdbapi.engine.parallel.ParallelContext getParallelContext()