0

我刚刚开始使用 ODM 8.5(JRules 的后续版本),并且正在尝试使用预先存在的 Java 项目作为业务对象模型 (BOM) 的基础。大多数课程似乎翻译得很好;但是,我有一个无法修复的错误 -

Term "event" is duplicated in the vocabulary or is a reserved word.

不幸的是,规则设计器不知道重复发生在哪里,我也找不到保留字列表。在我这样做之前,我会假设“事件”是保留的。

我确实有一个Event抽象的 Java 类,我也有字段等,其中“事件”作为名称的一部分,例如eventType. 这会产生默认的语言表达,例如

{event type} of {this}

set the event type of {this} to {event type}

假设我确实想要我的Event班级和名称中带有“事件”的字段,我该如何调整我的 BOM 以免出现错误?我已经编辑了我的 BOM,使得“事件”这个词不再单独出现在 .voc 文件中,例如,我现在有如下表述:

{evnt-type} of {this}

set the evnt-type of {this} to {evnt-type}

然而,我仍然有同样的错误信息。我能做些什么?

编辑:

我在 IBM 文档中找到了保留列表,该列表指定了 ILOG 规则语言的保留字列表,其中包括“事件”。但是,文档不清楚。它指出,“保留了许多关键字,并且命名限制适用于包名称。” 这是否意味着限制仅适用于包名称?它还说,“自 V7.5 起已弃用。” 如何弃用保留字列表?这是否意味着v7.5之后就没有限制了?

4

1 回答 1

0

解决方案很简单。我只需要将Event课堂的语言表达从“事件”更改为“模型事件”。没有必要更改任何其他字段等,将“事件”作为名称的一部分,例如eventType. 也就是说,我能够保留默认的表达方式,例如

{event type} of {this}

set the event type of {this} to {event type}

看起来我的大部分问题是由于规则设计器环境混乱或错误造成的。经过数小时尝试解决我的问题并仍然看到错误后,我退出了 Rule Designer。当我下次启动 Rule Designer 时,我重新导入了我的项目并且错误消失了。当我遇到问题时检查 Eclipse 日志时,我看到了很多行,例如:

!MESSAGE Vocabulary Editor use a Vocabulary which is not referenced in the vocabulary path (probable cause: uncontrolled MT access): restart Rule Designer

如果我在 GUI 中看到类似的消息,那就太好了。我可能可以为自己节省很多时间。

于 2014-04-08T11:53:44.373 回答