我想使用“DESCRIBE”查询将 dbpedia 数据提取到 RDF。
例如,如果我输入:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX db: <http://dbpedia.org/ontology/>
PREFIX prop: <http://dbpedia.org/property/>
DESCRIBE ?movie ?author ?genre
WHERE {
?movie rdf:type db:Film ;
prop:author ?author ;
prop:genre ?genre .
}
LIMIT 50
OFFSET 0
一切正常。
但是,如果我添加 Actor 和持续时间属性:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX db: <http://dbpedia.org/ontology/>
PREFIX prop: <http://dbpedia.org/property/>
DESCRIBE ?movie ?author ?genre ?actor ?duration
WHERE {
?movie rdf:type db:Film ;
prop:author ?author ;
prop:genre ?genre;
prop:actor ?actor;
prop:duration ?duration .
}
LIMIT 50
OFFSET 0
我得到了空的 RDF。
以下是电影的架构:http://schema.org/Movie
有人吗?
最佳答案
我认为这是输入的问题。假设您正在通过 the SPARQL web interface 测试 dbpedia ,你可以通过以下方式得到一些东西
- 将
持续时间
和流派
标记为可选(因此不需要指定它们) - 使用
dbpprop:starring
代替dbpprop:actor
所以下面的查询
DESCRIBE ?movie ?author ?genre ?actor ?duration
WHERE {
?movie a dbpedia-owl:Film ;
dbpprop:author ?author ;
dbpprop:starring ?actor .
OPTIONAL {
?movie dbpprop:duration ?duration ;
dbpprop:genre ?genre
}
}
LIMIT 5
OFFSET 0
会给你some graphs 。另请注意,我认为您应该引入 http://schema.org/
前缀来使用该电影模式(但它们似乎在 dbpedia 数据集中没有被如此深入地使用)
和here是 SELECT
而不是 DESCRIBE
的结果(为什么需要 DESCRIBE
结果格式?) - 我认为这是有道理的。 p>
我想我也发现了一些有趣的事情。如果您查询
DESCRIBE dbpparam:starring
你get an interesting error message
Errornous expression for predicate 'http://www.w3.org/2002/07/owl#equivalentProperty': schema:actors
我认为这就是为什么 schema:actor
(也许还有 dbpprop:actor
)不起作用的原因。索引程序似乎有错误。
关于rdf - "DESCRIBE"Dbpedia 上的 SPARQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12554587/