我已经在我的本体中填充了定义其他小时的数据。现在,我想对特定数据类型(小时)进行限制,该数据类型定义为int并且值为0-23。限制将根据白天和夜晚的小时划分设置,例如(小时最小6英尺)和(小时最大17英尺)当天和定义为对象属性isDay,但问题是推论没有发生。 先感谢您, 埃利奥特
答案 0 :(得分:1)
您可以创建:DayEvent
类作为:Event
的子类,然后对要指定为日期插槽的范围声明对dataType属性:hour
的限制,例如6< = DayEvent小时< = 17,这样:
: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一起使用,包括Remioners HermiT,FaCT ++和Pallet。
等效的类定义将使用Protégé语法,如下所示:hour some xsd:integer[>= 6 , <= 17]
。