DEV Community

Wendel Fernandes de Lana
Wendel Fernandes de Lana

Posted on • Edited on

How to export data from Apache AGE

Introduction

Exporting data from Apache AGE, an extension of PostgreSQL for graph data, can be a valuable task when you need to analyze or share your graph data with other systems. In this blog post, we will explore the process of exporting both edges and nodes from Apache AGE using the COPY command. By following the steps outlined below, you'll be able to export your graph data into CSV files for further analysis or integration.

Exporting Edges

To export edges from Apache AGE, you can utilize the COPY command with a Cypher query. The following command allows you to export the edges to a CSV file:
COPY (SELECT * FROM cypher('graph_name', $$
MATCH (a)-[e]->(b)
RETURN start_id(e), label(a), end_id(e), label(b) $$)
AS (start_id agtype, start_vertex_type agtype, end_id agtype, end_vertex_type agtype)
) TO '/path_to_csv/edges_graph.csv' DELIMITER ',' CSV HEADER;

This command executes a Cypher query that retrieves the desired edge information from the specified graph name. It selects the start ID, start vertex label, end ID, and end vertex label. The results are then written to a CSV file specified by the file path '/path_to_csv/edges_graph.csv' with a comma delimiter and a header row.

Exporting Nodes

Exporting nodes from Apache AGE requires manually retrieving the node properties and defining the column list as the CSV header. Let's assume we have a person vertex with properties like id, name, and age. To export this vertex, follow the code snippet below:

COPY (SELECT * FROM cypher('graph_name', $$
MATCH (a)
RETURN a.id, a.name, a.age $$)
AS (id agtype, name agtype, age agtype)
) TO '/path_to_csv/person_vertex_graph.csv' DELIMITER ',' CSV HEADER;

In this example, we execute a Cypher query that matches all nodes of the desired type (person). The query retrieves the node's ID, name, and age properties. The results are then written to a CSV file specified by the file path '/path_to_csv/person_vertex_graph.csv' with a comma delimiter and a header row that lists the column names.

Conclusion

Exporting data from Apache AGE is a straightforward process that allows you to extract graph data and save it in CSV format. By utilizing the COPY command and crafting appropriate Cypher queries, you can export both edges and nodes from your Apache AGE graph database. This exported data can then be utilized for various purposes, such as further analysis, integration with other systems, or sharing with collaborators.

Contribute

Apache AGE repository
Apache AGE website

Top comments (0)