从dbpedia检索数学类别列表?

时间:2013-05-14 18:31:30

标签: sparql dbpedia

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

http://dbpedia.org/snorql/

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

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

这里列出了广泛的主题:http://dbpedia.org/page/Category:Fields_of_mathematics

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

1 个答案:

答案 0 :(得分:4)

问题1: 取决于你如何定义主题....
您可以查询skos:Concept的实例:

SELECT ?con
WHERE {
  ?con a skos:Concept
} 
limit 1000 

see result

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

see results

使用以下命令检索上述字段的下一级子字段列表:

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

see results