Хорошая структура для представления онтологии в базе данных neo4j?

Я хотел бы создать онтологию для своего веб-приложения, и я подумал об использовании Neo4j для представления онтологии (поскольку я все равно использую Neo4j).

Прямо сейчас, кажется, мне нужно написать его с нуля, включая всю реализацию онтологии, проверку, рассуждения, графический редактор. Определенно слишком много работы.

Существует ли фреймворк или библиотека, которые позволят мне управлять своей онтологией в neo4j, не внедряя ее с нуля? Если нет, то какова наиболее разумная альтернатива? (Я использую Neo4j вместо Node.js)


person Lior Grossman    schedule 10.06.2012    source источник
comment
Вам нужны онотологии или RDF? Я знаю, что, например. disease-ontology.org/faq использует Neo4j в серверной части, возможно, вы могли бы получить некоторую информацию там ?   -  person Peter Neubauer    schedule 12.06.2012
comment
Я хочу представить онтологию. Спасибо, это хороший ход! У них есть представитель GitHub: github.com/IGS/disease-ontology — у него есть немного Python код для работы с Онтологией   -  person Lior Grossman    schedule 12.06.2012


Ответы (2)


реализация онтологий, валидация, рассуждения, графический редактор.

Вы можете использовать стек Tinkerpop Blueprints, если вам нужны эти вещи (кроме редактора графического интерфейса), в то же время используя Neo4j в качестве БД. Он абстрагируется от «низкоуровневого» API графовых баз данных и предоставляет унифицированный интерфейс. Это означает, что вы можете изменить базу данных в будущем, сохранив при этом функции.

Для начала вам понадобится основная библиотека Blueprints, Neo4j impl. и Настройка паруса. На этом этапе вы должны использовать класс GraphSail и его класс Connection для управления семантическим графом.

Обратите внимание, что, используя дополнение Sail (я не придумал этот термин ..), вы можете использовать библиотеки Sesame, такие как (вставка из моего проекта maven) sesame-rio-rdfxml, sesame-rio-ntriples, sesame-repository-sail , кунжут-запрос-парсер-sparql.

Я не работаю в Tinkerpop, но мне очень нравится их фреймворк.

person Howie    schedule 12.09.2012

С помощью плагина Neosemantics можно многое сделать. Вы можете взглянуть. Вы можете импортировать существующую онтологию и легко ее расширять. Вы получаете визуализацию бесплатно с Bloom, но без редактора онтологий как такового. Для этого вы можете использовать Protégé. Создайте там свой файл, а затем импортируйте его в neo4j с помощью неосемантики. Это однострочное:

CALL n10s.onto.import.fetch("...path to your onto...", "Turtle") 
//or whichever serialisation format you're using
person user15863090    schedule 18.07.2021