【发布时间】:2019-08-16 16:48:59
【问题描述】:
我有个小问题……
从维基百科页面 ID 的列表中,我想返回:
- pageid
- 摘要(英文)
- 缩略图
- 类型
仅适用于公司或大学页面
我有这个简单的 SPARQL 查询:
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
select ?pageid ?abstract ?thumbnail ?company ?type
where {
?resource dbpedia-owl:wikiPageID ?pageid;
dbpedia-owl:abstract ?abstract
. OPTIONAL {
?resource dbpedia-owl:thumbnail ?thumbnail
}
. OPTIONAL {
?resource dbpedia-owl:type ?type
}
. OPTIONAL {
?resource ?company dbpedia-owl:Company
}
FILTER(
?pageid = 14617 || ?pageid = 26989 || ?pageid = 31776 ||
?pageid = 256913 || ?pageid = 342924 || ?pageid = 1785141 ||
?pageid = 3057187 || ?pageid = 7529378 || ?pageid = 18978754
)
FILTER(langMatches(lang(?abstract),"en"))
}
我有这个结果:SPARQL Result
我设法返回了我想要的数据,但我不能只过滤那些公司和大学。
是否有关于如何删除 dbpedia 查询结果中不是公司或大学的页面的任何想法?
【问题讨论】:
-
这样做的目的是什么:
OPTIONAL { ?resource ?company dbpedia-owl:Company }? -
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT ?pageid ?abstract ?thumbnail ?type where { VALUES ?type {dbo:Company dbo:University} VALUES ?pageid {14617 26989 31776 256913 342924 1785141 3057187 7529378 18978754 } ?resource dbo:wikiPageID ?pageid; rdf:type ?type; dbo:abstract ?abstract . OPTIONAL { ?resource dbo:thumbnail ?thumbnail} FILTER(langMatches(lang(?abstract),"en")) }
标签: sparql rdf dbpedia virtuoso