public interface Graph
| 限定符和类型 | 方法和说明 |
|---|---|
Set<Integer> |
affinities()
获取集群中所有affinity。
|
int |
affinity(long elementId)
获取点VertexId所在的主机号。
|
<V> Collection<V> |
broadcastCallable(Collection<Integer> affinities,
GraphBroadcastCallable<V> callable)
带返回值的广播任务。
|
default <V> Collection<V> |
broadcastCallable(GraphBroadcastCallable<V> callable)
带返回值的广播任务。
|
void |
broadcastRunnable(Collection<Integer> affinities,
GraphBroadcastRunnable runnable)
不带返回值的广播任务。
|
default void |
broadcastRunnable(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获取边类型index
|
default <CONFIG extends com.graphdbapi.pregel.GraphPregelConfig> |
executePregel(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)
创建一个分布式 AtomicLong
|
String |
getPk(long vertexId)
根据VertexId来查询对应点的外部唯一标识值
|
long |
getSnowId()
返回 Cypher 任务 id
|
long |
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)
根据外部唯一标识查询点VertexId
|
Long |
getVertexIdByPk(String pk,
int typeIndex)
根据外部唯一标识和点类型index查询点VertexId
|
Long |
getVertexIdByPk(String pk,
String type)
根据外部唯一标识和点类型名查询点VertexId。
|
Set<Long> |
getVertexIdByPkCompatible(String pk)
根据外部唯一标识查询点VertexId
|
Long |
getVertexIdByPkCompatible(String pk,
int typeIndex)
根据外部唯一标识和点类型index查询点VertexId
|
Long |
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()
返回布尔值用于停止plugin任务
|
int |
localAffinity()
获取本机的affinity。
|
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的所有属性,除combineKey
|
boolean |
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)
找边。
|
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)
获取邻居ElementId
|
List<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)
查询点。
|
Vertex |
retrieveVertexByPk(String pk,
int typeIndex)
查询点。
|
Vertex |
retrieveVertexByPkCompatible(String pk,
int typeIndex)
查询点。
|
Vertex |
retrieveVertexCompatible(long vertexId)
查询点。
|
GraphAutoCloseableIterator<String> |
searchEdgesByIndex(String typeName,
String propName,
Object data,
int skip,
int limit)
通过索引,查找边数据,返回边Id
|
GraphAutoCloseableIterator<Long> |
searchVertexesByIndex(String typeName,
String propName,
Object data,
int skip,
int limit)
通过索引,查找点数据,返回点Id
|
default 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
|
GraphSchema meta()
GraphSchemaString getGraphName()
long getAllVertexCount()
long getAllEdgeCount()
long getVertexCount(int vertexTypeIndex)
vertexTypeIndex - 点类型indexlong getEdgeCount(int edgeTypeIndex)
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)
typeIndex - 边类型indexisLocal - 是否只取本节点数量。true本机数量,false集群总数量boolean hasVertex(long id)
id - VertexIdSet<Long> getVertexIdByPk(String pk)
pk - 外部唯一标识Set<Long> getVertexIdByPkCompatible(String pk)
pk - 外部唯一标识Long getVertexIdByPk(String pk, int typeIndex)
pk - 外部唯一标识typeIndex - 点类型indexLong getVertexIdByPkCompatible(String pk, int typeIndex)
pk - 外部唯一标识typeIndex - 点类型indexLong getVertexIdByPk(String pk, String type)
pk - 外部唯一标识type - 点类型名Long getVertexIdByPkCompatible(String pk, String type)
pk - 外部唯一标识type - 点类型名Vertex retrieveVertexByPk(String pk, int typeIndex)
pk - 外部唯一标识值typeIndex - 点类型indexVertex retrieveVertexByPkCompatible(String pk, int typeIndex)
pk - 外部唯一标识值typeIndex - 点类型indexVertex retrieveVertex(long vertexId)
vertexId - 点VertexIdVertex retrieveVertexCompatible(long vertexId)
vertexId - 点VertexIdMap<Long,Vertex> getVertexes(Collection<Long> ids)
ids - 点VertexId列表Edge retrieveEdge(String edgeId)
edgeId - 边EdgeIdEdge retrieveEdgeCompatible(String edgeId)
edgeId - 边EdgeIdList<Edge> retrieveEdgeByVertexId(long srcId, long dstId, Set<Integer> edgeTypeFilter, Direction direction, int limit, Predicate<Element> pe)
srcId - 起始点VertexIddstId - 终止点VertexIdedgeTypeFilter - 边类型过滤direction - 边方向pe - 边条件limit - 边个数限制default List<Edge> retrieveEdgeByVertexId(long vertexId)
vertexId - 点VertexIdIterator<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)
vertexId - 点VertexIdedgeTypeFilter - 边类型过滤direction - 边方向pe - 边条件pv - 点条件neighborLimit - 邻居点个数上限edgeLimit - 邻居边数上限includeLoop - 是否返回包含环路的边onlyLoop - 是否只返回环路边includeProps - 边是否要返回属性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 - 点idedgeTypeFilter - 过滤的边类型direction - 边方向neighborLimit - 邻居点个数上限edgeLimit - 邻居边数上限pv - 点条件pe - 边条件includeLoop - 是否返回包含环路的边onlyLoop - 是否只返回环路边includeProps - 边是否要返回属性List<Edge> retrieveEdgeByVertexId(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
vertexId - 点VertexIdedgeTypeFilter - 边条件direction - 边方向neighborLimit - 邻居点上限, 填小于0 不参与计算edgeLimit - 邻居边上限,填小于0 不参与计算pv - 点条件pe - 边条件includeLoop - 是否包含环路边List<Edge> retrieveEdgeByVertexIdForAlgo(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
vertexId - 点idedgeTypeFilter - 过滤的边类型direction - 边方向neighborLimit - 邻居点个数上限edgeLimit - 邻居边数上限pv - 点条件pe - 边条件includeLoop - 是否返回包含环路的边List<Edge> retrieveEdgeByVertexIdNoProps(long vertexId, Set<Integer> edgeTypeFilter, Direction direction, int neighborLimit, int edgeLimit, Predicate<Element> pv, Predicate<Element> pe, boolean includeLoop)
vertexId - 点VertexIdedgeTypeFilter - 边条件direction - 边方向neighborLimit - 邻居点上限, 填小于0 不参与计算edgeLimit - 邻居边上限,填小于0 不参与计算pv - 点条件pe - 边条件includeLoop - 是否包含环路边Iterator<Long> retrieveNeighborIdIterator(long vertexId, Direction direction, Set<Integer> types)
vertexId - 点Iddirection - 方向types - 边类型String getPk(long vertexId)
vertexId - 点VertexIddefault GraphAutoCloseableIterator<Vertex> retrieveAllVertexes()
GraphAutoCloseableIterator<Vertex> retrieveAllVertexes(Set<Integer> vertexTypes, Predicate<Vertex> pv)
vertexTypes - 点类型过滤pv - 点条件过滤Iterator<Vertex> retrieveLocalVertexes(Set<Integer> vertexTypes, Predicate<Vertex> pv)
vertexTypes - 点类型index集合pv - 点过滤default GraphAutoCloseableIterator<Edge> retrieveAllEdges()
GraphAutoCloseableIterator<Edge> retrieveAllEdges(Set<Integer> edgeTypes, Predicate<Edge> pe)
edgeTypes - 边类型index集合pe - 边过滤Iterator<Edge> retrieveLocalEdges(Set<Integer> edgeTypes, Predicate<Edge> pe)
edgeTypes - 边类型index集合pe - 边过滤default long vertexIteratorFast(Consumer<Vertex> consumer)
consumer - consumer实现需要保证线程安全default long vertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types)
consumer - consumer实现需要保证线程安全types - 需要迭代的点类型long vertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types, boolean backup)
consumer - consumer实现需要保证线程安全types - 需要迭代的点类型backup - 是否迭代backup数据default long edgeIteratorFast(Consumer<Edge> consumer)
consumer - consumer实现需要保证线程安全default long edgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types)
consumer - consumer实现需要保证线程安全types - 需要迭代的边类型long edgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types, boolean backup)
consumer - consumer实现需要保证线程安全types - 需要迭代的边类型backup - 是否迭代backup数据default void putPropertyValue(long vertexId,
String propertyName,
Object data)
vertexId - 点VertexIdpropertyName - 属性名data - 属性值void putPropertyValue(long vertexId,
String propertyName,
Object data,
boolean isMerge)
vertexId - 点VertexIdpropertyName - 属性名data - 属性值isMerge - 集合属性追加或覆盖default void putPropertyValue(String edgeId, String propertyName, Object data)
edgeId - 边EdgeIdpropertyName - 属性名data - 属性值void putPropertyValue(String edgeId, String propertyName, Object data, boolean isMerge)
edgeId - 边EdgeIdpropertyName - 属性名data - 属性值isMerge - 集合属性追加或覆盖Vertex insertVertexByPk(String pk, int typeIndex, Map<String,Object> propertyMap)
pk - 外部唯一标识值typeIndex - 点类型indexpropertyMap - {propertyName, Object} 属性列表Edge insertEdgeByVertexId(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
fromId - 起始点VertexIdtoId - 终止点VertexIdtypeIndex - 边类型indexpropertyMap - 边属性Vertex retrieveOrInsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)
pk - 外部唯一标识typeIndex - 点类型indexpropertyMap - 点属性List<Edge> retrieveOrInsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
fromId - 起始点VertexIdtoId - 终止点VertexIdtypeIndex - 边类型indexpropertyMap - 边属性default Vertex upsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)
pk - 外部唯一标识typeIndex - 点类型indexpropertyMap - 点属性Vertex upsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)
pk - 外部唯一标识typeIndex - 点类型indexpropertyMap - 点属性isMerge - 集合属性追加或覆盖default List<Edge> upsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)
fromId - 起始点VertexIdtoId - 终止点VertexIdtypeIndex - 边类型indexpropertyMap - 边属性List<Edge> upsertEdge(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)
fromId - 起始点VertexIdtoId - 终止点VertexIdtypeIndex - 边类型indexpropertyMap - 边属性isMerge - 集合属性追加或覆盖default Vertex updateVertex(long vertexId, Map<String,Object> propertyMap)
vertexId - 点VertexIdpropertyMap - 点属性Vertex updateVertex(long vertexId, Map<String,Object> propertyMap, boolean isMerge)
vertexId - 点VertexIdpropertyMap - 点属性isMerge - 集合属性追加或覆盖default Edge updateEdge(String edgeId, Map<String,Object> propertyMap)
edgeId - 边EdgeIdpropertyMap - 边属性Edge updateEdge(String edgeId, Map<String,Object> propertyMap, boolean isMerge)
edgeId - 边EdgeIdpropertyMap - 边属性isMerge - 集合属性追加或覆盖void deleteVertex(long vertexId)
vertexId - 点VertexIdvoid deleteVertex(long vertexId,
boolean isDeleteEdge)
vertexId - 点VertexIdisDeleteEdge - true:删除点以及所有与点相关的边。false:若边存在,则会删除失败并抛GraphDbApiExceptionvoid deleteEdge(String edgeId)
edgeId - 边EdgeIdboolean removePropertyValue(long vertexId,
String propertyName)
vertexId - 点VertexIdpropertyName - 属性名boolean removePropertyValue(String edgeId, String propertyName)
edgeId - 边EdgeIdpropertyName - 属性名boolean removePropertyValue(long vertexId)
vertexId - 点VertexIdboolean removePropertyValue(String edgeId)
edgeId - 边EdgeIddefault <V> Collection<V> broadcastCallable(GraphBroadcastCallable<V> callable)
V - 返回值集合callable - 任务<V> Collection<V> broadcastCallable(Collection<Integer> affinities, GraphBroadcastCallable<V> callable)
V - 返回值集合affinities - 节点affinity集合callable - 任务default void broadcastRunnable(GraphBroadcastRunnable runnable)
runnable - 任务void broadcastRunnable(Collection<Integer> affinities, GraphBroadcastRunnable runnable)
affinities - 节点affinity集合runnable - 任务int affinity(long elementId)
elementId - 点VertexIdint localAffinity()
int vertexTypeIndex(long vertexId)
vertexId - 点VertexIdint edgeTypeIndex(String edgeId)
edgeId - 边EdgeIdlong getSnowId()
void flushData()
GraphDbAtomicLong getOrCreateGraphDbAtomicLong(String name, long initValue)
name。同名将复用 - initValue。初始值 - GraphAutoCloseableIterator<Long> searchVertexesByIndex(String typeName, String propName, Object data, int skip, int limit)
typeName - 类型名propName - 属性名data - 查找值skip - 跳过limit - 限制返回数量GraphAutoCloseableIterator<String> searchEdgesByIndex(String typeName, String propName, Object data, int skip, int limit)
typeName - 类型名propName - 属性名data - 查找值skip - 跳过limit - 限制返回数量boolean isStop()
default <CONFIG extends com.graphdbapi.pregel.GraphPregelConfig> com.graphdbapi.pregel.GraphPregelResult executePregel(CONFIG config,
com.graphdbapi.pregel.GraphPregelComputation<CONFIG> computation)
CONFIG - GraphPregelConfig类型config - pregel 配置类computation - pregel 计算类