【发布时间】:2013-02-20 12:55:28
【问题描述】:
我运行了以下查询,并从linkedmdb 获取了电影数据及其对应的 DBpedia URI。
SELECT ?film ?label ?dbpediaLink
WHERE {
?film rdf:type movie:film .
?film rdfs:label ?label .
?film owl:sameAs ?dbpediaLink
FILTER(regex(str(?dbpediaLink), "dbpedia", "i"))
}
LIMIT 100
我想使用 ?dbpediaLink URI 从 DBpedia 获取这些电影的类别。另外,我需要从 DBpedia 获取电影的 dcterms:subject 属性的值。我无法理解如何连接它们?我可以通过 SPARQL 来完成,还是需要为此编写代码?
【问题讨论】:
-
还要注意,SPARQL 1.1 有一个
strstarts函数,这意味着你实际上可以根据?dbpediaLink是否以http://dbpedia.org/resource/开头进行过滤,这可能会快一点。 -
错误,对最后的评论感到抱歉。虽然 SPARQL 1.1 确实有
strstarts,但它看起来不像 linkedmdb 端点支持它,所以您仍然必须在此处使用regex。不过,您仍然可以更具体一些并过滤regex( str(?dbpediaLink), "^http://dbpedia.org/resource" )。 -
你有没有最终让这个工作?
标签: rdf sparql semantic-web dbpedia linkedmdb