当运行一个转义关系的查询时,Grakn如何计算规则?

问题描述 投票:0回答:1

我在memSQL中的一个项目中工作,以确定特定的 batter pitcher 在MLB的关系;在那里我看什么 batters 对付各种 pitcherswhen. 目标是建立一个热图 teams 和特定年份的阵容(集锦) batters)对各组的 pitchers.

我遇到了一个问题,试图查询对投手净得分为正的球队。当寻找某支球队的所有Batter时,我遇到了Grakn和这个博文。

我遇到了Grakn和这篇博文。https:/blog.grakn.aicomparing -graql -to -sql -part-2

似乎我可以利用规则然后查询这样的东西。

在规则上做了一个尝试--我想让 team performance 与...作对 pitcher 基于集合 batter performancepitcher.

我写了这个查询,它将只查询 at-bat performance 哪儿 batter 正处于 plays-for 与特定 team. 然而查询并没有给我预期的结果?

when {
(batting: $b, pitching: $p) isa at-bat;
(playing: $b, plays-for: $t) isa team;
}, then {
(plays-for: $c, pitching: $d) isa at-bat;
}; 

还有谁知道这些规则是什么时候计算出来的,性能开销是多少?

sql inference grakn graql
1个回答
1
投票

只是想快速检查一下,你是否在你的模式中定义了规则?规则需要插入到Grakn中,使用一个 define 语句,因为它们被视为模式元素。如果你试图在查询中在线运行它,我会认为你会得到一个错误,但也许你不是这样做的,我误解了。

回答另一个问题,规则是在查询时计算的,我们检测哪些规则可能会改变查询的结果,并有效地使其成为查询遍历的一部分,所以理论上它的工作原理就像在图上进行正常的换向搜索。在实践中,它有一点不同。

© www.soinside.com 2019 - 2024. All rights reserved.