我们正在设计一个项目,该项目将侦听机场管制员与飞行员之间的对话,以防止跑道入侵(例如,一架飞机起飞而另一架飞机正在穿越跑道)。我们的教授希望我们使用Jena作为知识库(或其他任何东西,但它应该是某种基于规则的引擎)。推断不是耶拿的主要内容,并且没有太多的文档和示例。因此,我们需要一种引擎,该引擎将从飞行员那里获取消息作为输入,并输出可能入侵或消息协议(protocol)中其他错误的风险。它应该易于编写规则,并应易于为引擎提供实时数据。

我将其想象成这样:

  • 飞行员发送一条消息,说他降落在某条跑道上,系统记住该跑道很忙,没有人可以越过它。
  • 如果有人被指示要越过该跑道,则引擎应触发一条规则,指出出了什么问题
  • 当飞行员发送一条消息,说他已离开跑道进入登机口时,系统会清理跑道并让其他飞机使用。

  • 那么,Jena或prolog或任何其他规则引擎是否适合于此?我的意思是它合适,但是我们真的需要使用它吗?我问教授。如果我们只能保持跑道状态并根据收到的消息使用一些简单的检查,他说这是不可扩展的,那么我们需要知识库。有人可以给我任何建议使用该系统的方法吗?如果您建议k.b.,那么我们应该使用哪一个?该项目是用Java编写的。

    谢谢。

    最佳答案

    您可以为此使用jena,但这主要是rdf工具包。如果您尚未使用RDF或不熟悉RDF,那么我会去其他地方。

    您的案例很有趣,因为听起来很动态。前向链接推理程序(例如Drools)可能不是最佳选择,因为更新事件会使推论无效。尝试一些序言。

    07-26 06:01