2

关于 Dgraph 关于图遍历的功能,我有几个问题。

假设我们有一个由 post 类型的节点组成的数据集。每个帖子可以有 n 个帖子是对该帖子的回复。这棵树的深度没有限制。

Dgraph 是否可以从一个起始节点开始搜索所有叶子节点并返回满足特定条件的所有叶子?

是否可以设置深度限制以不以庞大的数据集结束?

是否也可以找到满足某个条件的所有父节点的子节点?

最后:Dgraph 中的边是有向的吗?我可以在查询中包含它吗?

4

1 回答 1

7

Dgraph 的作者在这里。

Dgraph 是否可以从一个起始节点开始搜索所有叶子节点并返回满足特定条件的所有叶子?

是的。您可以使用递归指令(https://docs.dgraph.io/query-language/#recurse-query)。

是否可以设置深度限制以不以庞大的数据集结束?

是的。递归支持最大深度。

是否也可以找到满足某个条件的所有父节点的子节点?

是的。您可以遍历一条边,并在其上放置一个过滤器。https://docs.dgraph.io/query-language/#applying-filters

最后:Dgraph 中的边是有向的吗?我可以在查询中包含它吗?

dgraph 中的边是有向的。但是,Dgraph 还支持“反向”索引,可以用来自动生成反向的边。然后,您可以通过在谓词名称前添加波浪号 (~) 来遍历这些反向边。

https://docs.dgraph.io/query-language/#reverse-edges

于 2018-02-22T19:49:31.700 回答