我正在寻找 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/