我是SPARQL的初学者,我正在尝试做一些练习。其中之一如下:
你喜欢的男/女演员结婚了吗?
我正在使用一个ASK查询:
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
ASK
WHERE {dbr:Steve_Carell dbo:spouse ?any}
这个查询返回true。
我的答案是:当ASK查询为真时,是否有方法返回?any
?换句话说,是否有可能建立一个IF…然后在SPARQL中构造?
我试过这样做:
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
SELECT ?any {
ASK
WHERE {dbr:Steve_Carell dbo:spouse ?any}
}
但显然它不起作用。
提示吗?
ASK
可能匹配多个项目。如果你只想要其中一个:
SELECT ?any {
dbr:Steve_Carell dbo:spouse ?any
} LIMIT 1
返回一行?any
(即ASK = true)或没有行(ASK = false)。
这也可以用作子select来获取其中一种可能性(它返回的是未确定的)。