Как я могу получить все категории в 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
}

Результаты SPARQL

Путь свойства с / означает один путь свойства, за которым следует другой. Знак вопроса после пути свойства означает 0 или 1 вхождение пути. Таким образом, путь

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

означает (0 или 1 шире)/(0 или 1 шире) / шире, что означает, что вы найдете ссылки между Учением и подкатегориями 1, 2 или 3 более широкими ссылками.

Другие вопросы по тегам