java - Java 中可用的各种 Datalog 实现有哪些?

标签 java datalog

我正在寻找 Datalog 的 Jave 实现不评估不必要的规则。我看了IRIS reasoner这似乎是最稳定的。

但是,它会评估所有规则,而不仅仅是正在使用的规则。 例如:

parent('homer', 'bart').
parent('abe', 'homer').
ancestor(?a, ?b) :- parent(?a, ?b).
ancestor(?a, ?b) :- ancestor(?a, ?c), ancestor(?c, ?b).

// query.. find all parent-child pairs.
?-parent(?x, ?y).

我发现 IRIS 会计算关系 ancestor,即使它从未被使用过。

还有哪些其他实现可用于 Java?其中任何一个执行此优化吗?

最佳答案

OP 链接到的 IRIS 网站上的引述:

支持以下程序优化: - 规则过滤(删除不利于回答问题的规则 询问) - 魔术集和横向信息传递策略 (SIPS)

关于java - Java 中可用的各种 Datalog 实现有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136782/

相关文章:

java - 删除 ListView 项目 - Android

java - 尝试格式化namenode但权限被拒绝?

clojure - 数据查询性能改进

sql - 图灵完备的图查询语言

clojure - 在 (datomic.api/q '[]) 之外定义数据记录查询组件

python - 使用 pyDatalog 解析依赖关系图

java - HashMap 存储其他表的数据

java - 标准 Api 与 QueryDsl 与 JPA 元模型

java - 如何使用java从特定行中选择随机文本值

聚合值最大值的数据查询