我正在尝试使用linkedmdb查询2个特定电影及其imdb页面,但会抛出一个解析错误。
当我删除以下行时,我会收到所有电影的列表。如何获取特定集的链接。
FILTER (str(?title) IN ("The Magician","Royal Flash"))
这是我的代码。
SELECT ?title ?imdbID
WHERE {
?film foaf:page ?imdbID .
?film dc:title ?title .
FILTER(regex(str(?imdbID), "www.imdb.com" ) )
FILTER (str(?title) IN ("The Magician","Royal Flash"))
}
答案 0 :(得分:1)
SPARQL 1.1规范显示了IN
https://www.w3.org/TR/sparql11-query/#func-in
所以
FILTER (str(?title) IN ("The Magician","Royal Flash"))
与
相同 FILTER (str(?title) = "The Magician" || str(?title) = "Royal Flash")
是SPARQL 1.0
答案 1 :(得分:0)
您可以尝试通过VALUES
进行匹配,而不是获取所有匹配项并过滤掉所需的值:
SELECT ?title ?imdbID
WHERE {
?film foaf:page ?imdbID .
VALUES ?title {"The Magician" "Royal Flash"} .
?film dc:title ?title
}