Updated on 2024-01-04 GMT+08:00

Importing a Graph

URI

POST /ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=import-graph
Table 1 URI parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

graph_name

Yes

String

Graph name

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

edgesetPath

No

String

Edge file directory or name

edgesetFormat

No

String

Format of the edge data set. Currently, only the CSV format is supported.

The CSV format is used by default.

vertexsetPath

No

String

Vertex file directory or name

vertexsetFormat

No

String

Format of the vertex data set. Currently, only the CSV format is supported.

The CSV format is used by default.

schemaPath

No

String

OBS path of the metadata file of the new data

logDir

No

String

Directory for storing logs of imported graphs. This directory stores the data that fails to be imported during graph creation and detailed error causes.

parallelEdge

No

Object

How to process repetitive edges.

action

No

String

Processing method. The value is override, which indicates that the previous repetitive edges are overwritten.

ignoreLabel

No

Boolean

Whether to ignore labels on repetitive edges. The value is false.

false: Indicates that the repetitive edge definition contains the label. That is, the <source vertex, target vertex, label> indicates an edge.

delimiter

No

Character

Field separator in a CSV file. The default value is comma (,). The default element separator in a field of the list/set type is semicolon (;).

trimQuote

No

Character

Field quote character in a CSV file. The default value is double quotation marks ("). They are used to enclose a field if the field contains separators or line breaks.

offline

No

Boolean

Whether to import a graph offline. The value is false.

false: Online import is selected. Compared with offline import, online import is slower. However, the graph can be read (cannot be written) during the import.

obsParameters

Yes

Object

OBS parameters

Table 3 parallelEdge parameter type

Parameter

Mandatory

Type

Description

sortKeyColumn

No

Int/String

Index of the sort key column in the edge file. The value starts from 1. If this parameter is set to last Column, the sort key column is the last column.

The options are as follows:

  • A positive integer
  • A positive integer of the string type
  • "lastColumn"

sortKeyType

No

String

Type of the sortKey value. The options are int and string.

Table 4 obsParameters parameters

Parameter

Mandatory

Type

Description

accessKey

Yes

String

User AK

secretKey

Yes

String

User SK

Response Parameters

Table 5 Response body parameters

Parameter

Type

Description

errorMessage

String

System prompt.

  • If execution succeeds, this parameter may be left blank.
  • If execution fails, this parameter is used to display the error message.

errorCode

String

System prompt.

  • If execution succeeds, this parameter may be left blank.
  • If execution fails, this parameter is used to display the error code.

jobId

String

ID of an asynchronous job

You can view the job execution status and obtain the return result by querying the job ID. For details, see Job Management APIs.

Example Request

Import a graph. The edge file directory is testbucket/demo_movie/edges/ and the edge data set format is CSV; the vertex file directory is testbucket/demo_movie/vertices/ and the vertex data set format is CSV; the OBS path of the metadata file of the new data is testbucket/demo_movie/incremental_data_schema.xml and the log storage directory is testbucket/importlogdir.

POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=import-graph
{
  "edgesetPath": "testbucket/demo_movie/edges/",
  "edgesetFormat": "csv",
  "vertexsetPath": "testbucket/demo_movie/vertices/",
  "vertexsetFormat": "csv",
  "schemaPath": "testbucket/demo_movie/incremental_data_schema.xml",
  "logDir": "testbucket/importlogdir",
  "parallelEdge": { 
           "action":"override",
           "ignoreLabel":true
   },
  "delimiter": ",",
  "trimQuote": "\"",
  "offline": true,
  "obsParameters": {
    "accessKey": "xxxxxx",
    "secretKey": "xxxxxx"
  }

}

Example Response

Status code: 200

Example response for a successful request

Http Status Code: 200
{
"jobId": "b4f2e9a0-0439-4edd-a3ad-199bb523b613"
}

Status code: 400

Example response for a failed request

Http Status Code: 400
{
   "errorCode": "GES.8013",
   "errorMessage": "graph [movie2] is not found"
}

Status Codes

Return Value

Description

400 Bad Request

Request error.

401 Unauthorized

Authorization failed.

403 Forbidden

No operation permissions.

404 Not Found

No resources found.

500 Internal Server Error

Internal server error.

503 Service Unavailable

Service unavailable.

Error Codes

See Error Codes.