繁体   English   中英

从原始 csv 创建 AWS Neptune 图

[英]create AWS Neptune graph from raw csv

我看到很多关于如何将顶点和边格式的 csv (Gremlin) 数据加载到 AWS Neptune 的教程。 由于很多原因,我无法为数据加载创建顶点和边。 相反,我只有原始的 csv 文件,其中每一行都是一条记录(例如一个人)。

如何从笔记本界面的 Neptune 中原始 csv 的每一行记录创建节点和关系?

鉴于您提到要在笔记本中执行此操作,以下示例均在 Jupyter 笔记本中运行。 我手头没有你提到的数据集,所以让我们在笔记本单元格中使用一个简单的数据集。

%%bash
echo "code,city,region
AUS,Austin,US-TX
JFK,New York,US-NY" > test.csv

然后,我们可以使用简单的单元格为 CSV 文件中包含的节点生成 openCypher CREATE 步骤,例如:

import csv
with open('test.csv', newline='') as csvfile:
    reader = csv.DictReader(csvfile, escapechar="\\")
    query = ""
    for row in reader:
        s = "CREATE (:Airport {"
        for k in row:
            s += f'{k}:"{row[k]}", '
        s = s[:-2] + '})\n'
        query += s 
    print(query)

哪个产量

CREATE (:Airport {code:"AUS", city:"Austin", region:"US-TX"})
CREATE (:Airport {code:"JFK", city:"New York", region:"US-NY"})

最后让我们让 notebook oc cell magic 为我们运行查询

ipython = get_ipython()
magic = ipython.run_cell_magic
magic(magic_name = "oc", line='', cell=query)

验证查询是否有效

%%oc
MATCH (a:Airport)
RETURN a.code, a.city

返回:

    a.code     a.city
1   AUS        Austin
2   JFK        New York

有很多方法可以做到这一点,但如果你想留在笔记本中,这是一种简单的方法。 鉴于您的问题没有很多细节或到目前为止您尝试过的示例,希望这能给您一些指示。

我也在想办法解决这个问题。 您现在有可行的解决方案吗? 提前致谢。

梅艳芳

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM