Как связать соответствия слов и документов с использованием базы данных graph

#database #text #graph #documents

#База данных #текст #График #документы

Вопрос:

Я видел несколько руководств, касающихся импорта данных в {Neo4j, titan, …} графические базы данных. У меня есть несколько вопросов о том, как применить это к нашему академическому проекту.

В этом случае у нас есть набор документов в форматах pdf и Microsoft Word (что на данный момент не так важно), которые мы хотим связать по глобальной теме. В этом случае легко визуализировать решение, используя {Neo4j, titan, …}; однако существует другой случай, который, я думаю, немного более особенный. Некоторые понятия, присутствующие в документах, должны быть связаны в графе. В этом случае мы точно определили такие понятия, представленные почти всегда многословными терминами (например, «искусственная нейронная сеть»), и мы хотели бы связать их в документе как набор документов, с возможностью выполнения запроса о любом контексте в документе или документах, в которых любойиспользуется запрошенный термин (совпадения).

Последняя задача (согласования) в настоящее время выполняется с использованием реляционной базы данных, но мы хотим централизовать все задачи в уникальной базе данных, которая, по нашему мнению, должна быть graph DB {Neo4j, titan, …}.

Мы надеемся, что небольшая информация о том, как, по вашему мнению, мы можем адаптировать нашу проблему к {Neo4j, titan, …} graph DB. Возможно, документация о подобных примерах (если таковые существуют), общее представление о возможных способах структуры данных для импорта… вы знаете.

Ну, я надеюсь, что это не так двусмысленно. Заранее большое вам спасибо.

Ответ №1:

Вопрос все еще немного широкий, но я постараюсь дать быстрый ответ на то, что я понял.

Вы можете начать простым способом со «схемы» (или структуры графика):

  • Создайте узел для многословного термина
  • Создайте узел для документа
  • Каждый раз, когда есть соответствие, вы можете создать связь между двумя соответствующими концами (термин, документ).

Я бы рекомендовал привести все ваши данные в единый формат, прежде чем приступить к обработке / импорту: обычно используется общий формат CSV, но вы также можете взглянуть на GraphML (который широко поддерживается graphDBs) или GraphSON.

Если вы хотите просмотреть некоторую «схему» для графиков, взгляните на коллекцию Neo4J gist: это обширная коллекция по различным темам, которые вы можете использовать для создания своей структуры.

Комментарии:

1. Привет, Марко, спасибо за ваш ответ. У меня все еще есть некоторые сомнения. Можно ли поместить документы внутри Neo4j? или мне нужна другая RI-ориентированная БД для управления документами и Neo4j только для их связи (и желаемого содержимого на разных уровнях). На самом деле я не специалист по DBs, извините…

2. Я понимаю. Возможно, вы можете взглянуть на OrientDB, который представляет собой смешанный документ-GraphDB: orientechnologies.com/orientdb