当我试图寻找http://www.imdb.com/title/tt0110425和许多其他电影在LinkedMDB,我找不到他们。使用这样的查询,我可以获得带有SPARQL端点的影片的IMDB和foaf:page属性的查询,但它不返回任何结果。
prefix dcterms: <http://purl.org/dc/terms/>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix owl: <http://www.w3.org/2002/07/owl#>
select * where{
?film foaf:page ?imdb;
dcterms:title ?title
filter regex(str(?imdb), "http://www.imdb.com/title/tt0110425", "i")
}如您所见,查询包含一个regex,以捕获匹配的资源。我的查询中是否有一些错误,还是LinkedMDB存储库没有包含所有IMDB的电影(我正在寻找的电影很旧)?
发布于 2014-06-14 21:03:55
我在LinkedMDB网站上没有看到任何关于IMDB所知道的所有电影的信息。下面对其端点的查询不会返回任何结果,因此我认为您要查找的电影没有在那里列出。
SELECT * WHERE {
{ ?resource rdfs:label "La Machine" } union
{ ?resource rdfs:label "The Machine" } union
{ ?resource dc:title "La Machine" } union
{ ?resource dc:title "The Machine" }
}另外,您的原始查询比所需的复杂。正则表达式匹配可能很昂贵,如果您已经有了一个URI,那么您只需询问它,使用如下查询:
select * where{
?film foaf:page <http://www.imdb.com/title/tt0110425> ;
dcterms:title ?title .
}https://stackoverflow.com/questions/24223871
复制相似问题