2016-03-02 39 views
0

我的logicblox程序从一组初始事实和一组规则R开始。它推导出最终的一组事实T'。如何在Logicblox中跟踪运行?

对于运行,使用了一条规则和几个事实,它导出了一些新的事实。 如何提取有关执行的运行的所有信息?

提前,是否有可能提取与某些派生事实相关的运行?

回答

0

取决于您如何评估程序。例如,对于bloxbatch实用程序,请尝试使用“-logLevel debugDetail @ factbus”标志来获取所有规则评估的完整跟踪/配置文件。这将精确地告诉您如何执行连接(即查询优化的结果)。如果您想汇总此配置文件以查看哪些规则花费最多时间,则可以使用Thiago Bartolomei的python脚本LogAnalyzer.py(例如,在Doop框架中公开可用,此处为https://bitbucket.org/yanniss/doop/src/9daaea0b582674603abb2f3e43f73f630ee6d3e1/bin/LogAnalyzer.py)。

我不认为有一种通用的方法来计算事实的起源,即一组评估产生了具体派生事实的规则,尽管过去已有实验设施存在。

+0

谢谢你的回答。 “-logLevel debugDetail @ factbus”标志是有帮助的,但它不完全是我需要的。 我在一本Logicblox教程“LogicBlox,平台和语言:教程”中发现,他们说“Provenance。Dataloglb包含一个在程序评估期间记录出处信息的选项”。 有什么方法可以追踪出处信息? –