Interface GraphSchema


  • public interface GraphSchema
    图的schema信息
    • Method Detail

      • getVersion

        long getVersion()
        获取图meta版本号
        Returns:
        meta版本号
      • getGraphName

        String getGraphName()
        获取图名称
        Returns:
        图名称
      • getVertexTypes

        Map<Integer,​String> getVertexTypes()
        图中所有点类型
        Returns:
        {类型index,类型名}
      • getVertexTypeName

        String getVertexTypeName​(int vertexTypeIndex)
        根据点类型index获取点类型名称
        Parameters:
        vertexTypeIndex - 点类型index
        Returns:
        点类型名称
      • getVertexTypeIndex

        Integer getVertexTypeIndex​(String vertexTypeName)
        根据点类型名称获取点类型index
        Parameters:
        vertexTypeName - 点类型名称
        Returns:
        点类型index。找不到会返回null
      • getEdgeTypes

        Map<Integer,​String> getEdgeTypes()
        边类型列表
        Returns:
        {类型index,类型名}
      • getEdgeTypeName

        String getEdgeTypeName​(int edgeTypeIndex)
        根据边类型index获取边类型名称
        Parameters:
        edgeTypeIndex - 边类型index
        Returns:
        边类型名称
      • getEdgeTypeIndex

        Integer getEdgeTypeIndex​(String edgeTypeName,
                                 int fromVertexTypeIndex,
                                 int toVertexTypeIndex)
        根据边类型名称、边的起始点类型index和边的终止点类型index来获取边类型index
        Parameters:
        edgeTypeName - 边类型名称
        fromVertexTypeIndex - 起始点类型index
        toVertexTypeIndex - 终止点类型index
        Returns:
        边类型index。找不到会返回null
      • getPropertyTypeMap

        Map<String,​PropertyType> getPropertyTypeMap​(int typeIndex,
                                                          boolean isVertex)
        获取类型下的属性
        Parameters:
        typeIndex - 类型index
        isVertex - true是点类型,false代表边类型
        Returns:
        {属性名,属性类型}
      • getEdgeFromType

        Integer getEdgeFromType​(int edgeTypeIndex)
        边类型起始点类型index
        Parameters:
        edgeTypeIndex - 边类型index
        Returns:
        起始点类型index
      • getEdgeToType

        Integer getEdgeToType​(int edgeTypeIndex)
        边类型终止点类型index
        Parameters:
        edgeTypeIndex - 边类型
        Returns:
        终止点类型index
      • getVertexPkPropertyName

        String getVertexPkPropertyName​(int vertexTypeIndex)
        获取点类型对应的外部唯一标识属性名
        Parameters:
        vertexTypeIndex - 点类型index
        Returns:
        外部唯一标识属性名
      • createVertexType

        void createVertexType​(String vertexTypeName,
                              String pkName,
                              Map<String,​PropertyType> classMap)
        添加点类型。为图新增一个点类型。
        Parameters:
        vertexTypeName - 点类型名,不能为空。
        pkName - 外部唯一标识属性名,不能为空。
        classMap - 属性类型的映射,其中key是属性名,value是属性类型,允许为空。
        Throws:
        GraphDbApiException - graphAPI异常
      • dropVertexType

        void dropVertexType​(int vertexTypeIndex)
        删除点类型。删除图中已存在的一个点类型。
        Parameters:
        vertexTypeIndex - 点类型index,不能为空。
      • createEdgeType

        default void createEdgeType​(String edgeTypeName,
                                    int fromTypeIndex,
                                    int toTypeIndex,
                                    boolean direct,
                                    boolean allowRepeat,
                                    String combineKey,
                                    Map<String,​PropertyType> classMap)
        添加边类型。为图中新增一个边类型,并创建从from到to的CombinedEdgeType。
        Parameters:
        edgeTypeName - 边类型名,不能为空。
        fromTypeIndex - 起始点类型index,不能为空。
        toTypeIndex - 终止点类型index,不能为空。
        direct - 边的方向
        allowRepeat - 是否允许重复
        combineKey - 基于属性进行去重,为空表示基于边类型进行去重,只有在 allowRepeat 为 false 时有效。
        classMap - 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
      • createEdgeType

        default void createEdgeType​(String edgeTypeName,
                                    int fromTypeIndex,
                                    int toTypeIndex,
                                    boolean direct,
                                    String combineKey,
                                    Map<String,​PropertyType> classMap)
        添加边类型。为图中新增一个基于 combineKey 进行去重的边类型,为空表示基于边类型进行去重,并创建从from到to的CombinedEdgeType。
        Parameters:
        edgeTypeName - 边类型,不能为空。
        fromTypeIndex - 起始点类型index,不能为空。
        toTypeIndex - 终止点类型index,不能为空。
        direct - 边的方向
        combineKey - 基于属性进行去重,为空表示基于边类型进行去重。
        classMap - 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
      • createEdgeType

        default void createEdgeType​(String edgeTypeName,
                                    List<CombinedEdgeType> combinedEdgeTypes,
                                    boolean direct,
                                    String combineKey,
                                    Map<String,​PropertyType> classMap)
        添加边类型。为图中新增一个基于 combineKey 进行去重的边类型,为空表示基于边类型进行去重,并创建从from到to的CombinedEdgeType。
        Parameters:
        edgeTypeName - 边类型名,不能为空。
        combinedEdgeTypes - 起始点类型和终止点类型组合集合,不能为空。
        direct - 边的方向
        combineKey - 基于属性进行去重,为空表示基于边类型进行去重。
        classMap - 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
      • createEdgeType

        void createEdgeType​(String edgeTypeName,
                            List<CombinedEdgeType> combinedEdgeTypes,
                            boolean direct,
                            boolean allowRepeat,
                            String combineKey,
                            Map<String,​PropertyType> classMap)
        添加边类型。为图中新增一个边类型,并创建从from到to的CombinedEdgeType集合。
        Parameters:
        edgeTypeName - 边类型名,不能为空。
        combinedEdgeTypes - 起始点类型和终止点类型组合集合,不能为空。
        direct - 边的方向
        allowRepeat - 是否允许重复,默认值为false 。
        combineKey - 基于属性进行重复,为空表示基于边类型进行重复,只有在 allowRepeat 为 false 时有效。
        classMap - 属性类型的映射,其中key是属性名,value是属性类型,属性类型不能为空。
      • dropEdgeType

        void dropEdgeType​(int edgeTypeIndex)
        删除边类型。删除图中已存在的一个边类型。
        Parameters:
        edgeTypeIndex - 边类型index,不能为空。
      • createProperty

        void createProperty​(int typeIndex,
                            boolean isVertex,
                            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,
                          String propertyName)
        删除某个类型的某个属性。
        Parameters:
        typeIndex - 点/边类型index,不能为空。
        isVertex - 点类型填true,边类型填false,isVertex需要跟type对应。
        propertyName - 属性名,不能为空。
      • renameTypeName

        void renameTypeName​(int typeIndex,
                            boolean isVertex,
                            String newType)
        更新某个类型名。
        Parameters:
        typeIndex - 点/边类型index,不能为空。
        isVertex - 点类型填true,边类型填false,isVertex需要跟type对应。
        newType - 新类型名,不能为空。
      • renamePropertyName

        void renamePropertyName​(int typeIndex,
                                boolean isVertex,
                                String oldPropName,
                                String newPropName)
        更新某个类型的某个属性名。
        Parameters:
        typeIndex - 点/边类型index,不能为空。
        isVertex - 点类型填true,边类型填false,isVertex需要跟type对应。
        oldPropName - 原属性名,不能为空。
        newPropName - 新属性名,不能为空。