2014-05-09 22 views
2

我使用的DBPediaSpotLight库,并试图获得URI的每个字在DBpedia中,如:如何获得dbpedia中的所有类别?

字:教

的URI是:http // dbpedia.org /资源/教师

类别:/业务/ JOB_TITLE

,我想所有的子类单词“教”(3)水平..我试图寻找在SPARQL查询,但我没有”找到我想要的东西。

+0

http://dbpedia.org/resource/Teacher不是DBpedia类别。你究竟想要获得哪些子类别? –

回答

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 
} 

SPARQL results

/属性路径是指一个属性路径,然后另一个。属性路径后面的问号意味着0或1次出现路径。因此,路径

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

装置(0或1更广泛的)/(0或1更广泛的)/更宽,这意味着你会发现教学和子类别1,2或3条远离更宽链路之间的联系。

+0

我正在尝试做类似于获取所有社交事件类型的内容。我发现了类别“Social_events”,它具有实际社交事件类型的子类别,我认为它们是我需要的。我试图做你的例子类似的东西,但它显示奇怪的数据 - 'select distinct?subcategory其中类别:Social_events skos:更广泛的/ skos:更广泛的/ skos:更广泛的子类别 } –

+0

[Sparql查询结果](http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+%3Fsubcategory+where+%7B%0D%0A++category%3ASocial_events+skos% 3Abroader%3F%2Fskos%3Abroader%3F%2Fskos%3Abroader +%3Fsubcategory%0D 0A%%7D&格式=文本%2Fhtml&超时= 30000&调试=上) –

相关问题