Как рассуждать или делать выводы в Neo4j?

Я создал семантический график в Neo4j. Есть ли возможность использовать OWL-рассуждение в Neo4j? Или любой двигатель вывода?

Хотя здесь уже упоминалось, я не могу найти никакого решения или API для этого.

Благодарен за любой совет!

2 ответа

Решение

Может быть, вы хотите увидеть это: нажмите здесь

Я процитировал это по этой ссылке:

Ваша основная задача, если вы хотите использовать рассуждения над базой данных neo4j, - выкачивать данные из neo4j и форматировать их как набор троек RDF. Затем вы можете поместить эти тройки RDF в модель Jena. Если у вас есть эта модель jena в памяти, вы можете использовать существующие API-интерфейсы jena для использования аргументов с этой моделью

Если вы ищете практический вывод по данным графа, вам следует взглянуть на Grakn, он имеет встроенный механизм рассуждений. Вы можете определить свою логику рассуждений, используя rules в Graql.

PS Я работаю на Grakn;)

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

Я смотрю на neo4j -> Prolog -> neo4j подход: (a)-[b]->(c) график может быть выражен как b(a,c) предикат, поэтому экспортируйте ваш.db в.pl и запросите, например, в SWI Prolog. Но самое сложное: как сделать некоторые (прямые) рассуждения для обратного импорта в neo4j.

Я подумываю о применении YieldProlog с прямым обходом через neo4j db с использованием BOLT пролопротеза. Я планирую добавить специальные моды для метода Yield для специальной обработки меток и атрибутов элементов графа, так что мои базы знаний, которые будут описаны, - это базы данных neo4j.

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