我试图用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"))
}发布于 2017-03-15 19:05:35
SPARQL1.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
发布于 2017-03-15 05:59:05
您可以尝试通过VALUES进行匹配,而不是获取所有匹配并过滤出所需的值:
SELECT ?title ?imdbID
WHERE {
?film foaf:page ?imdbID .
VALUES ?title {"The Magician" "Royal Flash"} .
?film dc:title ?title
}https://stackoverflow.com/questions/42796902
复制相似问题