Skip to content
Developer Edition runs on one host and does not require a product license file. Need multi-host deployment or performance testing at scale? Explore Enterprise Edition

Mapping configurations

This topic describes the mapping configurations when importing data into NebulaGraph Database Developer Edition, which include node mapping configurations and edge mapping configurations.

Node mapping configurations

The node mapping configurations are specified in the section sources.nodetypes of the configuration file.

Sample configuration

sources: [
    {
//        type:"hdfs"
//        format:"csv"
//        header:false
//        separator:","
//        path: "hdfs://127.0.0.1:9000/import_movie/sub_movie.csv"
        nodetypes: [
            {
                name: "movie"
                sourceFields:[movieid, name]
                nebulaFields:[id, name]
                batchSize: 1000
                enableRealTimeQPSLog: true
                mode: "INSERT IGNORE"
            }
        ]
        edgetypes: []
    }
]        

Configuration options

Option Description Type Required Default value
name The name of the node type in the graph to which data is written. String Yes N/A
sourceFields The list of names of fields in the data source. The values of these fields are written as values of the properties of the node type.
When importing data from NebulaGraph 3.x, set sourceFields to the list of names of properties from which data is retrieved. Besides, you can also specify _vertexId to retrieve vertex IDs; specify _srcId, _dstId, and _rank to retrieve source vertex IDs, destination vertex IDs, and ranks of edges respectively.
List Yes N/A
nebulaFields The list of names of properties of the node type. The order of the property names must correspond to the order of the field names in sourceFields. List Yes N/A

For details on the supported data types of the properties in nebulaFields and the format requirements on fields in sourceFields by special data types, see Supported data types.

Common write configurations

The following configuration options can also be specified as global settings in the section writeCommon of the configuration file: batchSize, enableRealTimeQPSLog, and mode. Note that the configurations on specific node types override the global settings.

For more information about their descriptions, see Common write configurations.

Edge mapping configurations

The edge mapping configurations are specified in the section sources.edgetypes of the configuration file.

Sample configuration

sources: [
    {
//        type:"hdfs"
//        format:"csv"
//        header:false
//        separator:","
//        path: "hdfs://127.0.0.1:9000/import_movie/sub_user_watched_movies.csv"
        nodetypes: [ ]
        edgetypes: [
            {
                name: "watch"
                sourceKeys: [userid]
                nebulaSrcKeys: [id]
                targetKeys: [movieid]
                nebulaDstKeys: [id]
                sourceFields:[rate]
                nebulaFields:[rate]
                batchSize: 1000
                enableRealTimeQPSLog: true
                mode: "INSERT IGNORE"
                ignoreHangingEdge: false
            }
        ]
    }
]        

Configuration options

Option Description Type Required Default value
name The name of the edge type in the graph to which data is written. String Yes N/A
sourceKeys The list of fields in the data source mapped as the primary key of the source node type of the edge type. List Yes N/A
nebulaSrcKeys The list of names of properties that serve as the primary key of the source node type of the edge type. The order of the property names must correspond to the order of the field names in sourceKeys. This option is optional if the primary key of the source node type consists of only one property. List No N/A
targetKeys The list of fields in the data source mapped as the primary key of the destination node type of the edge type. List Yes N/A
nebulaDstKeys The list of names of properties that serve as the primary key of the destination node type of the edge type. The order of the property names must correspond to the order of the field names in targetKeys. This option is optional if the primary key of the destination node type consists of only one property. List No N/A
sourceFields The list of names of fields in the data source. The values of these fields are written as values of the properties of the edge type.
When importing data from NebulaGraph 3.x, set sourceFields to the list of names of properties from which data is retrieved. Besides, you can also specify _vertexId to retrieve vertex IDs; specify _srcId, _dstId, and _rank to retrieve source vertex IDs, destination vertex IDs, and ranks of edges respectively.
List No N/A
nebulaFields The list of names of properties of the edge type. The order of the property names must correspond to the order of the field names in sourceFields. List No N/A
ignoreHangingEdge Whether to ignore edges that do not connect to nodes on either or both sides, known as dangling edges. Options:
true: No error is reported. The write operation for a dangling edge is ignored, but it is still counted as a successful write.
false: An error is reported. The write operation for a dangling edge fails.
Bool No false

For details on the supported data types of the properties in nebulaSrcKeys,nebulaDstKeys, and nebulaFields, as well as the format requirements on fields in sourceKeys, targetKeys and sourceFields by special data types, see Supported data types.

Common write configurations

The following configuration options can also be specified as global settings in the section writeCommon of the configuration file: batchSize, enableRealTimeQPSLog, mode, and ignoreHangingEdge. Note that the configurations on specific edge types override the global settings.

For more information about their descriptions, see Common write configurations.

Supported data types

NebulaGraph Exchange supports mapping source data to properties of the following data types:

Data type Description
Numeric Includes INT, DOUBLE, FLOAT, and DECIMAL.
String Includes STRING.
Boolean Includes BOOL.
Date and time Includes DATE, DURATION, LOCAL DATETIME, LOCAL TIME, ZONED DATETIME, and ZONED TIME.
List LIST<E>, where E can be INT, DOUBLE, FLOAT, STRING, or BOOL.
Import format: Starts with [ and ends with ], without the LIST prefix. Elements are separated by commas. For example: [1, 2, 3] or ["1", "2", "3"].
Set SET<E>, where E can be any predefined data type or constructed data type other than records and paths.
Import format: Starts with { and ends with }, without the SET prefix. Elements are separated by commas. For example: {1, 2, 3}.
Map MAP<key_type, value_type>, where keys and values can be any predefined data type or constructed data type other than records and paths.
Import format: Starts with { and ends with }, without the MAP prefix. Uses key:value pairs separated by commas. For example: {'a':123,'b':true}.
Vector VECTOR<n, FLOAT>, where n is the number of dimensions, ranging from 1 to 2,147,483,647.
Import format: Starts with [ and ends with ], without the VECTOR prefix. Elements must be numeric values without quotes, and the number of elements must be consistent across rows. For example: [1.0, 2.0, 3.0].
Geospatial Includes POINT, LINESTRING, and POLYGON. Values must be in WKT format.
For example: POINT(37.7749 -12.4194), LINESTRING(1 2, 2 4, 4 8), POLYGON((0 0, 0 10, 10 10, 10 0, 0 0)).