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