【问题标题】:How to create Edge Collection in ArangoDB?如何在 ArangoDB 中创建边缘集合?
【发布时间】:2020-03-23 14:30:41
【问题描述】:

我是 ArangoDB 的新手,创建了两个文档集合

帐户

付款

如何创建边缘集合,例如

我不能一条一条地遍历记录并添加_from和_to,记录数量巨大,

Account、Customer 和 TrxID 需要 3 个节点

应该根据两个 Document Collection 之间的值进行链接。

我可以知道任何文档或示例代码

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    首先让我回答您最初的问题,然后为您的用例提供提示。

    您是对的,节点和边都是 ArangoDB 中的完整 JSON 文档,但您必须将边导入特殊的边集合。如果你使用arangoimport来创建边,你可以使用下面的命令作为一个

    arangoimport --机器上文件的文件路径 --collection 你的收藏名称 --create-collection true --type csv --create-collection-输入边缘

    如果该集合尚不存在,请使用“create collection true”,如果该集合已存在,则无需指定,只需将其省略即可。请确保您的所有边缘都具有 _from 和 _to 属性,它们是边缘连接的节点的 ID。然后 ArangoDb 将使用 _from 和 _to 自动创建边缘索引。

    关于您的示例: 我想这是一种欺诈或洗钱的例子。对于其他图形数据库,您可能会得到建议,将交易用作节点,将帐户/客户和 cparty 用作边缘。使用 ArangoDB,您可以做相反的事情并使用事务作为您的优势。您还拥有完整的 JSON 文档作为边缘,并且可以在那里存储任意数据。以这种方式查看数据可能更直观、更自然。此外,您还可以将边缘集合视为普通文档集合,并执行聚合、连接或您认为必要的任何其他访问模式。

    更新: 根据我对您的数据模型的理解,银行交易从发送方的 AccountNo (_from) 到接收方的 CounterpartyAccID (_to)。这两个属性应该成为边缘的 _from 和 _to 属性,这些属性必须与其他交易详细信息(如 TrxID 和交易金额)一起存储在边缘集合中。您也可以通过左侧 Collections 选项卡中的 ArangoDB WebUI 创建边缘集合。

    不确定这是否有助于处理大量数据,但您可以在此处查看使用 AQL 创建边缘:https://www.arangodb.com/docs/stable/aql/tutorial-traversal.html#creating-the-edges 我们正在编写更多关于创建边缘的教程,但还没有 ETA

    希望能帮上忙

    最好的,一月

    【讨论】:

    • 简而言之,您是说,在付款文档中,我必须将 CustomerNo 用作“_from”,将 CounterPartyAccID 用作“_to”,并将其保存为 Edge Collection 而不是 Document Collection
    • 为我的答案添加了更新,请参见上文
    猜你喜欢
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多