migrate

A module that contains procedures describing graphs on a meta-level.

TraitValue
Module typeutil
ImplementationPython
Parallelismsequential

Procedures

mysql()

With the migrate.mysql() procedure you can access MySQL and migrate your data to Memgraph. The result table is converted into a stream, and the returned rows can be used to create graph structures. The value of the config parameter must be at least an empty map. If config_path is passed, every key-value pair from JSON file will overwrite any values in config file.

Input:

  • table_or_sql: str ➡ Table name or an SQL query. When the table name is specified, the module will migrate all the rows from the table. In the case that a SQL query is provided, the module will migrate the rows returned from the queries.
  • config: mgp.Map ➡ Connection configuration parameters (as in mysql.connector.connect).
  • config_path ➡ Path to a JSON file containing configuration parameters (as in mysql.connector.connect).
  • params: mgp.Nullable[mgp.Any] (default=None) ➡ Optionally, queries can be parameterized. In that case, params provides parameter values.

Output:

  • row: mgp.Map: The result table as a stream of rows.

Usage:

To inspect a sample of rows, use the following query:

CALL migrate.mysql('example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
RETURN row;
LIMIT 5000;

In the case you want to migrate specific results from a SQL query, it is enough to modify the first argument of the query module call, and continue to use the Cypher query language to shape your results:

CALL migrate.mysql('SELECT * FROM example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
WITH row
WHERE row.age >= 30
RETURN row;

sql_server()

With the migrate.sql_server() procedure you can access SQL Server and migrate your data to Memgraph. The result table is converted into a stream, and the returned rows can be used to create graph structures. The value of the config parameter must be at least an empty map. If config_path is passed, every key-value pair from JSON file will overwrite any values in config file.

Input:

  • table_or_sql: str ➡ Table name or an SQL query. When the table name is specified, the module will migrate all the rows from the table. In the case that a SQL query is provided, the module will migrate the rows returned from the queries.
  • config: mgp.Map ➡ Connection configuration parameters (as in pyodbc.connect).
  • config_path ➡ Path to the JSON file containing configuration parameters (as in pyodbc.connect).
  • params: mgp.Nullable[mgp.Any] (default=None) ➡ Optionally, queries can be parameterized. In that case, params provides parameter values.

Output:

  • row: mgp.Map: The result table as a stream of rows.

Usage:

To inspect the first 5000 rows from a database, use the following query:

CALL migrate.sql_server('example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
RETURN row
LIMIT 5000;

In the case you want to migrate specific results from a SQL query, it is enough to modify the first argument of the query module call, and continue to use the Cypher query language to shape your results:

CALL migrate.sql_server('SELECT * FROM example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
WITH row
WHERE row.age >= 30
RETURN row;

oracle_db()

With the migrate.oracle_db you can access Oracle DB and migrate your data to Memgraph. The result table is converted into a stream, and the returned rows can be used to create graph structures. The value of the config parameter must be at least an empty map. If config_path is passed, every key-value pair from JSON file will overwrite any values in config file.

Input:

  • table_or_sql: str ➡ Table name or an SQL query. When the table name is specified, the module will migrate all the rows from the table. In the case that a SQL query is provided, the module will migrate the rows returned from the queries.
  • config: mgp.Map ➡ Connection configuration parameters (as in oracledb.connect).
  • config_path ➡ Path to the JSON file containing configuration parameters (as in oracledb.connect).
  • params: mgp.Nullable[mgp.Any] (default=None) ➡ Optionally, queries may be parameterized. In that case, params provides parameter values.

Output:

  • row: mgp.Map: The result table as a stream of rows.

Usage:

To inspect the first 5000 rows from a database, use the following query:

CALL migrate.oracle_db('example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
RETURN row
LIMIT 5000;

In the case you want to migrate specific results from a SQL query, it is enough to modify the first argument of the query module call, and continue to use the Cypher query language to shape your results:

CALL migrate.oracle_db('SELECT * FROM example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
WITH row
WHERE row.age >= 30
RETURN row;

postgresql()

With the migrate.postgresql you can access PostgreSQL and migrate your data to Memgraph. The result table is converted into a stream, and the returned rows can be used to create graph structures. The value of the config parameter must be at least an empty map. If config_path is passed, every key-value pair from JSON file will overwrite any values in config file.

Input:

  • table_or_sql: str ➡ Table name or an SQL query. When the table name is specified, the module will migrate all the rows from the table. In the case that a SQL query is provided, the module will migrate the rows returned from the queries.
  • config: mgp.Map ➡ Connection configuration parameters (as in psycopg2.connect).
  • config_path ➡ Path to the JSON file containing configuration parameters (as in psycopg2.connect).
  • params: mgp.Nullable[mgp.Any] (default=None) ➡ Optionally, queries may be parameterized. In that case, params provides parameter values.

Output:

  • row: mgp.Map: The result table as a stream of rows.

Usage:

To inspect the first 5000 rows from a database, use the following query:

CALL migrate.postgresql('example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
RETURN row
LIMIT 5000;

In the case you want to migrate specific results from a SQL query, it is enough to modify the first argument of the query module call, and continue to use the Cypher query language to shape your results:

CALL migrate.postgresql('SELECT * FROM example_table', {user:'memgraph',
        password:'password',
        host:'localhost',
        database:'demo_db'} )
YIELD row
WITH row
WHERE row.age >= 30
RETURN row;