【问题标题】:Protege datatype restriction保护数据类型限制
【发布时间】:2016-03-27 08:36:46
【问题描述】:

我已经用数据定义了我的本体,其中包括 Hour。现在,我想对定义为 int 并具有 0-23 值的特定数据类型(小时)进行限制。限制将根据白天和黑夜设置小时的划分,例如(小时最小 6 int)和(小时最大 17 int)白天和定义为对象属性 isDay,但问题是推论不发生。 先感谢您, 艾略特

【问题讨论】:

  • 数据类型限制不适用于对象属性,因此这是一个问题。另一个是:您使用的是哪个推理器?并非所有都支持用户定义的数据类型。
  • 我不确定它如何与对象属性一起工作,但如果你有一个类 Event 和一个子类 DayEvent,你可以为它定义一个等效类 owl:onProperty :hour; owl:someValuesFrom [ xsd:minInclusive "6"^^xsd:int ; xsd:maxInclusive "17"^^xsd:int ; owl:onDataRange xsd:integer. ].跨度>
  • @Ignazio,这个答案有用吗?正如我从另一个案例中提到的那样,如果需要改进,请告诉我。
  • @IvoVelitchkov 我觉得不错
  • @Ignazio 因为它不被接受为答案,我认为我还没有解决你的问题。

标签: owl protege restriction


【解决方案1】:

您可以创建一个:DayEvent 类作为:Event 的子类,然后为您要指定为日槽的范围声明对dataType 属性:hour 的限制,例如6

:DayEvent rdf:type owl:Class ;

      owl:equivalentClass [
                     rdf:type owl:Restriction ;
                     owl:onProperty :hour ;
                     owl:someValuesFrom [ rdf:type rdfs:Datatype ;
                                     owl:onDatatype xsd:integer ;
                                     owl:withRestrictions ( 
                                                 [ xsd:minInclusive 6]
                                                 [ xsd:maxInclusive 17]
                                                )
                                         ]
                          ] ;

      rdfs:subClassOf :Event .

那么所有具有dataType属性:hour且值在指定范围内的个体将被推断为:DayEvent的成员。

这至少适用于 Protégé 4.3 和 5,以及推理机 HermiT、FaCT++ 和 Pallet。

等价的类定义在 Protégé 语法中如下所示:hour some xsd:integer[>= 6 , <= 17]

【讨论】:

    猜你喜欢
    • 2021-04-27
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    相关资源
    最近更新 更多