Class GraphConfig

    • Constructor Detail

      • GraphConfig

        public GraphConfig()
    • Method Detail

      • isFileFormat

        public static boolean isFileFormat​(Format format)
        Check if a format is a file-based format
        Parameters:
        format - the format to check
        Returns:
        true if given format is a file-based format, false otherwise
      • hasVerticesAndEdgesSeparatedFileFormat

        public static boolean hasVerticesAndEdgesSeparatedFileFormat​(Format format)
        Check if a format has vertices and edges separated in different files
        Parameters:
        format - the format to check
        Returns:
        true if given format has vertices and edges separated in different files, false otherwise
      • isSingleFileFormat

        public static boolean isSingleFileFormat​(Format format)
        Check if a format has vertices and edges combined in same file
        Parameters:
        format - the format to check
        Returns:
        true if given format has vertices and edges combined in same file, false otherwise
      • isMultipleFileFormat

        public static boolean isMultipleFileFormat​(Format format)
        Check if a format has vertices and edges separated in different files
        Parameters:
        format - the format to check
        Returns:
        true if given format has vertices and edges separated in different files, false otherwise
      • supportsEdgeLabel

        public static boolean supportsEdgeLabel​(Format format)
        Check if a format supports having an edge label or not
        Parameters:
        format - the format to check
        Returns:
        true if given format supports edge label, false otherwise
      • supportsVertexLabels

        public static boolean supportsVertexLabels​(Format format)
        Check if a format support having an vertex labels or not
        Parameters:
        format - the format to check
        Returns:
        true if given format supports vertex labels, false otherwise
      • supportsVectorProperties

        public static boolean supportsVectorProperties​(Format format)
        Check if a format support having vector properties or not
        Parameters:
        format - the format to check
        Returns:
        true if given format supports vector properties, false otherwise
      • supportsPropertyColumn

        public static boolean supportsPropertyColumn​(Format format)
        Check if a format support having a column indication for properties
        Parameters:
        format - the format to check
        Returns:
        true if given format supports property columns, false otherwise
      • getOptimizedFor

        public abstract GraphOptimizedFor getOptimizedFor()
        Indicates if the graph should be partitioned during loading
        Returns:
        by_label if the graph should be partitioned during loading, false Indicates if the graph should use data-structures optimized for fast updates
      • getPartitionWhileLoading

        public abstract PartitionWhileLoading getPartitionWhileLoading()
        Indicates if the graph should be heterogenized during loading
        Returns:
        true if the graph should be heterogenized during loading, false or null otherwise
      • getVertexProps

        public abstract java.util.List<GraphPropertyConfig> getVertexProps()
        Get the vertex properties of this graph configuration
        Returns:
        the list of vertex properties
      • getEdgeProps

        public abstract java.util.List<GraphPropertyConfig> getEdgeProps()
        Get the vertex properties of this graph configuration
        Returns:
        the list of vertex properties
      • getValidatedVertexIdStrategy

        public IdStrategy getValidatedVertexIdStrategy()
        Validates and return the ID strategy used for vertices (checking if the strategy is compatible with the rest of the graph configuration)
        Returns:
        the ID strategy that can be used for the vertices of the graph
      • getVertexIdType

        public abstract IdType getVertexIdType()
        Get the vertex ID type of this graph configuration
        Returns:
        the vertex ID type
      • getValidatedVertexIdType

        public IdType getValidatedVertexIdType()
        Validates and return the ID type used for vertices (checking if the type is compatible with the rest of the configuration)
        Returns:
        the ID type that can be used for the vertices of the graph
      • getLoadingOptions

        public GraphLoadingConfig getLoadingOptions()
        Get the loading configuration of this graph configuration
        Returns:
        the loading configuration
      • getArrayCompactionThreshold

        public abstract java.lang.Double getArrayCompactionThreshold()
        For graphs optimized for updates, the value corresponds to the ratio at which the delta-logs are compacted into new arrays.
        Returns:
        the compaction threshold
      • getValidatedEdgeIdStrategy

        public IdStrategy getValidatedEdgeIdStrategy()
        Validates and return the ID strategy used for edges (checking if the strategy is compatible with the rest of the graph configuration)
        Returns:
        the ID strategy that can be used for the edges of the graph
      • getEdgeIdType

        public IdType getEdgeIdType()
        Get the edge ID type of this graph configuration
        Returns:
        the edge ID type
      • getValidatedEdgeIdType

        public IdType getValidatedEdgeIdType()
        Validates and return the ID type used for edges (checking if the type is compatible with the rest of the configuration)
        Returns:
        the ID type that can be used for the edges of the graph
      • isFileFormat

        public boolean isFileFormat()
        Check if this graph configuration is a file-based configuration.
        Returns:
        true if this graph configuration has a file-based format, false otherwise
      • hasVerticesAndEdgesSeparatedFileFormat

        public boolean hasVerticesAndEdgesSeparatedFileFormat()
        Check if this graph configuration has vertices and edges separated in different files
        Returns:
        true if this graph configuration's format has vertices and edges separated in different files, false otherwise
      • isSingleFileFormat

        public boolean isSingleFileFormat()
        Check if this graph configuration has vertices and edges combined in same file
        Returns:
        true if this graph configuration's format has vertices and edges combined in same file, false otherwise
      • isMultipleFileFormat

        public boolean isMultipleFileFormat()
        Check if this graph configuration has vertices and edges separated in different files
        Returns:
        true if this graph configuration's format has vertices and edges separated in different files, false otherwise
      • supportsEdgeLabel

        public boolean supportsEdgeLabel()
        Check if this graph configuration's format supports having an edge label or not
        Returns:
        true if this graph configuration's format supports edge label, false otherwise
      • supportsVertexLabels

        public boolean supportsVertexLabels()
        Check if this graph configuration's format supports having an vertex labels or not
        Returns:
        true if this graph configuration's format supports vertex labels, false otherwise
      • supportsVectorProperties

        public boolean supportsVectorProperties()
        Check if this graph configuration's format supports having vector properties or not
        Returns:
        true if this graph configuration's format supports vector proeprties, false otherwise
      • supportsPropertyColumn

        public boolean supportsPropertyColumn()
        Check if this graph configuration's format supports having a column indication for properties
        Returns:
        true if this graph configuration's format supports property columns, false otherwise
      • getNodeKeyType

        public IdType getNodeKeyType()
        Returns:
        the vertex ID type of this graph configuration
      • numNodeProperties

        public int numNodeProperties()
        Get the number of vertex properties in this graph configuration
        Returns:
        the number of vertex properties
      • numEdgeProperties

        public int numEdgeProperties()
        Get the number of edge properties in this graph configuration
        Returns:
        the number of edge properties
      • getNodePropertyName

        public java.lang.String getNodePropertyName​(int i)
        Get the name of a vertex property by index
        Parameters:
        i - the 0-based index of the vertex property
        Returns:
        the name of the vertex property
      • getEdgePropertyName

        public java.lang.String getEdgePropertyName​(int i)
        Get the name of a edge property by index
        Parameters:
        i - the 0-based index of the edge property
        Returns:
        the name of the edge property
      • getNodePropertyType

        public PropertyType getNodePropertyType​(int i)
        Get the type of a vertex property by index
        Parameters:
        i - the 0-based index of the vertex property
        Returns:
        the type of the vertex property
      • getEdgePropertyType

        public PropertyType getEdgePropertyType​(int i)
        Get the name of a edge property by index
        Parameters:
        i - the 0-based index of the edge property
        Returns:
        the name of the edge property
      • getNodePropertyDimension

        public int getNodePropertyDimension​(int i)
        Get the dimension of a node property by index
        Parameters:
        i - the 0-based index of the node property
        Returns:
        the dimension of the node property
      • getEdgePropertyDimension

        public int getEdgePropertyDimension​(int i)
        Get the dimension of a edge property by index
        Parameters:
        i - the 0-based index of the edge property
        Returns:
        the dimension of the edge property
      • getNodePropertyDefault

        public java.lang.Object getNodePropertyDefault​(int i)
        Get the default value of a vertex property by index
        Parameters:
        i - the 0-based index of the vertex property
        Returns:
        the default value of the vertex property
      • getEdgePropertyDefault

        public java.lang.Object getEdgePropertyDefault​(int i)
        Get the default value of a edge property by index
        Parameters:
        i - the 0-based index of the edge property
        Returns:
        the default value of the edge property
      • isLoadEdgeKeys

        public boolean isLoadEdgeKeys()
      • isLoadVertexKeys

        public boolean isLoadVertexKeys()
      • isVertexLabelsLoadingEnabled

        public boolean isVertexLabelsLoadingEnabled()
      • isEdgeLabelLoadingEnabled

        public boolean isEdgeLabelLoadingEnabled()
      • skipVertexLoading

        public boolean skipVertexLoading()
      • skipEdgeLoading

        public boolean skipEdgeLoading()
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getVertexPropertyTypes

        public java.util.Map<java.lang.String,​PropertyType> getVertexPropertyTypes()
        Returns:
        a mapping from vertex property name to property type
      • getEdgePropertyTypes

        public java.util.Map<java.lang.String,​PropertyType> getEdgePropertyTypes()
        Returns:
        a mapping from edge property name to property type