在linkedmdb SPARQL中使用筛选器时分析错误
我试图用linkedmdb查询2部特定电影及其imdb页面,但它抛出了一个解析错误 当我删除下面的行时,我会得到一个所有电影的列表。如何获取特定集合的链接在linkedmdb SPARQL中使用筛选器时分析错误,sparql,sparqlwrapper,linkedmdb,Sparql,Sparqlwrapper,Linkedmdb,我试图用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(st
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"))
}
您可以尝试通过值进行匹配,而不是获取所有匹配项并筛选出所需的值:
SELECT ?title ?imdbID
WHERE {
?film foaf:page ?imdbID .
VALUES ?title {"The Magician" "Royal Flash"} .
?film dc:title ?title
}
SPARQL 1.1规范显示了 所以 过滤str?魔术师中的标题,皇家闪光 与 FILTER str?title=魔术师| | str?title=皇家闪电侠
SPARQL 1.0仍然是相同的错误。我使用的是以下端点,它不支持SPARQL 1.1,因此必须使用SPARQL UNION。下次最好提前显示SPARQL服务的URL。它不支持SPARQL 1.1,因此必须使用SPARQL UNION。请参阅规格:我在中使用之前确实尝试过。问题是,当我检索所有电影或仅检索一部电影时,所有这些变体都起作用。当我试图限制他们中的几个人时,他们就不起作用了。你使用的等价物只会给魔术师一个提示。我想要魔术师和皇家闪光灯的细节,这和滤镜无关。没有任何东西的标题能与《皇家闪电侠》相提并论。您只能查询知识库中的数据。LinkedMDB非常旧,没有与IMDB同步的实时数据集。IBDM页面将是,您可以通过SPARQL检查没有URL值为foaf:page的资源