在上方,您可以看到英国王室的家谱可以追溯到几百年前
这使得练习图查询成为一个有趣的主题。
我们可以使用:
我们可能想问的一个很好的例子是谁是伊丽莎白二世的皇家祖
但是,它受到其刚性的限制。
例如,假设我想在家谱中找到一个人,但不确定关系的确切性质吗?
我们数据库同步 可以使用:
,但我不顾图表就不敢想出办法。
幸运的是,我不必这样做,我可以请RavenDB这么友好并告诉我。
注意使用
递归的
我们正在要求RavenDB从一个特定的文档开始,然后跟着父母走,试图找到一个毫无生气的王室成员。
查询的递归部分的大小可以为零到六步,并且一旦我们有任何匹配项就应该中止。
在零到六位父母之后,应该有一位既是皇室成员又是皇室成员的
查看上面的查询,您可能已经注意到它与第一个查询有明显的区别。
不管父母是不是皇家,递归查询都将进入“父母递归模式不仅限于一个步骤,而且可以根据需要复杂。链接。
我认为RavenDB图形查询具有独特的功能。
递归模式不仅限于一个步骤,而且可以根据需要复杂。
例如,让我们确保我们只会沿着
皇家的
父母。
的
递归的
例如,最小和最大距离是显而易见的示例,但是递归的结果标准也很有趣。
在此查询中,我们使用
最短的
,而不是
懒
。
这将使RavenDB的工作更加困难,并找到与查询匹配的最短的递归路径,而
懒
不管父母是不是皇家,递归查询都将进入”父母”链接。
提供以下选项:
- 我认为RavenDB图形查询具有独特的功能。
优点:“我和维多利亚有关系吗? - 例如,让我们确保我们只会沿着
有益于:“我与维多利亚有什么关系?
” -
有益于:“维多利亚家族成为皇室成员有几代人了?
” - 如果您的祖先到维多利亚有多条路,则非常适合。