Package com.graphdbapi
Interface GraphSchema
-
public interface GraphSchema
图的schema信息
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
createCombinedEdgeType(java.lang.String edgeTypeName, int fromTypeIndex, int toTypeIndex)
添加边类型。新增一个拥有新的起止点类型的边类型。default void
createEdgeType(java.lang.String edgeTypeName, int fromTypeIndex, int toTypeIndex, boolean direct, boolean allowRepeat, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个边类型,并创建从from到to的CombinedEdgeType。default void
createEdgeType(java.lang.String edgeTypeName, int fromTypeIndex, int toTypeIndex, boolean direct, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个基于 combineKey 进行去重的边类型,为空表示基于边类型进行去重,并创建从from到to的CombinedEdgeType。void
createEdgeType(java.lang.String edgeTypeName, java.util.List<CombinedEdgeType> combinedEdgeTypes, boolean direct, boolean allowRepeat, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个边类型,并创建从from到to的CombinedEdgeType集合。default void
createEdgeType(java.lang.String edgeTypeName, java.util.List<CombinedEdgeType> combinedEdgeTypes, boolean direct, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个基于 combineKey 进行去重的边类型,为空表示基于边类型进行去重,并创建从from到to的CombinedEdgeType。void
createProperty(int typeIndex, boolean isVertex, java.lang.String propertyName, boolean isIndex, PropertyType propertyType)
为某个类型增加属性列。void
createVertexType(java.lang.String vertexTypeName, java.lang.String pkName, java.util.Map<java.lang.String,PropertyType> classMap)
添加点类型。为图新增一个点类型。void
dropEdgeType(int edgeTypeIndex)
删除边类型。删除图中已存在的一个边类型。void
dropProperty(int typeIndex, boolean isVertex, java.lang.String propertyName)
删除某个类型的某个属性。void
dropVertexType(int vertexTypeIndex)
删除点类型。删除图中已存在的一个点类型。void
editDirect(int edgeTypeIndex, boolean direct)
更新某个边类型的方向。无向or有向。void
editDirect(java.lang.String edgeTypeName, boolean direct)
更新某个边类型的方向。无向or有向。void
editGraphDesc(java.lang.String desc)
修改图描述void
editPropertyDesc(java.lang.String type, boolean isVertex, java.lang.String propName, java.lang.String desc)
修改属性描述void
editTypeDesc(java.lang.String type, boolean isVertex, java.lang.String desc)
修改类型描述boolean
getEdgeDirect(int edgeTypeIndex)
获取某个边类型的方向。boolean
getEdgeDirect(java.lang.String edgeTypeName)
获取某个边类型的方向。java.lang.Integer
getEdgeFromType(int edgeTypeIndex)
边类型起始点类型indexjava.lang.Integer
getEdgeToType(int edgeTypeIndex)
边类型终止点类型indexjava.util.List<java.lang.Integer>
getEdgeTypeIndex(int vertexTypeIndex, Direction direction)
根据点类型index和方向获取所对应边类型的indexjava.util.List<java.lang.Integer>
getEdgeTypeIndex(java.lang.String edgeTypeName)
根据边类型名称获取边类型indexjava.lang.Integer
getEdgeTypeIndex(java.lang.String edgeTypeName, int fromVertexTypeIndex, int toVertexTypeIndex)
根据边类型名称、边的起始点类型index和边的终止点类型index来获取边类型indexjava.lang.String
getEdgeTypeName(int edgeTypeIndex)
根据边类型index获取边类型名称java.util.Map<java.lang.Integer,java.lang.String>
getEdgeTypes()
边类型列表java.lang.String
getGraphDesc()
获取图描述java.lang.String
getGraphName()
获取图名称java.lang.String
getPropertyDesc(java.lang.String type, boolean isVertex, java.lang.String propName)
获取属性描述java.util.Map<java.lang.String,java.lang.Integer>
getPropertyIndexMap(int typeIndex, boolean isVertex)
获取类型下属性唯一标识idjava.util.Map<java.lang.String,PropertyType>
getPropertyTypeMap(int typeIndex, boolean isVertex)
获取类型下的属性java.lang.String
getTypeDesc(java.lang.String type, boolean isVertex)
获取类型描述long
getVersion()
获取图meta版本号java.lang.String
getVertexPkPropertyName(int vertexTypeIndex)
获取点类型对应的外部唯一标识属性名java.lang.Integer
getVertexTypeIndex(java.lang.String vertexTypeName)
根据点类型名称获取点类型indexdefault java.util.Set<java.lang.Integer>
getVertexTypeIndexes(java.lang.String... vertexTypeNames)
根据点类型名称获取点类型indexdefault java.util.Set<java.lang.Integer>
getVertexTypeIndexes(java.util.Collection<java.lang.String> vertexTypeNames)
根据点类型名称获取点类型indexjava.lang.String
getVertexTypeName(int vertexTypeIndex)
根据点类型index获取点类型名称java.util.Map<java.lang.Integer,java.lang.String>
getVertexTypes()
图中所有点类型void
renamePropertyName(int typeIndex, boolean isVertex, java.lang.String oldPropName, java.lang.String newPropName)
更新某个类型的某个属性名。void
renameTypeName(int typeIndex, boolean isVertex, java.lang.String newType)
更新某个类型名。
-
-
-
Method Detail
-
getVersion
long getVersion()
获取图meta版本号- Returns:
- meta版本号
-
getGraphName
java.lang.String getGraphName()
获取图名称- Returns:
- 图名称
-
getVertexTypes
java.util.Map<java.lang.Integer,java.lang.String> getVertexTypes()
图中所有点类型- Returns:
- {类型index,类型名}
-
getVertexTypeName
java.lang.String getVertexTypeName(int vertexTypeIndex)
根据点类型index获取点类型名称- Parameters:
vertexTypeIndex
- 点类型index- Returns:
- 点类型名称
-
getVertexTypeIndex
java.lang.Integer getVertexTypeIndex(java.lang.String vertexTypeName)
根据点类型名称获取点类型index- Parameters:
vertexTypeName
- 点类型名称- Returns:
- 点类型index。找不到会返回null
-
getVertexTypeIndexes
default java.util.Set<java.lang.Integer> getVertexTypeIndexes(java.lang.String... vertexTypeNames)
根据点类型名称获取点类型index- Parameters:
vertexTypeNames
- 点类型名称集合- Returns:
- 点类型index集合。参数为null返回null,未找到则返回空集合
-
getVertexTypeIndexes
default java.util.Set<java.lang.Integer> getVertexTypeIndexes(java.util.Collection<java.lang.String> vertexTypeNames)
根据点类型名称获取点类型index- Parameters:
vertexTypeNames
- 点类型名称集合- Returns:
- 点类型index集合。参数为null返回null,未找到则返回空集合
-
getEdgeTypes
java.util.Map<java.lang.Integer,java.lang.String> getEdgeTypes()
边类型列表- Returns:
- {类型index,类型名}
-
getEdgeTypeName
java.lang.String getEdgeTypeName(int edgeTypeIndex)
根据边类型index获取边类型名称- Parameters:
edgeTypeIndex
- 边类型index- Returns:
- 边类型名称
-
getEdgeTypeIndex
java.lang.Integer getEdgeTypeIndex(java.lang.String edgeTypeName, int fromVertexTypeIndex, int toVertexTypeIndex)
根据边类型名称、边的起始点类型index和边的终止点类型index来获取边类型index- Parameters:
edgeTypeName
- 边类型名称fromVertexTypeIndex
- 起始点类型indextoVertexTypeIndex
- 终止点类型index- Returns:
- 边类型index。找不到会返回null
-
getEdgeTypeIndex
java.util.List<java.lang.Integer> getEdgeTypeIndex(java.lang.String edgeTypeName)
根据边类型名称获取边类型index- Parameters:
edgeTypeName
- 边类型名称- Returns:
- 边类型index(空集合则表示没有)
-
getEdgeTypeIndex
java.util.List<java.lang.Integer> getEdgeTypeIndex(int vertexTypeIndex, Direction direction)
根据点类型index和方向获取所对应边类型的index- Parameters:
vertexTypeIndex
- 点类型indexdirection
- 方向- Returns:
- 边类型index(空集合则表示没有)
-
getPropertyTypeMap
java.util.Map<java.lang.String,PropertyType> getPropertyTypeMap(int typeIndex, boolean isVertex)
获取类型下的属性- Parameters:
typeIndex
- 类型indexisVertex
- true是点类型,false代表边类型- Returns:
- {属性名,属性类型}
-
getPropertyIndexMap
java.util.Map<java.lang.String,java.lang.Integer> getPropertyIndexMap(int typeIndex, boolean isVertex)
获取类型下属性唯一标识id- Parameters:
typeIndex
- 类型indexisVertex
- true是点类型,false代表边类型- Returns:
- {属性名,属性唯一标识id}
-
getEdgeFromType
java.lang.Integer getEdgeFromType(int edgeTypeIndex)
边类型起始点类型index- Parameters:
edgeTypeIndex
- 边类型index- Returns:
- 起始点类型index
-
getEdgeToType
java.lang.Integer getEdgeToType(int edgeTypeIndex)
边类型终止点类型index- Parameters:
edgeTypeIndex
- 边类型- Returns:
- 终止点类型index
-
getVertexPkPropertyName
java.lang.String getVertexPkPropertyName(int vertexTypeIndex)
获取点类型对应的外部唯一标识属性名- Parameters:
vertexTypeIndex
- 点类型index- Returns:
- 外部唯一标识属性名
-
createVertexType
void createVertexType(java.lang.String vertexTypeName, java.lang.String pkName, java.util.Map<java.lang.String,PropertyType> classMap)
添加点类型。为图新增一个点类型。- Parameters:
vertexTypeName
- 点类型名,不能为空。pkName
- 外部唯一标识属性名,不能为空。classMap
- 属性类型的映射,其中key是属性名,value是属性类型,允许为空。- Throws:
GraphDbApiException
- graphAPI异常
-
dropVertexType
void dropVertexType(int vertexTypeIndex)
删除点类型。删除图中已存在的一个点类型。- Parameters:
vertexTypeIndex
- 点类型index,不能为空。
-
createEdgeType
default void createEdgeType(java.lang.String edgeTypeName, int fromTypeIndex, int toTypeIndex, boolean direct, boolean allowRepeat, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个边类型,并创建从from到to的CombinedEdgeType。- Parameters:
edgeTypeName
- 边类型名,不能为空。fromTypeIndex
- 起始点类型index,不能为空。toTypeIndex
- 终止点类型index,不能为空。direct
- 边的方向allowRepeat
- 是否允许重复combineKey
- 基于属性进行去重,为空表示基于边类型进行去重,只有在 allowRepeat 为 false 时有效。classMap
- 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
-
createEdgeType
default void createEdgeType(java.lang.String edgeTypeName, int fromTypeIndex, int toTypeIndex, boolean direct, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个基于 combineKey 进行去重的边类型,为空表示基于边类型进行去重,并创建从from到to的CombinedEdgeType。- Parameters:
edgeTypeName
- 边类型,不能为空。fromTypeIndex
- 起始点类型index,不能为空。toTypeIndex
- 终止点类型index,不能为空。direct
- 边的方向combineKey
- 基于属性进行去重,为空表示基于边类型进行去重。classMap
- 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
-
createEdgeType
default void createEdgeType(java.lang.String edgeTypeName, java.util.List<CombinedEdgeType> combinedEdgeTypes, boolean direct, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个基于 combineKey 进行去重的边类型,为空表示基于边类型进行去重,并创建从from到to的CombinedEdgeType。- Parameters:
edgeTypeName
- 边类型名,不能为空。combinedEdgeTypes
- 起始点类型和终止点类型组合集合,不能为空。direct
- 边的方向combineKey
- 基于属性进行去重,为空表示基于边类型进行去重。classMap
- 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
-
createEdgeType
void createEdgeType(java.lang.String edgeTypeName, java.util.List<CombinedEdgeType> combinedEdgeTypes, boolean direct, boolean allowRepeat, java.lang.String combineKey, java.util.Map<java.lang.String,PropertyType> classMap)
添加边类型。为图中新增一个边类型,并创建从from到to的CombinedEdgeType集合。- Parameters:
edgeTypeName
- 边类型名,不能为空。combinedEdgeTypes
- 起始点类型和终止点类型组合集合,不能为空。direct
- 边的方向allowRepeat
- 是否允许重复,默认值为false 。combineKey
- 基于属性进行重复,为空表示基于边类型进行重复,只有在 allowRepeat 为 false 时有效。classMap
- 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
-
createCombinedEdgeType
void createCombinedEdgeType(java.lang.String edgeTypeName, int fromTypeIndex, int toTypeIndex)
添加边类型。新增一个拥有新的起止点类型的边类型。- Parameters:
edgeTypeName
- 边类型,不能为空。fromTypeIndex
- 起始点类型indextoTypeIndex
- 终止点类型index
-
dropEdgeType
void dropEdgeType(int edgeTypeIndex)
删除边类型。删除图中已存在的一个边类型。- Parameters:
edgeTypeIndex
- 边类型index,不能为空。
-
createProperty
void createProperty(int typeIndex, boolean isVertex, java.lang.String propertyName, boolean isIndex, PropertyType propertyType)
为某个类型增加属性列。- Parameters:
typeIndex
- 点/边类型index,不能为空。isVertex
- 点类型填true,边类型填false,isVertex需要跟type对应。propertyName
- 属性名,不能为空。isIndex
- 是否要加索引。true添加索引,false不添加索引propertyType
-PropertyType
属性类型,不能为空。
-
dropProperty
void dropProperty(int typeIndex, boolean isVertex, java.lang.String propertyName)
删除某个类型的某个属性。- Parameters:
typeIndex
- 点/边类型index,不能为空。isVertex
- 点类型填true,边类型填false,isVertex需要跟type对应。propertyName
- 属性名,不能为空。
-
renameTypeName
void renameTypeName(int typeIndex, boolean isVertex, java.lang.String newType)
更新某个类型名。- Parameters:
typeIndex
- 点/边类型index,不能为空。isVertex
- 点类型填true,边类型填false,isVertex需要跟type对应。newType
- 新类型名,不能为空。
-
renamePropertyName
void renamePropertyName(int typeIndex, boolean isVertex, java.lang.String oldPropName, java.lang.String newPropName)
更新某个类型的某个属性名。- Parameters:
typeIndex
- 点/边类型index,不能为空。isVertex
- 点类型填true,边类型填false,isVertex需要跟type对应。oldPropName
- 原属性名,不能为空。newPropName
- 新属性名,不能为空。
-
editPropertyDesc
void editPropertyDesc(java.lang.String type, boolean isVertex, java.lang.String propName, java.lang.String desc)
修改属性描述- Parameters:
type
- 点边类型isVertex
- 是否为点propName
- 属性名desc
- 描述信息
-
getPropertyDesc
java.lang.String getPropertyDesc(java.lang.String type, boolean isVertex, java.lang.String propName)
获取属性描述- Parameters:
type
- 点边类型isVertex
- 是否为点propName
- 属性名- Returns:
String
属性描述
-
editTypeDesc
void editTypeDesc(java.lang.String type, boolean isVertex, java.lang.String desc)
修改类型描述- Parameters:
type
- 点边类型isVertex
- 是否为点desc
- 描述信息
-
getTypeDesc
java.lang.String getTypeDesc(java.lang.String type, boolean isVertex)
获取类型描述- Parameters:
type
- 点边类型isVertex
- 是否为点- Returns:
String
属性描述
-
editGraphDesc
void editGraphDesc(java.lang.String desc)
修改图描述- Parameters:
desc
- 描述信息
-
getGraphDesc
java.lang.String getGraphDesc()
获取图描述- Returns:
String
图描述
-
editDirect
void editDirect(int edgeTypeIndex, boolean direct)
更新某个边类型的方向。无向or有向。- Parameters:
edgeTypeIndex
- 边类型direct
- 方向
-
editDirect
void editDirect(java.lang.String edgeTypeName, boolean direct)
更新某个边类型的方向。无向or有向。- Parameters:
edgeTypeName
- 边类型direct
- 方向
-
getEdgeDirect
boolean getEdgeDirect(int edgeTypeIndex)
获取某个边类型的方向。- Parameters:
edgeTypeIndex
- 边类型- Returns:
- true有向边, false无向边
-
getEdgeDirect
boolean getEdgeDirect(java.lang.String edgeTypeName)
获取某个边类型的方向。- Parameters:
edgeTypeName
- 边类型- Returns:
- true有向边, false无向边
-
-