我在Virtuoso RDF商店中上传了一个RDF文件。 RDF包含从关系数据库中提取的传感器测量值,格式如下:
TIMESTAMP | DEVICE_ID | VALUE
1454688000 | device_125 | 25.3
RDF摘要:
<owl:NamedIndividual rdf:about="http://example.org#device_125">
<rdf:type rdf:resource="http://example.org#device"/>
<ont1:hasValue rdf:datatype="http://www.w3.org/2001/XMLSchema#double">25.3<ont1:hasValue />
<ont1:hasTimestamp rdf:datatype="http://www.w3.org/2001/XMLSchema#long">1454688000<ont1:hasTimestamp/>
</owl:NamedIndividual>
时间概念在时间戳中,我想知道我是否可以使用SPARQL功能将它们转换为dateTime格式。
例如,设置此时间戳:1454688000
,将其转换为此日期(或类似格式):Fri, 05 Feb 2016 14:00:00 GMT
我知道SPARQL允许您进行一些算术运算,但不确定是否可以这样做。
提前致谢,
答案 0 :(得分:1)
如果我正确理解你的起点和目标,你应该可以做这样的事情,使用标准的SPARQL -
SELECT ?deviceid
xsd:dateTime(?timestamp) AS ?eventtime
?value
WHERE
{ ?deviceid ont1:hasTimestamp ?timestamp ;
ont1:hasValue ?value
}
Virtuoso还有其他可能有用的功能(包括从xsd:dateTime
转换为格式xsd:string
的功能),但这些功能超出了标准SPARQL。