我正在使用DBPediaSpotLight库并尝试获取dbpedia中每个单词的uri,如:
Word:教育
URI是:http // dbpedia.org / resource / Teacher
类别:/ business / job_title
我希望获得“teach”(3)级别的所有子类别。我试着在sparql中查找查询但是我找不到我想要的内容。
答案 0 :(得分:3)
http://dbpedia.org/resource/Teacher(缩写为dbpedia:Teacher)不是DBpedia中的一个类别,因此要求它的子类别并没有多大意义。但是,http://dbpedia.org/resource/Category:Teaching 是一个类别,并且确实有子类别。 DBpedia使用skos组织类别:更广泛的属性。每个超类别都是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更广泛的链接之间找到链接。