我有一个带有域 Show 和 range 的数据属性 ShowTime xsd:dateTime
。我想知道是否有办法断言 dataTime 范围必须包含在“2018-01-01TX:X:X”中,以便在该日期有一个固定的日期和一个可变的小时。
我试过曼彻斯特语法:
xsd:dateTime[>="2018-01-01T00:00:00"^^xsd:dateTime, <"2018-01-01T00:00:00"^^xsd:dateTime]
但是告诉我语法不正确。
PS我正在使用HermiT。
有人能帮我吗?谢谢。
已编辑
具体例子。假设我们有一个Show
类,它代表了电影放映的概念。每个节目都有日期和开始时间。因此,我们可以通过showDateTime
具有域Show
和范围的数据属性xsd:dateTime
(例如“2018-01-16T18:00:00”)简单地表示这些信息。
问题是我需要仅根据开始时间对每天的时间段(早上、下午、傍晚、深夜)中的每个节目进行分类。我尝试了 SWRL,财产限制......我还没有找到一种方法来告诉推理者不要考虑日期,这显然优先于时间并且把我搞砸了。
因此,我想将日期和时间分成两个单独的属性(showDate
和showTime
),始终为 xsd:dateTime 类型,并限制将其showTime
绑定为具有固定日期(例如 2018-01-01)。通过这种方式,我可以将 MorningShow 类定义如下:
showTime some xsd:dateTime[>= "2018-01-01T07:00:00"^^xsd:dateTime ,
<= "2018-01-01T13:00:00"^^xsd:dateTime]
这就是我提出问题的原因。