我们正在设计一个项目,该项目将侦听机场管制员与飞行员之间的对话,以防止跑道入侵(例如,一架飞机起飞而另一架飞机正在穿越跑道)。我们的教授希望我们使用Jena作为知识库(或其他任何东西,但它应该是某种基于规则的引擎)。推断不是耶拿的主要内容,并且没有太多的文档和示例。因此,我们需要一种引擎,该引擎将从飞行员那里获取消息作为输入,并输出可能入侵或消息协议(protocol)中其他错误的风险。它应该易于编写规则,并应易于为引擎提供实时数据。
我将其想象成这样:
那么,Jena或prolog或任何其他规则引擎是否适合于此?我的意思是它合适,但是我们真的需要使用它吗?我问教授。如果我们只能保持跑道状态并根据收到的消息使用一些简单的检查,他说这是不可扩展的,那么我们需要知识库。有人可以给我任何建议使用该系统的方法吗?如果您建议k.b.,那么我们应该使用哪一个?该项目是用Java编写的。
谢谢。
最佳答案
您可以为此使用jena,但这主要是rdf工具包。如果您尚未使用RDF或不熟悉RDF,那么我会去其他地方。
您的案例很有趣,因为听起来很动态。前向链接推理程序(例如Drools)可能不是最佳选择,因为更新事件会使推论无效。尝试一些序言。