2

我正在使用 DBPediaSpotLight 库并尝试为 dbpedia 中的每个单词获取 uri,例如:

词语: 教

URI 是:http//dbpedia.org/resource/Teacher

类别:/business/job_title

我想获得“教”(3)个级别的所有子类别。我试图在 sparql 中查找查询,但没有找到我想要的。

4

1 回答 1

3

http://dbpedia.org/resource/Teacher(缩写为 dbpedia:Teacher)不是 DBpedia 中的一个类别,因此要求它的子类别没有任何意义。但是,http ://dbpedia.org/resource/Category:Teaching 一个类别,并且确实有子类别。DBpedia 使用 skos:broader 属性组织类别。每个超类别都 skos: 比其子类别更广泛。要获取其子类别,最多三个级别,您可以使用如下查询:

select distinct ?subcategory where {
  category:Teaching skos:broader?/skos:broader?/skos:broader ?subcategory
}

SPARQL 结果

带有 的属性路径/意味着一个属性路径后跟另一个属性路径。属性路径后的问号表示路径出现 0 次或 1 次。因此路径

skos:broader?/skos:broader?/skos:broader

表示(0 或 1 更广泛)/(0 或 1 更广泛)/更广泛,这意味着您会发现教学和子类别 1、2 或 3 更广泛的链接之间的链接。

于 2014-05-09T21:06:10.713 回答