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)
      边类型起始点类型index
      java.lang.Integer getEdgeToType​(int edgeTypeIndex)
      边类型终止点类型index
      java.util.List<java.lang.Integer> getEdgeTypeIndex​(int vertexTypeIndex, Direction direction)
      根据点类型index和方向获取所对应边类型的index
      java.util.List<java.lang.Integer> getEdgeTypeIndex​(java.lang.String edgeTypeName)
      根据边类型名称获取边类型index
      java.lang.Integer getEdgeTypeIndex​(java.lang.String edgeTypeName, int fromVertexTypeIndex, int toVertexTypeIndex)
      根据边类型名称、边的起始点类型index和边的终止点类型index来获取边类型index
      java.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)
      获取类型下属性唯一标识id
      java.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)
      根据点类型名称获取点类型index
      default java.util.Set<java.lang.Integer> getVertexTypeIndexes​(java.lang.String... vertexTypeNames)
      根据点类型名称获取点类型index
      default java.util.Set<java.lang.Integer> getVertexTypeIndexes​(java.util.Collection<java.lang.String> vertexTypeNames)
      根据点类型名称获取点类型index
      java.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 - 起始点类型index
        toVertexTypeIndex - 终止点类型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 - 点类型index
        direction - 方向
        Returns:
        边类型index(空集合则表示没有)
      • getPropertyTypeMap

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

        java.util.Map<java.lang.String,​java.lang.Integer> getPropertyIndexMap​(int typeIndex,
                                                                                    boolean isVertex)
        获取类型下属性唯一标识id
        Parameters:
        typeIndex - 类型index
        isVertex - 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 - 起始点类型index
        toTypeIndex - 终止点类型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无向边