1

有没有办法使用 SPARQL 检索 dpbedia 中的所有主题?

http://dbpedia.org/snorql/

也就是说有没有办法提取这里列出的主题的所有子字段:

http://en.wikipedia.org/wiki/Lists_of_mathematics_topics

广泛的主题在此处列出:http://dbpedia.org/page/Category: Fields_of_mathematics

我想要一个显示父类及其子字段的列表。

4

1 回答 1

4

问题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
 }
}

查看结果

于 2013-05-14T20:54:26.283 回答