【问题标题】:Protege 5: How can I infer a class membership of an individual through its data properties?Protege 5:如何通过数据属性推断个人的类成员资格?
【发布时间】:2020-08-27 17:29:17
【问题描述】:

我在 Protégé 5 中使用 OWL/XML 语法制作了一个本体。我已经包括了一个类 Cerveza 和另一个类 Color。在颜色下,我有 3 个子类:Claro(苍白)、Medio(中等)和 Oscuro(深色):

我创建了一个名为 EBC xsd:int 的数据属性,其域是 Cerveza 类:

所以我对 Claro 课程进行了限制,使其最多拥有 12 个 EBC 学位:

然后我创建一个名为 kk 的个体并断言属性 EBC=10:

我启动了推理器 Pellet,它推断,由于 kk 具有 EBC,kk 必须属于 Cerveza 类。但我期待以某种方式推断 kk 属于 Class Color / Subclass claro。

这个设计有什么问题?

【问题讨论】:

  • 说“最大 12 EBC 度”与“最大 12 度”是有区别的 - 你在本体中做错了 EBC max 12 int 意味着“最大 12 EBC 度”,但是你的数据KK EBC 10 表示“KK 的 EBC 值为 12”

标签: rdf owl protege pellet


【解决方案1】:

您混淆了数据类型限制 (7.5) 和数据属性基数限制 (8.5)。

代替:

Class: Claro
  SubClassOf: EBC max 12 xsd:int

你应该写:

Class: Claro
  EquivalentTo: EBC some xsd:int[<= 12]

【讨论】:

  • 感谢斯坦尼斯拉夫。我应该怎么做间隔?我写了: Class: Medio EquivalentTo: EBC some xsd:int[> 12] 和 xsd:int[ 47] 但它越来越混乱了。我在两个班级都有 12 岁以上的人。
  • EBC some xsd:int[&gt; 12, &lt; 47]
  • 再次感谢,但我仍在 Medio (EBC some xsd:int[> 12,
  • EBC 是函数属性吗?
  • 我的意思是,这个人的EBC 属性是否有两个值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多