我希望得到#peakHour" 19"和#peakDay是"星期天"。 (就像在SQL中一样:SELECT * From abc WHERE peakHour = "19" AND PeakDay = "Suday"
)
下面的sparql查询工作正常,但它不完整。我不知道如何在sparql查询中添加(和#peakDay =" Sunday")
SELECT ?x WHERE
{ ?x <http://www.semanticweb.org/administrator/ontologies/2014/2/untitled-ontology-5#filePeakHour> "19" }
请指导我如何在Sparql Query的WHEREclause中添加AND
关键字
答案 0 :(得分:4)
规范中有很多示例SPARQL 1.1 Query Language,包括2.2 Multiple Matches中的一个:
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE
{ ?x foaf:name ?name .
?x foaf:mbox ?mbox }
SPARQL中没有连接或连接运算符。当您编写多个模式时,它们 all 必须匹配。有关详细信息,请参阅my answer至sparql join query explanation hows its working?。 (这不是一个很好的问题,但它解释了连接是隐含在SPARQL中的)。那么你的查询会是什么样的?
我将使用前缀使您的查询更容易阅读。您提到了#PeakDay
和#PeekHour
,但您的URI实际上是...#filePeakDay
和...#filePeakHour
。但是,使用前缀,您只需编写:PeakHour
和:PeakDay
。
prefix : <http://www.semanticweb.org/administrator/ontologies/2014/2/untitled-ontology-5#file>
select ?x where {
?x :PeakHour "19" .
?x :PeakDay "Sunday" .
}
如果你愿意,你可以使用一些语法糖来缩短它:
prefix : <http://www.semanticweb.org/administrator/ontologies/2014/2/untitled-ontology-5#file>
select ?x where {
?x :PeakHour "19" ;
:PeakDay "Sunday" .
}