为什么this SPARQL query会返回no data?
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
<http://dbpedia.org/resource/Louis,_Prince_of_Condé_(1530–1569)> dbpedia-owl:abstract ?abstract
}
LIMIT 1
如果查看the DBpedia page,则会显示此人有摘要。是否与URL中的括号有关?如果是这样,我怎么能绕过这个?
答案 0 :(得分:4)
此URI不会导致与DBpedia页面相同的结果 - 出于何种原因。你可以用
看到这个PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT *
WHERE {
<http://dbpedia.org/resource/Louis,_Prince_of_Condé_(1530–1569)> ?p ?o
}
LIMIT 100
但它有一只猫头鹰:与它相关 http://dbpedia.org/resource/Louis,_Prince_of_Cond%C3%A9_(1530%E2%80%931569)
这意味着如果您在查询中使用此URI,它应该按预期工作。但你确实应该对语言应用FILTER,例如英语摘要的'en'。
答案 1 :(得分:3)
正如AKSW所提到的那样,资源实际上并没有很多属性,而是与“规范”相关联。版本由猫头鹰:sameAs链接。您可以继续使用您现在正在使用的IRI,在任何方向上跟随owl:sameAs到任何相同的资源(让他们调用它们?),然后询问?s的摘要。 (然后按语言过滤并不是一个坏主意,如果适用的话。)您可以使用这样的查询来执行此操作(请注意,当前的DBpedia端点使用 dbo:,现在,不是较旧的 dbpedia-owl:):
select ?abstract where {
<http://dbpedia.org/resource/Louis,_Prince_of_Condé_(1530–1569)> (owl:sameAs|^owl:sameAs)* ?s .
?s dbo:abstract ?abstract .
filter langMatches(lang(?abstract),'en')
}
答案 2 :(得分:2)
它没有dbpedia-owl:abstract
谓词。如果列出其谓词,则会找到以下属性:
http://www.w3.org/2002/07/owl#sameAs
http://xmlns.com/foaf/0.1/name
http://purl.org/dc/elements/1.1/description
http://dbpedia.org/ontology/alias
http://dbpedia.org/ontology/birthYear
http://dbpedia.org/ontology/deathYear
http://dbpedia.org/ontology/viafId
http://dbpedia.org/ontology/deathPlace
http://dbpedia.org/ontology/deathDate
http://dbpedia.org/ontology/birthPlace
http://dbpedia.org/ontology/birthDate