Package com.graphdbapi
Interface Graph
-
- All Known Subinterfaces:
Transaction
public interface Graph
入口类,图对象
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Set<Integer>
affinities()
获取集群中所有affinity。单机版默认返回0。int
affinity(long elementId)
获取点VertexId所在的主机号。单机版默认返回0。default Transaction
beginTransaction()
开启一个事务 default: 返回null是为了不影响算法引擎的接口依赖default <V> Collection<V>
broadcastCallable(GraphBroadcastCallable<V> callable)
带返回值的广播任务。将会在所有节点上执行。单机版不可用。<V> Collection<V>
broadcastCallable(Collection<Integer> affinities, GraphBroadcastCallable<V> callable)
带返回值的广播任务。将会在指定节点上执行。单机版不可用。default void
broadcastRunnable(GraphBroadcastRunnable runnable)
不带返回值的广播任务。将会在所有节点上执行。单机版不可用。void
broadcastRunnable(Collection<Integer> affinities, GraphBroadcastRunnable runnable)
不带返回值的广播任务。将会在指定节点上执行。单机版不可用。void
deleteEdge(String edgeId)
删除边void
deleteVertex(long vertexId)
删除点以及所有与点相关的边void
deleteVertex(long vertexId, boolean isDeleteEdge)
删除点default long
edgeIteratorFast(Consumer<Edge> consumer)
多线程迭代本地边default long
edgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types)
多线程迭代本地边long
edgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types, boolean backup)
多线程迭代本地边int
edgeTypeIndex(String edgeId)
通过边EdgeId获取边类型indexdefault <CONFIG extends com.graphdbapi.pregel.GraphPregelConfig>
com.graphdbapi.pregel.GraphPregelResultexecutePregel(CONFIG config, com.graphdbapi.pregel.GraphPregelComputation<CONFIG> computation)
执行分布式 pregel 任务void
flushData()
手动触发写盘long
getAllEdgeCount()
查询集群总边数long
getAllVertexCount()
查询集群总点数long
getEdgeCount(boolean isLocal)
查询边数量long
getEdgeCount(int edgeTypeIndex)
查询集群指定边类型总数long
getEdgeCount(int typeIndex, boolean isLocal)
查询指定边类型数量String
getGraphName()
查询图名称GraphDbAtomicLong
getOrCreateGraphDbAtomicLong(String name, long initValue)
创建一个分布式 AtomicLongString
getPk(long vertexId)
根据VertexId来查询对应点的外部唯一标识值long
getSnowId()
返回 Cypher 任务 idlong
getVertexCount(boolean isLocal)
查询点数量long
getVertexCount(int vertexTypeIndex)
查询集群指定点类型总数long
getVertexCount(int typeIndex, boolean isLocal)
查询指定点类型数量Map<Long,Vertex>
getVertexes(Collection<Long> ids)
批量查询点Set<Long>
getVertexIdByPk(String pk)
根据外部唯一标识查询点VertexIdLong
getVertexIdByPk(String pk, int typeIndex)
根据外部唯一标识和点类型index查询点VertexIdLong
getVertexIdByPk(String pk, String type)
根据外部唯一标识和点类型名查询点VertexId。Set<Long>
getVertexIdByPkCompatible(String pk)
根据外部唯一标识查询点VertexIdLong
getVertexIdByPkCompatible(String pk, int typeIndex)
根据外部唯一标识和点类型index查询点VertexIdLong
getVertexIdByPkCompatible(String pk, String type)
根据外部唯一标识和点类型名查询点VertexId。boolean
hasVertex(long id)
根据点VertexId判断点是否存在Edge
insertEdgeByVertexId(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
添加边Vertex
insertVertexByPk(String pk, int typeIndex, Map<String,Object> propertyMap)
添加点boolean
isStop()
返回布尔值用于停止par任务int
localAffinity()
获取本机的affinity。单机版默认返回0。GraphSchema
meta()
查询图的meta信息default void
putPropertyValue(long vertexId, String propertyName, Object data)
为点添加属性void
putPropertyValue(long vertexId, String propertyName, Object data, boolean isMerge)
为点添加属性default void
putPropertyValue(String edgeId, String propertyName, Object data)
为边添加属性void
putPropertyValue(String edgeId, String propertyName, Object data, boolean isMerge)
为边添加属性boolean
removePropertyValue(long vertexId)
删除点VertexId的所有属性,除外部唯一标识值boolean
removePropertyValue(long vertexId, String propertyName)
删除点VertexId的属性boolean
removePropertyValue(String edgeId)
删除边EdgeId的所有属性,除combineKeyboolean
removePropertyValue(String edgeId, String propertyName)
删除边EdgeId的属性default GraphAutoCloseableIterator<Edge>
retrieveAllEdges()
查询集群所有边GraphAutoCloseableIterator<Edge>
retrieveAllEdges(Set<Integer> edgeTypes, Predicate<Edge> pe)
查询带条件过滤的集群所有边default GraphAutoCloseableIterator<Vertex>
retrieveAllVertexes()
查询集群所有点GraphAutoCloseableIterator<Vertex>
retrieveAllVertexes(Set<Integer> vertexTypes, Predicate<Vertex> pv)
查询带条件过滤的集群所有点Edge
retrieveEdge(String edgeId)
查询边default List<Edge>
retrieveEdgeByVertexId(long vertexId)
找边。无条件,Both方向List<Edge>
retrieveEdgeByVertexId(long srcId, long dstId, Set<Integer> edgeTypeFilter, Direction direction, int limit, Predicate<Element> pe)
找边。List<Edge>
retrieveEdgeByVertexId(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
找边Iterator<Edge>
retrieveEdgeByVertexId(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
找边。通过边迭代获取List<Edge>
retrieveEdgeByVertexIdForAlgo(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
根据VertexId查边Iterator<Edge>
retrieveEdgeByVertexIdForAlgo(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
根据VertexId查边List<Edge>
retrieveEdgeByVertexIdNoProps(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
找边。不返回边属性Edge
retrieveEdgeCompatible(String edgeId)
查询边default Iterator<Edge>
retrieveLocalEdges()
查询本机所有边Iterator<Edge>
retrieveLocalEdges(Set<Integer> edgeTypes, Predicate<Edge> pe)
查询带条件过滤的本机所有边default Iterator<Vertex>
retrieveLocalVertexes()
查询本机所有点Iterator<Vertex>
retrieveLocalVertexes(Set<Integer> vertexTypes, Predicate<Vertex> pv)
查询带条件过滤的本机所有点Iterator<Long>
retrieveNeighborIdIterator(long vertexId, Direction direction, Set<Integer> types)
获取邻居ElementIdList<Edge>
retrieveOrInsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
查询或插入边。Vertex
retrieveOrInsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)
查询或插入点。Vertex
retrieveVertex(long vertexId)
查询点。根据点id查询点。Vertex
retrieveVertexByPk(String pk, int typeIndex)
查询点。根据外部唯一标识值和点类型index查询点。Vertex
retrieveVertexByPkCompatible(String pk, int typeIndex)
查询点。根据外部唯一标识值和点类型index查询点。Vertex
retrieveVertexCompatible(long vertexId)
查询点。根据点id查询点。GraphAutoCloseableIterator<String>
searchEdgesByIndex(String typeName, String propName, Object data, int skip, int limit)
通过索引,查找边数据,返回边IdGraphAutoCloseableIterator<Long>
searchVertexesByIndex(String typeName, String propName, Object data, int skip, int limit)
通过索引,查找点数据,返回点Iddefault Edge
updateEdge(String edgeId, Map<String,Object> propertyMap)
更新边的多个属性Edge
updateEdge(String edgeId, Map<String,Object> propertyMap, boolean isMerge)
更新边的多个属性default Vertex
updateVertex(long vertexId, Map<String,Object> propertyMap)
更新点的多个属性Vertex
updateVertex(long vertexId, Map<String,Object> propertyMap, boolean isMerge)
更新点的多个属性default List<Edge>
upsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
插入或更新边。List<Edge>
upsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)
插入或更新边。default Vertex
upsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)
插入或更新点。Vertex
upsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)
插入或更新点。default long
vertexIteratorFast(Consumer<Vertex> consumer)
多线程迭代本地点default long
vertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types)
多线程迭代本地点long
vertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types, boolean backup)
多线程迭代本地点int
vertexTypeIndex(long vertexId)
通过点VertexId获取点类型Index
-
-
-
Method Detail
-
meta
GraphSchema meta()
查询图的meta信息- Returns:
GraphSchema
-
getGraphName
String getGraphName()
查询图名称- 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
Set<Long> getVertexIdByPk(String pk)
根据外部唯一标识查询点VertexId- Parameters:
pk
- 外部唯一标识- Returns:
- VertexId集合。若找到点,则返回点id集合。若没找到返回PkNotFound异常。
-
getVertexIdByPkCompatible
Set<Long> getVertexIdByPkCompatible(String pk)
根据外部唯一标识查询点VertexId- Parameters:
pk
- 外部唯一标识- Returns:
- VertexId集合。若找到点,则返回点id集合。若没找到,返回emptySet。
-
getVertexIdByPk
Long getVertexIdByPk(String pk, int typeIndex)
根据外部唯一标识和点类型index查询点VertexId- Parameters:
pk
- 外部唯一标识typeIndex
- 点类型index- Returns:
- 若找到点,则返回点id。若没找到返回PkNotFound异常。
-
getVertexIdByPkCompatible
Long getVertexIdByPkCompatible(String pk, int typeIndex)
根据外部唯一标识和点类型index查询点VertexId- Parameters:
pk
- 外部唯一标识typeIndex
- 点类型index- Returns:
- 若找到点,则返回点id。若没找到,返回null。
-
getVertexIdByPk
Long getVertexIdByPk(String pk, String type)
根据外部唯一标识和点类型名查询点VertexId。- Parameters:
pk
- 外部唯一标识type
- 点类型名- Returns:
- VertexId 若找到点,则返回点id。若没找到返回PkNotFound异常。
-
getVertexIdByPkCompatible
Long getVertexIdByPkCompatible(String pk, String type)
根据外部唯一标识和点类型名查询点VertexId。- Parameters:
pk
- 外部唯一标识type
- 点类型名- Returns:
- VertexId 若找到点,则返回点id。若没找到,返回null。
-
retrieveVertexByPk
Vertex retrieveVertexByPk(String pk, int typeIndex)
查询点。根据外部唯一标识值和点类型index查询点。- Parameters:
pk
- 外部唯一标识值typeIndex
- 点类型index- Returns:
- 点信息。如果存在,返回点信息。若没找到返回VertexNotFound异常。
-
retrieveVertexByPkCompatible
Vertex retrieveVertexByPkCompatible(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
Map<Long,Vertex> getVertexes(Collection<Long> ids)
批量查询点- Parameters:
ids
- 点VertexId列表- Returns:
- 查询到的id和点的map映射
-
retrieveEdge
Edge retrieveEdge(String edgeId)
查询边- Parameters:
edgeId
- 边EdgeId- Returns:
- 边信息。如果存在,返回边信息。如果不存在,返回EdgeNotFound异常。
-
retrieveEdgeCompatible
Edge retrieveEdgeCompatible(String edgeId)
查询边- Parameters:
edgeId
- 边EdgeId- Returns:
- 边信息。如果存在,返回边信息。如果不存在,返回null。
-
retrieveEdgeByVertexId
List<Edge> retrieveEdgeByVertexId(long srcId, long dstId, Set<Integer> edgeTypeFilter, Direction direction, int limit, Predicate<Element> pe)
找边。- Parameters:
srcId
- 起始点VertexIddstId
- 终止点VertexIdedgeTypeFilter
- 边类型过滤direction
- 边方向pe
- 边条件limit
- 边个数限制- Returns:
- 边集合。如果有边,则返回边集合。如果没有边,返回emptyList。如果起止点不存在,返回emptyList。
-
retrieveEdgeByVertexId
default List<Edge> retrieveEdgeByVertexId(long vertexId)
找边。无条件,Both方向- Parameters:
vertexId
- 点VertexId- Returns:
- 边列表。如果有边,则返回边集合。如果没有边,返回emptyList。如果起始点不存在,返回emptyList。
-
retrieveEdgeByVertexId
Iterator<Edge> retrieveEdgeByVertexId(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
找边。通过边迭代获取- Parameters:
vertexId
- 点VertexIdedgeTypeFilter
- 边类型过滤direction
- 边方向pe
- 边条件pv
- 点条件neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性- Returns:
- 边列表。如果有边,则返回边集合。如果没有边,返回emptyList。如果起始点不存在,返回emptyList。
-
retrieveEdgeByVertexIdForAlgo
Iterator<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop, boolean onlyLoop, boolean includeProps)
根据VertexId查边- Parameters:
vertexId
- 点idedgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边onlyLoop
- 是否只返回环路边includeProps
- 边是否要返回属性- Returns:
- 边迭代器
-
retrieveEdgeByVertexId
List<Edge> retrieveEdgeByVertexId(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
找边- Parameters:
vertexId
- 点VertexIdedgeTypeFilter
- 边条件direction
- 边方向neighborLimit
- 邻居点上限, 填小于0 不参与计算edgeLimit
- 邻居边上限,填小于0 不参与计算pv
- 点条件pe
- 边条件includeLoop
- 是否包含环路边- Returns:
- 边列表。如果有边,则返回边集合。如果没有边,返回emptyList。如果起始点不存在,返回emptyList。
-
retrieveEdgeByVertexIdForAlgo
List<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
根据VertexId查边- Parameters:
vertexId
- 点idedgeTypeFilter
- 过滤的边类型direction
- 边方向neighborLimit
- 邻居点个数上限edgeLimit
- 邻居边数上限pv
- 点条件pe
- 边条件includeLoop
- 是否返回包含环路的边- Returns:
- 边列表
-
retrieveEdgeByVertexIdNoProps
List<Edge> retrieveEdgeByVertexIdNoProps(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
找边。不返回边属性- Parameters:
vertexId
- 点VertexIdedgeTypeFilter
- 边条件direction
- 边方向neighborLimit
- 邻居点上限, 填小于0 不参与计算edgeLimit
- 邻居边上限,填小于0 不参与计算pv
- 点条件pe
- 边条件includeLoop
- 是否包含环路边- Returns:
- 边列表。如果有边,则返回边集合。如果没有边,返回emptyList。如果起始点不存在,返回emptyList。
-
retrieveNeighborIdIterator
Iterator<Long> retrieveNeighborIdIterator(long vertexId, Direction direction, Set<Integer> types)
获取邻居ElementId- Parameters:
vertexId
- 点Iddirection
- 方向types
- 边类型- Returns:
- 邻居ElementId
-
getPk
String getPk(long vertexId)
根据VertexId来查询对应点的外部唯一标识值- Parameters:
vertexId
- 点VertexId- Returns:
- 点外部唯一标识值
-
retrieveAllVertexes
default GraphAutoCloseableIterator<Vertex> retrieveAllVertexes()
查询集群所有点- Returns:
- 迭代查询集群所有点
-
retrieveAllVertexes
GraphAutoCloseableIterator<Vertex> retrieveAllVertexes(Set<Integer> vertexTypes, Predicate<Vertex> pv)
查询带条件过滤的集群所有点- Parameters:
vertexTypes
- 点类型过滤pv
- 点条件过滤- Returns:
- 迭代查询带条件过滤的集群所有点
-
retrieveLocalVertexes
Iterator<Vertex> retrieveLocalVertexes(Set<Integer> vertexTypes, Predicate<Vertex> pv)
查询带条件过滤的本机所有点- Parameters:
vertexTypes
- 点类型index集合pv
- 点过滤- Returns:
- 迭代查询带条件过滤的本机所有点
-
retrieveAllEdges
default GraphAutoCloseableIterator<Edge> retrieveAllEdges()
查询集群所有边- Returns:
- 迭代查询集群所有边
-
retrieveAllEdges
GraphAutoCloseableIterator<Edge> retrieveAllEdges(Set<Integer> edgeTypes, Predicate<Edge> pe)
查询带条件过滤的集群所有边- Parameters:
edgeTypes
- 边类型index集合pe
- 边过滤- Returns:
- 迭代查询带条件过滤的集群所有边
-
retrieveLocalEdges
Iterator<Edge> retrieveLocalEdges(Set<Integer> edgeTypes, Predicate<Edge> pe)
查询带条件过滤的本机所有边- Parameters:
edgeTypes
- 边类型index集合pe
- 边过滤- Returns:
- 迭代查询带条件过滤的本机所有边
-
vertexIteratorFast
default long vertexIteratorFast(Consumer<Vertex> consumer)
多线程迭代本地点- Parameters:
consumer
- consumer实现需要保证线程安全- Returns:
- 迭代过的点数量
-
vertexIteratorFast
default long vertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types)
多线程迭代本地点- Parameters:
consumer
- consumer实现需要保证线程安全types
- 需要迭代的点类型- Returns:
- 迭代过的点数量
-
vertexIteratorFast
long vertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types, boolean backup)
多线程迭代本地点- Parameters:
consumer
- consumer实现需要保证线程安全types
- 需要迭代的点类型backup
- 是否迭代backup数据- Returns:
- 迭代过的点数量
-
edgeIteratorFast
default long edgeIteratorFast(Consumer<Edge> consumer)
多线程迭代本地边- Parameters:
consumer
- consumer实现需要保证线程安全- Returns:
- 迭代过的边数量
-
edgeIteratorFast
default long edgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types)
多线程迭代本地边- Parameters:
consumer
- consumer实现需要保证线程安全types
- 需要迭代的边类型- Returns:
- 迭代过的边数量
-
edgeIteratorFast
long edgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types, boolean backup)
多线程迭代本地边- Parameters:
consumer
- consumer实现需要保证线程安全types
- 需要迭代的边类型backup
- 是否迭代backup数据- Returns:
- 迭代过的边数量
-
putPropertyValue
default void putPropertyValue(long vertexId, String propertyName, Object data)
为点添加属性- Parameters:
vertexId
- 点VertexIdpropertyName
- 属性名data
- 属性值
-
putPropertyValue
void putPropertyValue(long vertexId, String propertyName, Object data, boolean isMerge)
为点添加属性- Parameters:
vertexId
- 点VertexIdpropertyName
- 属性名data
- 属性值isMerge
- 集合属性追加或覆盖
-
putPropertyValue
default void putPropertyValue(String edgeId, String propertyName, Object data)
为边添加属性- Parameters:
edgeId
- 边EdgeIdpropertyName
- 属性名data
- 属性值
-
putPropertyValue
void putPropertyValue(String edgeId, String propertyName, Object data, boolean isMerge)
为边添加属性- Parameters:
edgeId
- 边EdgeIdpropertyName
- 属性名data
- 属性值isMerge
- 集合属性追加或覆盖
-
insertVertexByPk
Vertex insertVertexByPk(String pk, int typeIndex, Map<String,Object> propertyMap)
添加点- Parameters:
pk
- 外部唯一标识值typeIndex
- 点类型indexpropertyMap
- {propertyName, Object} 属性列表- Returns:
- 添加成功的点。如果点存在,则抛出异常。如果点不存在,则插入。
-
insertEdgeByVertexId
Edge insertEdgeByVertexId(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
添加边- Parameters:
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性- Returns:
- 添加成功的边
-
retrieveOrInsertVertex
Vertex retrieveOrInsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)
查询或插入点。- Parameters:
pk
- 外部唯一标识typeIndex
- 点类型indexpropertyMap
- 点属性- Returns:
- 若点已经存在,仅查询并返回点信息,属性值不做修改。若点不存在,则插入。
-
retrieveOrInsertEdge
List<Edge> retrieveOrInsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
查询或插入边。- Parameters:
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性- Returns:
- 若边已经存在,仅查询并返回边信息,属性值不做修改。若点不存在,则插入。
-
upsertVertex
default Vertex upsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)
插入或更新点。- Parameters:
pk
- 外部唯一标识typeIndex
- 点类型indexpropertyMap
- 点属性- Returns:
- 若点已经存在,更新属性值。若点不存在,则插入。
-
upsertVertex
Vertex upsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)
插入或更新点。- Parameters:
pk
- 外部唯一标识typeIndex
- 点类型indexpropertyMap
- 点属性isMerge
- 集合属性追加或覆盖- Returns:
- 若点已经存在,更新属性值。若点不存在,则插入。
-
upsertEdge
default List<Edge> upsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
插入或更新边。- Parameters:
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性- Returns:
- 若边已经存在,更新属性值。若点不存在,则插入。
-
upsertEdge
List<Edge> upsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)
插入或更新边。- Parameters:
fromId
- 起始点VertexIdtoId
- 终止点VertexIdtypeIndex
- 边类型indexpropertyMap
- 边属性isMerge
- 集合属性追加或覆盖- Returns:
- 若边已经存在,更新属性值。若点不存在,则插入。
-
updateVertex
default Vertex updateVertex(long vertexId, Map<String,Object> propertyMap)
更新点的多个属性- Parameters:
vertexId
- 点VertexIdpropertyMap
- 点属性- Returns:
- 更新成功的点
-
updateVertex
Vertex updateVertex(long vertexId, Map<String,Object> propertyMap, boolean isMerge)
更新点的多个属性- Parameters:
vertexId
- 点VertexIdpropertyMap
- 点属性isMerge
- 集合属性追加或覆盖- Returns:
- 更新成功的点
-
updateEdge
default Edge updateEdge(String edgeId, Map<String,Object> propertyMap)
更新边的多个属性- Parameters:
edgeId
- 边EdgeIdpropertyMap
- 边属性- Returns:
- 更新成功的边
-
updateEdge
Edge updateEdge(String edgeId, Map<String,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(String edgeId)
删除边- Parameters:
edgeId
- 边EdgeId
-
removePropertyValue
boolean removePropertyValue(long vertexId, String propertyName)
删除点VertexId的属性- Parameters:
vertexId
- 点VertexIdpropertyName
- 属性名- Returns:
- 是否成功
-
removePropertyValue
boolean removePropertyValue(String edgeId, String propertyName)
删除边EdgeId的属性- Parameters:
edgeId
- 边EdgeIdpropertyName
- 属性名- Returns:
- 是否成功
-
removePropertyValue
boolean removePropertyValue(long vertexId)
删除点VertexId的所有属性,除外部唯一标识值- Parameters:
vertexId
- 点VertexId- Returns:
- 是否成功
-
removePropertyValue
boolean removePropertyValue(String edgeId)
删除边EdgeId的所有属性,除combineKey- Parameters:
edgeId
- 边EdgeId- Returns:
- 是否成功
-
broadcastCallable
default <V> Collection<V> broadcastCallable(GraphBroadcastCallable<V> callable)
带返回值的广播任务。将会在所有节点上执行。单机版不可用。- Type Parameters:
V
- 返回值集合- Parameters:
callable
- 任务- Returns:
- 广播任务的返回值集合
-
broadcastCallable
<V> Collection<V> broadcastCallable(Collection<Integer> affinities, GraphBroadcastCallable<V> callable)
带返回值的广播任务。将会在指定节点上执行。单机版不可用。- Type Parameters:
V
- 返回值集合- Parameters:
affinities
- 节点affinity集合callable
- 任务- Returns:
- 广播任务的返回值集合
-
broadcastRunnable
default void broadcastRunnable(GraphBroadcastRunnable runnable)
不带返回值的广播任务。将会在所有节点上执行。单机版不可用。- Parameters:
runnable
- 任务
-
broadcastRunnable
void broadcastRunnable(Collection<Integer> affinities, GraphBroadcastRunnable runnable)
不带返回值的广播任务。将会在指定节点上执行。单机版不可用。- Parameters:
affinities
- 节点affinity集合runnable
- 任务
-
affinity
int affinity(long elementId)
获取点VertexId所在的主机号。单机版默认返回0。- Parameters:
elementId
- 点VertexId- Returns:
- 节点号
-
localAffinity
int localAffinity()
获取本机的affinity。单机版默认返回0。- Returns:
- affinity
-
vertexTypeIndex
int vertexTypeIndex(long vertexId)
通过点VertexId获取点类型Index- Parameters:
vertexId
- 点VertexId- Returns:
- 如果会抛出异常或者类型在meta中不存在,是点VertexId不存在或不符合规范。为了性能没有验证是否存在
-
edgeTypeIndex
int edgeTypeIndex(String edgeId)
通过边EdgeId获取边类型index- Parameters:
edgeId
- 边EdgeId- Returns:
- 如果会抛出异常或者类型在meta中不存在,是边EdgeId不存在或不符合规范。为了性能没有验证是否存在
-
getSnowId
long getSnowId()
返回 Cypher 任务 id- Returns:
- cypherTaskID
-
flushData
void flushData()
手动触发写盘
-
getOrCreateGraphDbAtomicLong
GraphDbAtomicLong getOrCreateGraphDbAtomicLong(String name, long initValue)
创建一个分布式 AtomicLong- Parameters:
name
- 。同名将复用initValue
- 。初始值- Returns:
- GraphDbAtomicLong
-
searchVertexesByIndex
GraphAutoCloseableIterator<Long> searchVertexesByIndex(String typeName, String propName, Object data, int skip, int limit)
通过索引,查找点数据,返回点Id- Parameters:
typeName
- 类型名propName
- 属性名data
- 查找值skip
- 跳过limit
- 限制返回数量- Returns:
- 点id迭代器
-
searchEdgesByIndex
GraphAutoCloseableIterator<String> searchEdgesByIndex(String typeName, String propName, Object data, int skip, int limit)
通过索引,查找边数据,返回边Id- Parameters:
typeName
- 类型名propName
- 属性名data
- 查找值skip
- 跳过limit
- 限制返回数量- Returns:
- 边id迭代器
-
isStop
boolean isStop()
返回布尔值用于停止par任务- Returns:
- 用于判断的布尔值
-
executePregel
default <CONFIG extends com.graphdbapi.pregel.GraphPregelConfig> com.graphdbapi.pregel.GraphPregelResult executePregel(CONFIG config, com.graphdbapi.pregel.GraphPregelComputation<CONFIG> computation)
执行分布式 pregel 任务- Type Parameters:
CONFIG
- GraphPregelConfig类型- Parameters:
config
- pregel 配置类computation
- pregel 计算类- Returns:
- 分布式 pregel 任务计算结果
- Since:
- 3.4.0
-
beginTransaction
default Transaction beginTransaction()
开启一个事务 default: 返回null是为了不影响算法引擎的接口依赖- Returns:
- 事务对象,可以完全当做
Graph
使用,届时所有方法均以事务方式执行(除不支持事务操作的方法外)
-
-