postgresql 将CSV或JSON文件导入年龄查看器Apache

2ul0zpep  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(4)|浏览(127)

当我正在工作并通过apache age viewer查看时,这个关于数据分析项目的问题出现在我的脑海中,比如如何使用apache age viewer以CSV或JSON格式导入这些数据。什么是最好的方法,以便我可以开始分析它。
我自己研究了来源,所以我可以得到一个准确的答案,但不幸的是找不到任何好的解释。有些人建议Gremlin和Cyoher加载它,而有些人说先转换成TinkerPop。
我希望能得到一个关于如何使用任何一种方法导入数据的详细解释。期待着它。

7kqas0il

7kqas0il1#

可以,您可以使用Apache AGE将CSV文件中的数据导入Postgres。函数load_labels_from_file用于从CSV文件中加载顶点。示例语法:

load_labels_from_file('<graph name>','<label name>','<file path>')

例如:创建标签国家和加载顶点从csv文件。

SELECT create_graph('agload_test_graph');
SELECT create_vlabel('agload_test_graph', 'Country');
SELECT load_labels_from_file('agload_test_graph', 'Country','age_load/countries.csv');

有关更多详细信息,您可以按照此:Importing graph from file
但是不要忘记对文件进行预处理,以便列和标题的格式正确。

zyfwsgd6

zyfwsgd62#

要在Age中创建标签,可以使用以下命令。

load_labels_from_file('<graph name>', 
                  '<label name>',
                  '<file path>')

The fourth parameter is optional and only used if we are not giving the ID in the csv file.

load_labels_from_file('<graph name>', 
                  '<label name>',
                  '<file path>', 
                  false)

标签的CSV文件格式:
**ID:**为文件的第一列,所有值均为正整数,id_field_exists为false时可选,id_field_exists不为false时必须存在。
**属性:**其他列均为节点属性,表头行为属性名称

为了添加边,使用以下函数。

oad_edges_from_file('<graph name>',
                '<label name>',
                '<file path>');

边的CSV文件格式如下:
**start_id:**指定边所在节点的节点id。该id应存在于nodes.csv文件中。
**start_vertex_type:**节点的类。
**end_id:**边终止节点的end id。
**end_vertex_type:**节点的类。
**properties:**边的属性,表头必须包含属性名称。

有关详细说明和示例,您可以访问此链接。
CSV LINK

k97glaaz

k97glaaz3#

如果你想从CSV文件导入,你可以参考this。请确保预处理你的文件,使列和标题具有相同的格式。
您也可以使用“COPY”语句来实现这一点。它可以这样做:

COPY [YOUR_TABLE_NAME] FROM [PATH_TO_CSV-FILE] WITH (FORMAT csv);

COPY的文档是here。还有其他方法,如使用TinkerPop和Cypher,每种方法都有自己的好处。

j13ufse2

j13ufse24#

在Apache AGE中,

包含节点数据的CSV文件的格式应如下所示:

ID:

它应该是文件的第一列,并且所有值都应该是正整数。当id_field_exists为false时,这是一个可选字段。但是,当id_field_exists未设置为false时,它应该存在。

属性:

所有其他列包含节点的属性。标题行应包含属性的名称
创建顶点标签:

SELECT create_vlabel('GraphName','LabelName');

从CSV加载数据:

SELECT load_labels_from_file('GraphName',
                             'LabelName',
                             'Path/to/file.csv');

类似地,在Apache AGE中,用于边的CSV文件的格式应如下:
start_id

节点的节点ID,从该节点声明边。该ID应存在于nodes.csv文件中。

开始顶点类型

它应该包含节点的class/ label。

end_id

边缘将终止的节点的结束ID。此ID也应该存在于nodes.csv文件中。

end_顶点类型

它应该包含节点的class/ label。

属性

边的属性。标题(第一行)应包含属性名称。第二行和以后的行包含数据(值)。

创建边标签:

SELECT create_elabel('GraphName','EdgeLabelName');

从csv文件加载边缘数据:

SELECT load_edges_from_file('GraphName', 'EdgeLabelName',
     'Path/to/file.csv');

批量标签加载,也可以从csv文件导入标签:

load_labels_from_file('<graph name>', 
                  '<label name>',
                  '<file path>')

或者您可以使用以下命令:

load_labels_from_file('<graph name>', 
                  '<label name>',
                  '<file path>', 
                  false)

**这里:**第四个参数是可选的,只有当我们没有在标签的csv文件中给出ID时才会使用。更多细节你也可以学习this答案:https://stackoverflow.com/a/76022161/20972645

相关问题