使用DataType属性在SPARQL中进行查询

时间:2017-05-18 00:33:47

标签: sparql

我正在使用本体OWL并对其进行查询。

我的查询是:

“PREFIX a:http://www.owl-ontologies.com/Indoor.owl#” +“SELECT?X” +“WHERE {?X a:hasDay a:”+ day +“。” +“?X a:hasRoom a:”+ room +“。” +“?X a:hasStartTime a:”+ startTime +“}”;

目前进行查询时,NetBeans的控制台抛出了我:

查询中使用的未定义对象属性:http://www.owl-ontologies.com/Indoor.owl#hasStartTime

但是本体中的hasStartTime不是对象属性,它是数据类型(int)。

1 个答案:

答案 0 :(得分:0)

假设Java变量startTime的值是例如420(7am),如果查看SPARQL查询,最后的三重模式由

生成

?X a:hasStartTime a:加上``startTime,

的值

即。它导致

?X a:hasStartTime a:420

RDF文字必须放在没有前缀的引号中 - 它是文字而不是带前缀的URI,例如。

?X a:hasStartTime 420

或使数据类型更明确(对于整数值,上面只是一个快捷方式)

?X a:hasStartTime "420"^^<http://www.w3.org/2001/XMLSchema#integer>