有没有办法使用 SPARQL 检索 dpbedia 中的所有主题?
也就是说有没有办法提取这里列出的主题的所有子字段:
http://en.wikipedia.org/wiki/Lists_of_mathematics_topics
广泛的主题在此处列出:http://dbpedia.org/page/Category: Fields_of_mathematics
我想要一个显示父类及其子字段的列表。
有没有办法使用 SPARQL 检索 dpbedia 中的所有主题?
也就是说有没有办法提取这里列出的主题的所有子字段:
http://en.wikipedia.org/wiki/Lists_of_mathematics_topics
广泛的主题在此处列出:http://dbpedia.org/page/Category: Fields_of_mathematics
我想要一个显示父类及其子字段的列表。
问题1:取决于您如何定义主题......
您可以查询例如skos:Concept
:
SELECT ?con
WHERE {
?con a skos:Concept
}
limit 1000
问题2:您可以查询skos:broader
属性,例如:
SELECT ?parent (?label as ?sub)
WHERE {
{
?sub skos:broader <http://dbpedia.org/resource/Category:Fields_of_mathematics> .
?sub rdfs:label ?label .
} UNION {
<http://dbpedia.org/resource/Category:Fields_of_mathematics> rdfs:label ?parent
}
}
检索上述字段的下一级子字段列表:
SELECT ?parent ?sub ?subsub
WHERE {
{
?sub skos:broader <http://dbpedia.org/resource/Category:Fields_of_mathematics> .
OPTIONAL {?subsub dcterms:subject ?sub}
} UNION {
<http://dbpedia.org/resource/Category:Fields_of_mathematics> rdfs:label ?parent
}
}