Статьи

Импорт данных в Neo4j — способ работы с электронными таблицами

Я  уверен, что многие из вас — очень технические люди, очень хорошо разбирающиеся во всем, что касается Java, доктора Кто и многих других — но если бы вы когда-нибудь встретили меня , вы, вероятно, заметили бы, что я не такой. И я не хочу быть. Я люблю технологии, но у меня никогда не было таланта, склонности или образования, чтобы программировать — поэтому я не имею Но я все еще хочу получить данные в Neo4j — так как мне это сделать?

Есть много технических средств там (обязательно посмотрите здесь , здесь и здесь , но мне нужно что — то простое. Так что мой друг и коллега Майкл Голод пришли на помощь, и предложили помощь , чтобы создать таблицу для импорта в Neo4j.

Вы будетенайдите таблицу здесь , и вы найдете два компонента:

  1. лист инструкции. Я вернусь к этому позже.
  2. лист импорта данных. Давайте посмотрим на это в первую очередь.

Лист импорта данных

Этот лист состоит из двух частей:

  • столбцы A, B и C : они содержат данные для узлов нашего графа с использованием « id », « name » и « type »
  • столбцы F, G и H : они содержат данные для отношений нашего графа, имеющие « from-id » (где начинается отношение), « to-id » (где заканчивается отношение) и « тип отношения» ». Колонки F и G ссылки на узлы и их идентификаторы в столбце A .

И затем прибывает секретный соус: как создать
заявления
Cypher из этих узлов и отношений. Для этого мы используем очень простые операторы, которые используют упомянутые выше столбцы,
синтаксис шифров и конкатенацию строк. Посмотрите на столбцы
D и
I :

  • операторы шифрования для создания узлов:
="create n={id:'"&A2&"', name:'"&B2&"', type:'"&C2&"'};"


output for row 2:


create n={id:'1', name:'Amada Emory', type:'Female'};

Как вы можете видеть, он берет свойства id , name и type из столбцов A, B и C и помещает их в оператор «создания» шифра.

  • заявления шифра для создания отношений:
="start n1=node:node_auto_index(id='"&F2&"'), n2=node:node_auto_index(id='"&G2&"')  create n1-[:"&H2&"]->n2;"

output for row 2:


start n1=node:node_auto_index(id='1'), n2=node:node_auto_index(id='11') create n1-[:MOTHER_OF]->n2;

Это немного сложнее, так как в нем будет использоваться автоиндекс Neo4j: чтобы создать связь, сначала нужно найти начальный узел и конечный узел из автоиндекса, используя свойство ID. А затем создать-оператор создает отношения , основанные на отношениях типа в столбце H .

Итак, с этим мы в итоге получим два столбца, содержащих кучу операторов шифрования. И что тогда?

Лист инструкций

На первом листе электронной таблицы вы найдете кучу инструкций. В основном вам нужно пройти следующие шаги:

  • скачайте и распакуйте сервер Neo4j.
  • скопируйте / вставьте операторы шифра из таблицы импорта в текстовый файл.
  • оберните их транзакцией neo4j (начало, фиксация), чтобы все операторы были сохранены на диске в одной транзакции (или нет в случае ошибки). Не важно для небольших наборов данных, более важно для больших наборов данных.
  • некоторые инструкции о том, как включить автоматическую индексацию на Neo4j. Это важно, потому что, когда вы вставляете данные в базу данных, она должна быть проиндексирована для правильной настройки отношений (см. Выше) и будущего использования.
  • и несколько инструкций о том, как передать текстовый файл в оболочку neo4j — при необходимости. Для небольших наборов данных (и, следовательно, ограниченного числа операторов шифрования) вы можете скопировать / вставить текстовый файл в консоль Web-UI, но это может не всегда работать.
  • запуск сервера и просмотр веб-интерфейса

И вот мы здесь: набор данных создан, и Neo4j готов к использованию. Я надеюсь, что этот небольшой обзор был полезен для вас — он, несомненно, был полезен для меня, когда мои руки пачкались в первый раз :)…