ARQ 是否支持 SPARQL 1.1 日期和时间函数?
Does ARQ support SPARQL 1.1 Date and Time Functions?
我一直在尝试对 date/time 值进行一些格式化,以使它们在结果中显示为字符串文字。我正在使用来自 apache-jena-2.11.0 的 Jena ARQ。
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?activity ?agent ?time ?time (YEAR(?time) as ?year ) WHERE {
?activity prov:endedAtTime ?time ;
prov:wasAssociatedWith ?agent .
}
ARQ 将日期时间报告为
"2015-02-20T13:07:53+00:00:00"^^<xsd:dateTime> to me.
这是 属性 在 RDF 中作为 TTL 的样子:
<http://www.w3.org/ns/prov#endedAtTime>
"2014-08-04T15:35:09+01:00:00"^^<xsd:dateTime> ;
这是使用 Jena API 创建的:
resource.addProperty(PROVO.endedAtTime,
model.createTypedLiteral(date, "xsd:dateTime"));
可能我用的API错了?
是的,Jena 支持所有 SPARQL 1.1 函数。
您遇到问题是因为
"2015-01-07T15:22:53+00:00:00"^^<xsd:dateTime>
不是日期时间。
"2015-01-07T15:22:53+00:00:00"^^http://www.w3.org/2001/XMLSchema#dateTime>
或
"2015-01-07T15:22:53+00:00:00"^^xsd:dateTime
<xsd:dateTime>
是完全不同的URI,URI方案名"xsd".
我一直在尝试对 date/time 值进行一些格式化,以使它们在结果中显示为字符串文字。我正在使用来自 apache-jena-2.11.0 的 Jena ARQ。
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?activity ?agent ?time ?time (YEAR(?time) as ?year ) WHERE {
?activity prov:endedAtTime ?time ;
prov:wasAssociatedWith ?agent .
}
ARQ 将日期时间报告为
"2015-02-20T13:07:53+00:00:00"^^<xsd:dateTime> to me.
这是 属性 在 RDF 中作为 TTL 的样子:
<http://www.w3.org/ns/prov#endedAtTime>
"2014-08-04T15:35:09+01:00:00"^^<xsd:dateTime> ;
这是使用 Jena API 创建的:
resource.addProperty(PROVO.endedAtTime,
model.createTypedLiteral(date, "xsd:dateTime"));
可能我用的API错了?
是的,Jena 支持所有 SPARQL 1.1 函数。
您遇到问题是因为
"2015-01-07T15:22:53+00:00:00"^^<xsd:dateTime>
不是日期时间。
"2015-01-07T15:22:53+00:00:00"^^http://www.w3.org/2001/XMLSchema#dateTime>
或
"2015-01-07T15:22:53+00:00:00"^^xsd:dateTime
<xsd:dateTime>
是完全不同的URI,URI方案名"xsd".