如何在SPARQL中比较两个日期

如何在SPARQL中比较两个日期,sparql,rdf,triplestore,triples,turtle-rdf,Sparql,Rdf,Triplestore,Triples,Turtle Rdf,我正在研究非时态SPARQL查询,对RDF三元组的概念有点困惑 比如说,我想找到所有取消某项工作,然后又选择完成其取消的同一项工作的员工。那么,我如何存储他们取消工作的日期以及他们选择执行相同工作的日期呢 下面的方法行吗 SELECT?emp 哪里 { ?emp:取消作业?作业 ?emp:日期取消?日期1 ?emp:selectedJob?job ?emp:dateSelectedJob?日期2 过滤器(?日期1

我正在研究非时态SPARQL查询,对RDF三元组的概念有点困惑

比如说,我想找到所有取消某项工作,然后又选择完成其取消的同一项工作的员工。那么,我如何存储他们取消工作的日期以及他们选择执行相同工作的日期呢

下面的方法行吗

SELECT?emp
哪里
{
?emp:取消作业?作业
?emp:日期取消?日期1
?emp:selectedJob?job
?emp:dateSelectedJob?日期2
过滤器(?日期1<?日期2)
}

如果您的查询将运行如果?日期1?日期2的值与可比如果如果?日期1?日期2的值与可比,如果两个日期具有相同的数据类型SPARQL支持它,例如,
xsd:date
,它可以工作。@AKSW您确定它可以与
xsd:date
一起工作吗?看一下,我不确定除了
xsd:dateTime
之外是否还需要支持日期类型的东西,即使某些端点可能支持它。(例如,RobV在中提到将东西转换为
xsd:dateTime
)。嗯,看看文档,我想你是对的。该标准似乎只涵盖
xsd:dateTime
。我想知道是否存在某种包容,即
xsd:dateTime
应该比
xsd:date
更具体。但我想这甚至不是XML模式的一部分,只是一个语法错误。谢谢你的更正!如果两个日期都具有SPARQL支持的相同数据类型,例如
xsd:date
,则它可以工作。@AKSW是否确定它可以与
xsd:date
一起工作?看一下,我不确定除了
xsd:dateTime
之外是否还需要支持日期类型的东西,即使某些端点可能支持它。(例如,RobV在中提到将东西转换为
xsd:dateTime
)。嗯,看看文档,我想你是对的。该标准似乎只涵盖
xsd:dateTime
。我想知道是否存在某种包容,即
xsd:dateTime
应该比
xsd:date
更具体。但我想这甚至不是XML模式的一部分,只是一个语法错误。谢谢你的更正!
numeric         op:numeric-less-than(A, B)
simple literal  op:numeric-equal(fn:compare(A, B), -1)
xsd:string      op:numeric-equal(fn:compare(STR(A), STR(B)), -1)
xsd:boolean     op:boolean-less-than(A, B)
xsd:dateTime    op:dateTime-less-than(A, B)