Как я могу получить все категории в dbpedia?
Я использую библиотеку DBPediaSpotLight и пытаюсь получить URI для каждого слова в dbpedia как:
Слово: учить
URI: http//dbpedia.org/resource/Teacher
Категория: / бизнес /job_title
и я хочу получить все подкатегории для слова "преподавать" (3) уровня.. Я пытаюсь искать запрос в spar ql, но я не нашел то, что я хочу.
1 ответ
http://dbpedia.org/resource/Teacher (сокращенно dbpedia:Teacher) не является категорией в DBpedia, поэтому на самом деле не имеет смысла запрашивать ее подкатегории. Тем не менее, http://dbpedia.org/resource/Category%3ATeaching является категорией и имеет подкатегории. 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 более широкими ссылками.