我想知道如何查询具有浮点值的注释。我已经设法用字符串值来做这个,但我无法弄清楚如何用浮点值来做。我想要检索的信息是curfew:NumberInLine
注释的值。在下面的情况中,它是50.0
:
<curfew:NumberInLine rdf:datatype="&xsd;float">50.0</curfew:NumberInLine>
我使用以下SPARQL查询来检索字符串。该代码将为我提供包含字符串curfew:Label
的{{1}}的所有个体。我希望能够使用数字和浮点值来做同样的事情。
"Open"
我尝试将SELECT ?x
WHERE
{
?x curfew:Label ?label .
FILTER(CONTAINS(?label, "Open"))
}
替换为curfew:Label
,但没有运气。我也有curfew:NumberInLine
的前缀。我没有任何错误,只是没有答案。如何修改此查询?
答案 0 :(得分:0)
这很难回答,因为您没有显示数据。但是,如果我们假设你有这样的数据:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://example.org/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:curfew="http://example.org/curfew/">
<rdf:Description rdf:about="http://example.org/c">
<curfew:NumberInLine rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
>45.0</curfew:NumberInLine>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/a">
<curfew:NumberInLine rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
>50.0</curfew:NumberInLine>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/d">
<curfew:NumberInLine rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
>47.0</curfew:NumberInLine>
</rdf:Description>
<rdf:Description rdf:about="http://example.org/b">
<curfew:NumberInLine rdf:datatype="http://www.w3.org/2001/XMLSchema#float"
>60.0</curfew:NumberInLine>
</rdf:Description>
</rdf:RDF>
然后你可以用同样的方式(使用contains
)过滤这样的查询:
prefix curfew: <http://example.org/curfew/>
prefix : <http://example.org/>
select ?c ?number where {
?c curfew:NumberInLine ?number .
filter( contains( str(?number), "5" ))
}
---------------------------------------------------------
| c | number |
=========================================================
| :c | "45.0"^^<http://www.w3.org/2001/XMLSchema#float> |
| :a | "50.0"^^<http://www.w3.org/2001/XMLSchema#float> |
---------------------------------------------------------
如果您正在使用数字类型,那么基于数字属性进行过滤会更常见。例如,
prefix curfew: <http://example.org/curfew/>
prefix : <http://example.org/>
select ?c ?number where {
?c curfew:NumberInLine ?number .
filter( ?number < 50.0 )
}
---------------------------------------------------------
| c | number |
=========================================================
| :d | "47.0"^^<http://www.w3.org/2001/XMLSchema#float> |
| :c | "45.0"^^<http://www.w3.org/2001/XMLSchema#float> |
---------------------------------------------------------