Map Data To Graph

Map Data To Graph

After you have created a graph schema, the next major step is to map your data to the schema. Click "Map Data To Graph" on the left side menu bar. The working panel is split into a left panel and a right panel. Initially when there is no data mapping yet, the left panel will display only the graph schema.

The main steps are

  1. Add data source(s)

  2. Map data source(s) to vertex/edge types

  3. Map data source columns to vertex/edge fields

  4. Publish data mapping

Add Data Source

Initially, there are no data files in the server data folder.

Upload File To Server

There is a limit of 500MB on file size. If you are using on-premise deployment, you can bypass this limit by directly putting the data files or their softlinks in the server data folder, located at <TigerGraph_root_dir>/loadingData.

Once the file is uploaded to the server, it will appear in the "Files on server" list on the left side of the Add Data Sources window.

Data Sources must be .csv files

The Add Data Source box will only upload files which end in ".csv". If you manually place files in the <TigerGraph_root_dir>/loadingData folder, please don't put any files into subfolders because they will be ignored.

Configure the File Parser

In this step, you tell GraphStudio how to parse your data source file. If your data source file is in tabular format, the parser will split each line is split into a series of tokens . Click on one file from the file list to choose it. The TigerGraph backend will parse the file by analyzing the file content, and show the parsing result as a preview table on the right side:

If the parsing is not correct, click on the down arrow in a table column to choose a different option for file format, delimiter, or end of line. The file will immediately be re-parsed when you change a setting. The enclosing character is used to mark the boundaries of a token, overriding the delimiter character. For example, if your delimiter is comma (,), but you have commas in some strings, then you can define either double quotes (") or single quotes (') as the enclosing character to mark the endpoints of your string tokens. It is not necessary for every token to have enclosing characters; the parser will use enclosing characters when it encounters them.

Map Data Source To Vertex Type Or Edge Type

Then, click the data source file icon. A hint will appear over the icon:

Next, click the target vertex type circle or edge type link. A dashed link will appear between the data source and the target vertex or edge type:

A red hint will appear if the target type has not yet received a mapping for its primary id(s).

Map Data Columns To Vertex Or Edge Attributes

In the step, you link particular columns of a data source to particular ids or attributes of a vertex type or edge type. First, choose one data mapping from one data source to one vertex or edge type (represented as a dashed green link on the left working panel). When selected, the dashed line becomes orange (active), and the right working panel will show two tables. The left table shows the data source columns along with the first row's tokens as sample data. The right table shows the fields of the target vertex or edge. For a vertex, its fields are primary id and attributes. For an edge, its fields are source vertex, target vertex, and attributes.

In order to a column in the data source to a vertex or edge field, first click the row representing the data column in the left side data source table:

Then, click the row representing the target field in the right side table. A green arrow appears to show the mapping. Repeat as needed to create all the mappings for this table-to-vertex/edge pair. Since many-to-one mapping is allowed, it is not necessary for one table to provide a mapping for every field in the target vertex/edge.

Using a Token Function

GraphStudio provides a set of built-in functions to preprocess data source tokens before loading them in to the graph. For example, you can concatenate two columns in the data source and load them as an attribute. This section describes how to use these token functions.

A token function table will be added to the attribute mapping panel. You can drag the tables to rearrange them. Token functions act as an intermediate step in the mapping. Create mappings from the data source table to the token function table, and then from the token function table to the vertex/attribute table The final result looks like below:

Auto Mapping

Map A Constant Value To An Attribute Or Token Function Input

Sometimes, a user may need to load a constant value to an id or attribute. Here we show how to do this in GraphStudio.

Loading A Constant to An Attribute

In the right working panel, double-click on the target id or attribute (in the left column of the right table). In the example below, the attribute "label" has been double-clicked:

This will cause the Load Constant window to pop up. Type in the constant value, and click the Add button to apply the mapping.

After adding the constant value, the attribute's label will change to id/attribute = "(your valid input value)" .

To modify or remove a constant mapping, double-click the id/attribute again. In the Load Constant window, enter the new value, or erase the value if you want to remove the mapping. Click the Add button to apply.

Use A Constant Input for a Token Function

First add the token function. Then double-click on the target input (in the left column of the token function table). In the example below, "Input 0" has been double-clicked.

This will cause the Load Constant window to pop up. Type in the constant value and click the Add button to apply the mapping. After adding the constant value, the input's label will change to Input = "(your input value)" .

The constant value can be modified or removed by double-clicking the label and editing the value in the Load Constant window.

Add Data Filter

You can add a data filter to a data mapping so that only data records which meet conditions that you specify will be loaded into the graph. This is equivalent to the WHERE clause in a GSQL load statement.

You can add one data filter for each data mapping from a data source to a vertex type or edge type, and the data filter only applies to that one mapping. Consider the following data mapping:

  1. The top section shows one row of sample data from your file, as a handy reference to the file's contents.

  2. The middle sections shows what the data filter looks like when it is converted a to GSQL WHERE clause. For more details, see the WHERE Clause section in the GSQL Language Reference Part 1 - Defining Graphs and Loading Data

  3. The bottom section is where you define your data filter. The data filter will be converted to a GSQL WHERE clause and shown in real time.

A data filter condition is a Boolean expression, which can be a nested set of conditions. GraphStudio evaluates the condition for each line in your input file. If the condition evaluates to true, then the line is loaded.

First, click the Build Data Filter chooser (with default value "None"). A menu will appear, with many Boolean expression templates. Choose one of the options. If you plan to build a nested condition, start with your top level. The first several options are for comparison expressions:

After this are several more options, using operators such as AND, OR, NOT, IN, BETWEEN...AND, IS NUMERIC, and IS EMPTY.

Note that each of these expressions calls for 1, 2, 3, or a list of operands, and the operands themselves can be expressions. When you select an expression, additional choosers will appear below, for you to specify the operand expressions. The operand choices are context-sensitive, but typically they include

  • a Data Column from the input file

  • A constant value

  • If the operator is AND, OR, or NOT, then the operand can be another condition. Thus is how conditions can be nested.

Suppose you are loading friendship edges where the input data fields are (person1, person2, friendship_start_date). You want to load only the records where person1 is Tom and the friendship began on or before 2017-06-10. The data filter looks like the following:

After adding the data filter, the right working panel will look like this:

To remove a data filter, select "None" at the top level dropdown of Build Data Filter section and then click Add. The data filter will be deleted.

Delete Options

Delete Data Source

Select the data source file icon(s), then click the delete button.

Delete Data Source To Vertex Or Edge Mapping

Select the dashed green link(s) between data source and mapped vertex/edge type, then click the delete button.

Delete Data Column To Vertex Or Edge Attribute Mapping

Select the green arrow(s) between data source table and vertex/edge attributes table, then click the delete button.

Delete Token Functions

Select the token function table(s), then click the delete button.

Undo And Redo

Publish Data Mapping

Expand Panels

By default, the two windows have equal widths. Click the left button to widen the left working panel, or click the right button to widen the right working panel.

Last updated