2015-12-20 3 views
1

Я использую службу поиска DBpedia. Вначале я использовал поле класса в ответ на поиск, чтобы выполнить какую-то реализацию семантического поиска. После некоторого опыта я увидел, что поле класса возвращает пустое множество поисков. Тогда я подумал, что если я могу использовать поле категории для этой же цели.Как я могу получить иерархию категорий из DBPedia?

Образец поиска; http://lookup.dbpedia.org/api/search.asmx/PrefixSearch?QueryClass=&MaxHits=1&QueryString=Antarctica

Я нашел класс hieararchy в файле dbpedia_2015-04.owl и загрузил его Apache Jena. Однако я не мог найти способ загрузить иерархию всех категорий.

Я могу найти подкатегории данной категории со следующим запросом в Virtuoso, но я не хочу делать удаленные вызовы, чтобы найти родителей/детей категории.

SELECT ?parent ?sub 
WHERE { 
    { 
    ?sub skos:broader <http://dbpedia.org/resource/Category:Algebra> 
    } UNION { 
    <http://dbpedia.org/resource/Category:Algebra> rdfs:label ?parent 
} 
} 

Есть ли файл, содержащий иерархию категорий? И как я могу загрузить Jena или другие рамки?

ответ

0

Вы можете найти дамп категорий здесь: http://dbpedia.org/Downloads2015-04#p25033-2

Полное руководство о том, как загрузить модель в Йене (в зависимости от синтаксиса вы выбираете) можно найти here. Но предположим, что вы выбрали синтаксис черепахи, тогда код в Jena будет в основном выглядеть так:

Model model = ModelFactory.createDefaultModel(); 
model.read("data.ttl", "TURTLE") ; 
+0

Спасибо, мне удалось загрузить файл. Но когда я работал над иерархией классов, следующий код работал нормально. Как я могу сделать что-то подобное для иерархии категорий, родителей и детей? StmtIterator stmts = dbpedia.listStatements (null, RDFS.subClassOf, (RDFNode) null); – mcelikel

+1

@mcelikel, если у вас есть новый вопрос, используйте кнопку «Задать вопрос», чтобы опубликовать его как новый вопрос. Вы можете предоставить ссылку на этот вопрос, если это поможет обеспечить контекст. –

Смежные вопросы