Class TwoTablesRdbmsGraphConfig

    • Method Detail

      • parse

        public static TwoTablesRdbmsGraphConfig parse​(java.io.InputStream is,
                                                      boolean strict,
                                                      java.lang.String parentPath)
                                               throws java.io.IOException
        Parses an input stream.
        Parameters:
        is - the input stream
        strict - if true, parses in strict mode
        parentPath - if not null, resolves relative paths against this parentPath
        Returns:
        the parsed graph config
        Throws:
        java.io.IOException - Signals that an I/O exception has occurred.
      • parse

        public static TwoTablesRdbmsGraphConfig parse​(java.util.Map<java.lang.String,​java.lang.Object> raw,
                                                      boolean strict,
                                                      java.lang.String parentPath)
        Parses a raw key/value mapping.
        Parameters:
        raw - the raw key/value mapping to parse
        strict - if true, parses in strict mode
        parentPath - if not null, resolves relative paths against this parentPath
        Returns:
        the parsed graph config
      • parse

        public static TwoTablesRdbmsGraphConfig parse​(java.util.Properties props,
                                                      boolean strict)
        Parses a properties file.
        Parameters:
        props - the properties to parse
        strict - if true, parses in strict mode
        Returns:
        the parsed graph config
      • isEmpty

        public boolean isEmpty()
        Checks if it's empty.
        Returns:
        true, if the Map 'values' is empty.
      • getValuesWithoutDefaults

        public java.util.Map<TwoTablesRdbmsGraphConfig.Field,​java.lang.Object> getValuesWithoutDefaults()
        Gets the values without defaults.
        Returns:
        the values without defaults
      • getLeftoverValues

        public java.util.Map<java.lang.String,​java.lang.Object> getLeftoverValues()
        Gets the values that do not belong to any field.
        Returns:
        the values that do not belong to any field
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

        public java.lang.String toString​(boolean hideSensitiveData)
      • getTablespace

        public java.lang.String getTablespace()
        tablespace where the tables are going to be written
      • getInsertBatchSize

        public java.lang.Integer getInsertBatchSize()
        batch size of the rows to be inserted
      • getNumConnections

        public java.lang.Integer getNumConnections()
        number of connections to read/write data from/to the RDBMS table. For the distributed runtime, this value will be multiplied by the number of machines used
        Specified by:
        getNumConnections in class AbstractTwoTablesRdbmsGraphConfig
      • getSchema

        public java.lang.String getSchema()
        schema to use when reading/writing RDBMS objects
        Returns:
        the schema
      • getJdbcUrl

        public java.lang.String getJdbcUrl()
        jdbc URL pointing to an RDBMS instance
        Returns:
        the JDBC URL
      • getUsername

        public java.lang.String getUsername()
        username to use when connecting to an RDBMS instance
        Returns:
        the username
      • getDataSourceId

        public java.lang.String getDataSourceId()
        data source id to use to connect to an RDBMS instance
        Returns:
        the data source id
      • getMaxPrefetchedRows

        public java.lang.Integer getMaxPrefetchedRows()
        maximum number of rows prefetched during each round trip resultset-database
        Returns:
        the maximum number of prefetched rows
      • getDatastore

        public TwoTablesDatastore getDatastore()
        underlying datastore
        Returns:
        the datastore
      • getNodesKeyColumn

        public java.lang.String getNodesKeyColumn()
        name of primary key column in nodes table
      • getEdgesKeyColumn

        public java.lang.String getEdgesKeyColumn()
        name of primary key column in edges table
      • getFromNidColumn

        public java.lang.String getFromNidColumn()
        column name for source node
      • getToNidColumn

        public java.lang.String getToNidColumn()
        column name for destination node
      • getNodesLabelColumn

        public java.lang.String getNodesLabelColumn()
        column name for node label
      • getEdgesLabelColumn

        public java.lang.String getEdgesLabelColumn()
        column name for edge label
      • getOptimizedFor

        public GraphOptimizedFor getOptimizedFor()
        Indicates if the graph should use data-structures optimized for read-intensive scenarios or for fast updates
        Specified by:
        getOptimizedFor in class GraphConfig
        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 PartitionWhileLoading getPartitionWhileLoading()
        Indicates if the graph should be partitioned while loading
        Specified by:
        getPartitionWhileLoading in class GraphConfig
        Returns:
        true if the graph should be heterogenized during loading, false or null otherwise
      • getVertexIdStrategy

        public IdStrategy getVertexIdStrategy()
        Indicates what ID strategy should be used for the vertices of this graph. If not specified (or set to null), the strategy will be automatically detected
      • getEdgeIdStrategy

        public IdStrategy getEdgeIdStrategy()
        Indicates what ID strategy should be used for the edges of this graph. If not specified (or set to null), the strategy will be determined during loading or using a default value
      • getVertexIdType

        public IdType getVertexIdType()
        type of the vertex ID. If not specified (or set to null), it will default to some type (depending on the origin of the data).
        Specified by:
        getVertexIdType in class GraphConfig
        Returns:
        the vertex ID type
      • getEdgeIdType

        public IdType getEdgeIdType()
        type of the edge ID. If not specified (or set to null), it will default to long.
        Overrides:
        getEdgeIdType in class GraphConfig
        Returns:
        the edge ID type
      • getFormat

        public Format getFormat()
        graph format
        Returns:
        the format
      • getArrayCompactionThreshold

        public java.lang.Double getArrayCompactionThreshold()
        [only relevant if the graph is optimized for updates] threshold used to determined when to compact the delta-logs into a new array. If lower than the engine min_array_compaction_threshold value, min_array_compaction_threshold will be used instead
        Specified by:
        getArrayCompactionThreshold in class GraphConfig
        Returns:
        the compaction threshold
      • getVertexProps

        public java.util.List<GraphPropertyConfig> getVertexProps()
        specification of vertex properties associated with graph
        Specified by:
        getVertexProps in class GraphConfig
        Returns:
        the list of vertex properties
      • getEdgeProps

        public java.util.List<GraphPropertyConfig> getEdgeProps()
        specification of edge properties associated with graph
        Specified by:
        getEdgeProps in class GraphConfig
        Returns:
        the list of vertex properties
      • getErrorHandling

        public GraphErrorHandlingConfig getErrorHandling()
        error handling configuration
        Returns:
        the error handling configuration
      • getLocalDateFormat

        public java.util.List<java.lang.String> getLocalDateFormat()
        array of local_date formats to use when loading and storing local_date properties. Please see DateTimeFormatter for a documentation of the format string
        Returns:
        the date format
      • getTimeFormat

        public java.util.List<java.lang.String> getTimeFormat()
        the time format to use when loading and storing time properties. Please see DateTimeFormatter for a documentation of the format string
        Returns:
        the time format
      • getTimestampFormat

        public java.util.List<java.lang.String> getTimestampFormat()
        the timestamp format to use when loading and storing timestamp properties. Please see DateTimeFormatter for a documentation of the format string
        Returns:
        the timestamp format
      • getTimeWithTimezoneFormat

        public java.util.List<java.lang.String> getTimeWithTimezoneFormat()
        the time with timezone format to use when loading and storing time with timezone properties. Please see DateTimeFormatter for a documentation of the format string
        Returns:
        the time with timezone format
      • getTimestampWithTimezoneFormat

        public java.util.List<java.lang.String> getTimestampWithTimezoneFormat()
        the timestamp with timezone format to use when loading and storing timestamp with timezone properties. Please see DateTimeFormatter for a documentation of the format string
        Returns:
        the timestamp with timezone format
      • getVectorComponentDelimiter

        public java.lang.Character getVectorComponentDelimiter()
        delimiter for the different components of vector properties
      • getPoint2d

        public java.lang.String getPoint2d()
        longitude and latitude as floating point values separated by a space
      • getAttributes

        public java.util.Map getAttributes()
        additional attributes needed to read/write the graph data
        Returns:
        the map of attributes
      • getKeystoreAlias

        public java.lang.String getKeystoreAlias()
        alias to the keystore to use when connecting to database
        Returns:
        the keystore alias or null if underlying format does not require a keystore