owl 日期时间限制大于

owl datetime restriction creater than

我有一个class,我让它等同于这个限制

Rates and createdOn value "2016-01-01T09:00:00+00:00"^^dateTime

其中 Rates 是一个 class 并且 createdOn 是一种数据类型 属性 具有域作为日期时间

我所做的不是我想做的,因为我想说这样的话:

所有大于2016年1月的日期

我虽然可以通过两种方式完成 但我不知道 owl 是否支持其中任何一种

我首先想到的是:

Rates and createdOn value > "2016-01-01T09:00:00+00:00"^^dateTime

但是门徒告诉我我们不能把>

然后我想如果有办法只检查日期的年份,但我也不知道该怎么做

你能帮忙吗?

您需要使用 DatatypeRestriction:

Declaration(Class(example:Rates))
Declaration(DataProperty(example:createdOn))
Declaration(Datatype(xsd:dateTime))
DataPropertyRange(example:createdOn DatatypeRestriction(xsd:dateTime xsd:minInclusive "2016-01-01T00:00:00"^^xsd:dateTime))
SubClassOf(DataSomeValuesFrom(example:createdOn rdfs:Literal) example:Rates)

编辑:在曼彻斯特语法中,这些方面是这样写的:

Class: <http://example.org#Rates>

SubClassOf: 
    <http://example.org#createdOn> some xsd:dateTime[>= "2016-01-01T00:00:00"^^xsd:dateTime]