链接的MDB是最新的吗?

时间:2014-06-14 20:12:00

标签: rdf sparql semantic-web linked-data linkedmdb

当我尝试在LinkedMDB中查找The Machine和许多其他电影时,我无法找到它们。我可以使用像这样的查询获取电影的IMDB URL并查询带有SPARQL端点的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")
}

如您所见,查询包含一个正则表达式以捕获匹配的资源。我的查询中是否存在错误,或者LinkedMDB存储库中是否包含所有IMDB的电影(我正在寻找的电影是否已经很老了)?

1 个答案:

答案 0 :(得分:2)

在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 .
}