首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在TypeDB数据库中查询规则?

如何在TypeDB数据库中查询规则?
EN

Stack Overflow用户
提问于 2022-06-20 22:01:10
回答 1查看 139关注 0票数 0

在我的模式中,我想我定义了这个rule

代码语言:javascript
运行
AI代码解释
复制
define rule transitive-hierarchy-rule:
when {
(before: $a, after: $b) isa hierarchy;
(before: $b, after: $c) isa hierarchy;
} then {
(before: $a, after: $c) isa hierarchy;
};

来自文档的通知

“通过规则定义的事实不会存储在知识图中。但是,通过在模式中定义规则,在查询时将生成额外的事实。”

还可以从文档中注意到

当前,要使匹配查询触发推理并从规则中获得推理,必须使用读取事务。我们正致力于在后续版本中支持在写事务中进行推理。

但是,在我的查询match (before: $x, after: $y) isa hierarchy中,read事务不返回预期的结果:

代码语言:javascript
运行
AI代码解释
复制
{ $x iid 0x826e800b8000000000000000 isa task; $y iid 0x826e80048000000000000002 isa task; }
{ $x iid 0x826e800a8000000000000000 isa task; $y iid 0x826e800b8000000000000000 isa task; }

以上两个结果我都有明确的定义。我原以为第三个结果是通过规则推断出来的。

因此,我正在尝试调试这种情况。我是否可能没有正确地界定这条规则?

那么,如何更多地查询数据库模式中定义的规则呢?

EN

回答 1

Stack Overflow用户

发布于 2022-06-20 23:31:25

你确定要启动推理吗?必须打开“推断”选项,以便在运行查询时触发规则。

参见java客户端API:https://docs.vaticle.com/docs/client-api/java#options的推断选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72695979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档