在sparql查询中,我想列出35岁以上的人。但出现以下错误。这是什么原因?
(即使执行[?yas > 35
,结果也不会改变。我仍然会收到错误。)
QUERY:
PREFIX uni:<http://muratkilinc.com/~ontologies/izmir.owl#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX un: <http://www.w3.org/2007/ont/unit#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?adi ?soyadi ?yas
WHERE
{
?turistler uni:yas ?yas > "35" .
?turistler uni:yas ?yas.
?turistler uni:adi ?adi.
?turistler uni:soyadi ?soyadi.
}
错误:
Error 400: Parse error:
Encountered " ">" "> "" at line 9, column 33.
Was expecting one of:
"values" ...
"graph" ...
"optional" ...
"minus" ...
"bind" ...
"service" ...
"let" ...
"exists" ...
"not" ...
"filter" ...
"{" ...
"}" ...
";" ...
"," ...
"." ...
要将这些布尔条件放入SPARQL查询中,必须使用FILTER
约束。像这样:
PREFIX uni:<http://muratkilinc.com/~ontologies/izmir.owl#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX un: <http://www.w3.org/2007/ont/unit#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?adi ?soyadi ?yas
WHERE
{
?turistler uni:yas .
?turistler uni:yas ?yas.
?turistler uni:adi ?adi.
?turistler uni:soyadi ?soyadi.
FILTER(?yas > 35)
}
SPARQL W3C doc是阅读有关可以使用哪种filter expression以及如何使用不同的值数据类型(字符串,整数,日期等)的好资源。