我正在使用 DBPediaSpotLight 库并尝试为 dbpedia 中的每个单词获取 uri,例如:
词语: 教
URI 是:http//dbpedia.org/resource/Teacher
类别:/business/job_title
我想获得“教”(3)个级别的所有子类别。我试图在 sparql 中查找查询,但没有找到我想要的。
我正在使用 DBPediaSpotLight 库并尝试为 dbpedia 中的每个单词获取 uri,例如:
词语: 教
URI 是:http//dbpedia.org/resource/Teacher
类别:/business/job_title
我想获得“教”(3)个级别的所有子类别。我试图在 sparql 中查找查询,但没有找到我想要的。
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
}
带有 的属性路径/
意味着一个属性路径后跟另一个属性路径。属性路径后的问号表示路径出现 0 次或 1 次。因此路径
skos:broader?/skos:broader?/skos:broader
表示(0 或 1 更广泛)/(0 或 1 更广泛)/更广泛,这意味着您会发现教学和子类别 1、2 或 3 更广泛的链接之间的链接。