【发布时间】:2017-11-03 22:14:51
【问题描述】:
我正在使用 d3web 开发一个专家系统。在我的 java 应用程序中确定了一组参数。如何在 d3web 之外设置参数?有这么多参数。是否可以将它们保存在xml文件中?
问候, 杨
【问题讨论】:
-
代码示例会有所帮助。
标签: expert-system d3web
我正在使用 d3web 开发一个专家系统。在我的 java 应用程序中确定了一组参数。如何在 d3web 之外设置参数?有这么多参数。是否可以将它们保存在xml文件中?
问候, 杨
【问题讨论】:
标签: expert-system d3web
所以您在 API 级别使用 d3web 并希望为您的知识库中的变量设置大量值?此处主要描述了如何执行此操作:
https://www.d3web.de/Wiki.jsp?page=How-To%20Create%20a%20Session
查看有关在会话中输入事实的部分。基本上,对于要添加到 d3web 会话中的每个值,您使用 FactFactory 创建一个事实,然后通过 #addValueFact(fact) 将其添加到会话的黑板上 文档页面上的示例甚至不是最方便的,您还可以例如执行以下操作
Fact fact = FactFactory.createUserEnteredFact(kb, "temperature", 25);
session.getBlackboard().addValueFact(fact);
如果您想在同一时刻添加大量值,也建议在一个传播窗口中执行此操作。如果您不在同一个传播窗口中提交,则会在每个新事实之后进行推理。推理可能需要很短的时间,因此如果您添加数千个值,则不需要在每个事实之后进行 if。
通过以下方式打开传播窗口:
session.getPropagationManager().openPropagation();
try {
for (Fact fact : facts) {
session.getBlackboard().addValueFact(fact);
}
}
finally {
session.getPropagationManager().commitPropagation();
}
希望这会有所帮助!
问候 阿尔布雷希特
【讨论】: