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。intaffinity(long elementId)获取点VertexId所在的主机号。单机版默认返回0。default TransactionbeginTransaction()开启一个事务 default: 返回null是为了不影响算法引擎的接口依赖default <V> Collection<V>broadcastCallable(GraphBroadcastCallable<V> callable)带返回值的广播任务。将会在所有节点上执行。单机版不可用。<V> Collection<V>broadcastCallable(Collection<Integer> affinities, GraphBroadcastCallable<V> callable)带返回值的广播任务。将会在指定节点上执行。单机版不可用。default voidbroadcastRunnable(GraphBroadcastRunnable runnable)不带返回值的广播任务。将会在所有节点上执行。单机版不可用。voidbroadcastRunnable(Collection<Integer> affinities, GraphBroadcastRunnable runnable)不带返回值的广播任务。将会在指定节点上执行。单机版不可用。voiddeleteEdge(String edgeId)删除边voiddeleteVertex(long vertexId)删除点以及所有与点相关的边voiddeleteVertex(long vertexId, boolean isDeleteEdge)删除点default longedgeIteratorFast(Consumer<Edge> consumer)多线程迭代本地边default longedgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types)多线程迭代本地边longedgeIteratorFast(Consumer<Edge> consumer, Set<Integer> types, boolean backup)多线程迭代本地边intedgeTypeIndex(String edgeId)通过边EdgeId获取边类型indexdefault <CONFIG extends com.graphdbapi.pregel.GraphPregelConfig>
com.graphdbapi.pregel.GraphPregelResultexecutePregel(CONFIG config, com.graphdbapi.pregel.GraphPregelComputation<CONFIG> computation)执行分布式 pregel 任务voidflushData()手动触发写盘longgetAllEdgeCount()查询集群总边数longgetAllVertexCount()查询集群总点数longgetEdgeCount(boolean isLocal)查询边数量longgetEdgeCount(int edgeTypeIndex)查询集群指定边类型总数longgetEdgeCount(int typeIndex, boolean isLocal)查询指定边类型数量StringgetGraphName()查询图名称GraphDbAtomicLonggetOrCreateGraphDbAtomicLong(String name, long initValue)创建一个分布式 AtomicLongStringgetPk(long vertexId)根据VertexId来查询对应点的外部唯一标识值longgetSnowId()返回 Cypher 任务 idlonggetVertexCount(boolean isLocal)查询点数量longgetVertexCount(int vertexTypeIndex)查询集群指定点类型总数longgetVertexCount(int typeIndex, boolean isLocal)查询指定点类型数量Map<Long,Vertex>getVertexes(Collection<Long> ids)批量查询点Set<Long>getVertexIdByPk(String pk)根据外部唯一标识查询点VertexIdLonggetVertexIdByPk(String pk, int typeIndex)根据外部唯一标识和点类型index查询点VertexIdLonggetVertexIdByPk(String pk, String type)根据外部唯一标识和点类型名查询点VertexId。Set<Long>getVertexIdByPkCompatible(String pk)根据外部唯一标识查询点VertexIdLonggetVertexIdByPkCompatible(String pk, int typeIndex)根据外部唯一标识和点类型index查询点VertexIdLonggetVertexIdByPkCompatible(String pk, String type)根据外部唯一标识和点类型名查询点VertexId。booleanhasVertex(long id)根据点VertexId判断点是否存在EdgeinsertEdgeByVertexId(long fromId, long toId, int typeIndex, Map<String,Object> propertyMap)添加边VertexinsertVertexByPk(String pk, int typeIndex, Map<String,Object> propertyMap)添加点booleanisStop()返回布尔值用于停止par任务intlocalAffinity()获取本机的affinity。单机版默认返回0。GraphSchemameta()查询图的meta信息default voidputPropertyValue(long vertexId, String propertyName, Object data)为点添加属性voidputPropertyValue(long vertexId, String propertyName, Object data, boolean isMerge)为点添加属性default voidputPropertyValue(String edgeId, String propertyName, Object data)为边添加属性voidputPropertyValue(String edgeId, String propertyName, Object data, boolean isMerge)为边添加属性booleanremovePropertyValue(long vertexId)删除点VertexId的所有属性,除外部唯一标识值booleanremovePropertyValue(long vertexId, String propertyName)删除点VertexId的属性booleanremovePropertyValue(String edgeId)删除边EdgeId的所有属性,除combineKeybooleanremovePropertyValue(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)查询带条件过滤的集群所有点EdgeretrieveEdge(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)找边。不返回边属性EdgeretrieveEdgeCompatible(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)查询或插入边。VertexretrieveOrInsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)查询或插入点。VertexretrieveVertex(long vertexId)查询点。根据点id查询点。VertexretrieveVertexByPk(String pk, int typeIndex)查询点。根据外部唯一标识值和点类型index查询点。VertexretrieveVertexByPkCompatible(String pk, int typeIndex)查询点。根据外部唯一标识值和点类型index查询点。VertexretrieveVertexCompatible(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 EdgeupdateEdge(String edgeId, Map<String,Object> propertyMap)更新边的多个属性EdgeupdateEdge(String edgeId, Map<String,Object> propertyMap, boolean isMerge)更新边的多个属性default VertexupdateVertex(long vertexId, Map<String,Object> propertyMap)更新点的多个属性VertexupdateVertex(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 VertexupsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap)插入或更新点。VertexupsertVertex(String pk, int typeIndex, Map<String,Object> propertyMap, boolean isMerge)插入或更新点。default longvertexIteratorFast(Consumer<Vertex> consumer)多线程迭代本地点default longvertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types)多线程迭代本地点longvertexIteratorFast(Consumer<Vertex> consumer, Set<Integer> types, boolean backup)多线程迭代本地点intvertexTypeIndex(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使用,届时所有方法均以事务方式执行(除不支持事务操作的方法外)
-
-