1

默认情况下,OWL 本体中不维护序列顺序。如何在 OWL-DL 本体中建模序列?

4

2 回答 2

3

对序列进行建模并对其元素进行排序的一种方法是只引入一个hasNext属性来捕获序列顺序:

Class: SequenceItem
    EquivalentTo: 
        hasNext only SequenceItem

ObjectProperty: hasNext 
    Domain: 
       SequenceItem
    Range: 
       SequenceItem
    InverseOf:
       hasPrevious

然后,假设您要按顺序排序的项目表示为实例,您可以按如下方式捕获它们的顺序:

SequenceItem: item_1
    hasNext: 
         item_2
于 2012-08-11T22:17:19.283 回答
0

OWL 允许您声明,例如:

  • 每个项目最多跟随一个项目。
  • 每个项目后面最多跟一个项目。
  • 每个第一个项目都是一个不跟在任何项目之后的项目。
  • Item1 是一个项目,后面是 Item2。
  • ...

这些语句允许您描述序列(可能是开放式的,即具有无限模型)。

(The above statements were written in ACE, use the ACE parser to convert them to OWL, where item becomes a class, follows becomes an object property and Item1 and Item2 are individuals.)

于 2012-08-23T06:49:35.477 回答