【问题标题】:How to define SWRL rule name in Protege 4?如何在 Protege 4 中定义 SWRL 规则名称?
【发布时间】:2015-02-24 02:01:39
【问题描述】:

我在 Protege 4 中使用了“规则”视图

我认为如果 protege 支持定义规则名称。

Rule:        // syntax color is changed

我这样定义规则

'context data'(?data), user(?user) -> hasData(?user, ?data)

我尝试定义规则名称..但我不知道如何使用规则名称

Rule: 'context data'(?data), user(?user) -> hasData(?user, ?data)

出现语法错误!

如何在 Protege 4 中定义 SWRL 规则名称?

【问题讨论】:

  • SWRL 规则被建模为 OWL API 中的公理(由 Protege 使用)。它们可以像公理一样使用标签进行注释,但它们没有“名称”或 IRI。旧版本的 OWL API(我相信是 2.2.0 和 3.1)过去曾允许在 SWRL 规则上使用 IRI,但这是不正确的,并且行为在几年前已经改变。

标签: owl ontology protege protege4 swrl


【解决方案1】:

是否有什么让您相信可以在 SWRL 中为规则指定名称?我不知道有任何这样的结构(但我可能不知道)。 SWRL abstract syntax 中没有提到具有名称的规则。

【讨论】:

  • 感谢您的回答。但在耶拿,规则是有名字的。在 protege 3 中,规则也有名称。所以我想知道规则是否有名称以及如何在 protege 4 中定义。
  • 是的,但耶拿规则与 swrl ryles 完全不同。 Jena 规则适用于 rdf; swrl 适用于猫头鹰个体。 Swrl 规则没有名称。
【解决方案2】:

如果我正确理解您的意图,另一种选择是使用 here 所示的注释属性向 SWRL 规则添加标签(请忽略一些非标准的注释属性,它们是项目特定的)

如果我没记错的话,Protege 3.5 支持将名称添加到规则中,这是一个相当有用的功能,因为它可以帮助从大量规则集中隔离所需的规则。但是,更高版本的 Protege 不支持此功能。 希望这会有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 2012-09-04
    • 2018-10-19
    • 2015-02-10
    • 2015-03-31
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多