csv - 将 csv 文件导入 ArangoDB 时缺少 '_from' 或 '_to' 属性

标签 csv graph import arangodb edges

我正在尝试将两个 csv 文件导入 ArangoDB。一个被创建为文档“帐户”,另一个被创建为边缘“交易”。对于帐户来说,它有效。但是,在导入交易数据时,会出现错误。我尝试使用以下代码从命令提示符(Windows 10)导入此 csv 文件:

arangoimport --file transactions.csv --type csv --create-collection true -server.database AML --create-collection-type edge --collection transactions --translate "SENDER_ACCOUNT_ID =_from"--翻译“RECEIVER_ACCOUNT_ID =_to”

在我的数据中,第一行是标题,其中包括 TX_ID,SENDER_ACCOUNT_ID,RECEIVER_ACCOUNT_ID,TX_TYPE,TX_AMOUNT,TIMESTAMP,IS_FRAUD,ALERT_ID。我的原始数据如下所示: transactions

我知道边需要 _from 和 _to 属性。因此,在命令行中,我使用“translate”将输入文件中的列重命名为 _from 和 _to,如上面的代码所示。但仍然给出错误信息如下:

error message

missing '_from' or '_to' attribute, offending document: {"TX_ID":17144,"_from":84,"_to":87, ... }

您能给我一些提示吗?会发生什么?我在这个问题上挣扎了好几个小时,并且在一个月前看到过类似的问题,但没有答案。希望有人能帮助我。非常感谢。

最佳答案

正如 gurisko 在评论中指出的那样,_from_to 必须是有效的文档标识符。也就是说,顶点集合的名称,后跟正斜杠和顶点的文档键,例如“帐户/87”

在错误消息中,您可以看到属性值是数字,但必须是带有集合名称的字符串。不过,您不必修改 CSV 文件,因为 arangoimport 让您可以通过 startup options 在前面添加集合名称。 --from-collection-prefix--to-collection-prefix

arangoimport --file transactions.csv --type csv --server.database AML --create-collection --create-collection-type edge --collection transactions --translate SENDER_ACCOUNT_ID=_from --translate RECEIVER_ACCOUNT_ID =_to --from-collection-prefix 账户 --to-collection-prefix 账户

导入的文档应如下所示:

{ "TX_ID": 17144, "_from": "accounts/84", "_to": "accounts/87", ... }

关于csv - 将 csv 文件导入 ArangoDB 时缺少 '_from' 或 '_to' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66195759/

相关文章:

CSS 不适用于端口 8080 上的框架 url

python - 将大量 csv 文件导入 PostgreSQL 数据库的有效方法

Powershell - 从文本列表中获取服务器名称和 IP

python - 如何通过 python 将我的 xlsx 文件批量转换为 CSV

csv - 处理 PIG 中的货币值 - pigstorage

mysql - 使用 phpMyAdmin 将 CSV 文件导入 MySQL

algorithm - 无向图可以有自环吗?

ios - 如何显示x轴标题?

r - 在R中使用graph.adjacency()

导入时出现 MySQL 语法错误