Статьи

Результаты тестирования инструментов Neo4j Cypther JDBC

Следующая статья была первоначально написана Майклом Хангером в блоге Neo4j.

После того, как две недели назад мы опубликовали призыв SOS помочь нам протестировать драйвер JDBC Neo4j в дикой природе, мы надеялись на большой интерес и внимание. К сожалению, это был не тот случай.

К счастью, Ральф Бехер из TIQView активизировал и протестировал множество инструментов JDBC с драйвером. Большое спасибо за эту помолвку, Ральф!

Luanne Coutinho , победитель нашего конкурса Heroku, и Michael Wilmes также взяли на себя задачу тестирования JDBC-драйвера с использованием реальных инструментов. Спасибо!

Я немного повеселился, но не очень успешно тестировал некоторые клиенты JDBC из командной строки с драйвером.

Полный список тестов находится в опубликованной электронной таблице Google .

Ниже приведен довольно внушительный список, не стесняйтесь добавлять свой любимый JDBC-инструмент в этот список, следуя инструкциям в нашем призыве к действию .

Eclipse BIRT


Работает очень хорошо, вам просто нужно указать драйвер в настройке драйвера и отредактировать SQL-запросы в представлении DataSet, чтобы они были Cypher-запросами. Я протестировал против локального экземпляра Neo4j Server.
Петер Нойбауэр

SQuirrel SQL v.3.3.0


Все запросы Cypher работали очень хорошо.
Ральф Бехер Ссылка на сообщение в блоге

Aqua Data Studio 4.7.2

(Скачать)


Протестировано как с обычными запросами на чтение, так и с запросами на удаление. Работает. Нет необязательных узлов TYPE «/» HAS_PROPERTY «в запрашиваемой БД. Поэтому просмотр схемы БД невозможен. Приложение работает хорошо. Нет сообщений об ошибках. Древовидная структура представления БД просто остается пустой.
Майкл Уилмес

QlikView


Хорошо работает, подробные объяснения и примеры с запросами, визуализацией и трансформацией в блоге .
Ральф Бехер

Интеграция данных чайника Pentaho


Работал за исключением возврата узла или отношения вызывает исключение. Подробное объяснение и пример в посте блога .
Ральф Бехер

Плагин SQL-запросов для IntelliJ


Работал довольно хорошо, смог выполнить пару запросов, в том числе и мутировавших, — это действительно полезно. Схема браузера была понятна не очень интересно. Попробовал пару экспортов данных — html, csv и xml — примеров, загруженных в dropbox. Применяются ли параметры автоматической фиксации в этих инструментах? В случае, если они делают, я играл с ними без особого успеха. Для default = true я создал узел, а затем запросил его по ID — получил исключение SQLException. Только если я явно фиксирую, узел возвращается. Затем отключил автокоммит, создал узел — то же самое — не смог запросить его, пока я не зафиксировал. Также невозможно обновить свойство, пока я не завершу создание. После фиксации я обновил свойство и откатился (тоже попытался отключиться, убив IntelliJ) — но обновление все равно было зафиксировано.
Luanne Ссылка на скриншоты и файлы данных.

Ataccama DQ Analyzer

Ataccama DQ Analyzer хорошо работает с Neo4j. Это дает нам возможность выполнять профилирование данных на графических данных, более подробно в блоге .

Ральф Бехер

SQLExplorer


Работает плавно. Подробности и множество скриншотов в блоге.
Ральф Бехер

DbVisualizer

Работал хорошо (с реализацией подключения клиента для метаданных базы данных).

Rickard Öberg
Ссылка на сообщение в блоге

LibreOffice

Когда дело доходит до использования базы данных в качестве инструмента отчетности, одна из самых простых вещей, которую вы можете сделать, — это использовать один из пакетов Office, подключиться к базе данных и использовать данные для диаграмм и электронных таблиц. Так как LibreOffice имеет довольно хорошее соединение JDBC, я попробовал это, и вот результат

Rickard Öberg
Ссылка на сообщение в блоге

ODBC в Windows

Хотя наличие драйвера JDBC прекрасно, не все инструменты, работающие с базами данных, используют JDBC. Некоторые используют вместо этого ODBC, и поскольку есть доступ к шлюзу ODBC-JDBC, доступному от Easysoft, я хотел попробовать это. После установки этого программного обеспечения было очень легко установить соединение, а затем подключиться к нему с помощью стандартного инструмента ODBC.

Rickard Öberg
Ссылка на сообщение в блоге

IntelliJ

Наконец, я попытался использовать драйвер JDBC с IntelliJ, моей предпочтительной Java IDE. Это сработало очень хорошо, и с некоторой конфигурацией это даже позволяет мне вводить значения для параметризованных запросов, что приятно.

Rickard Öberg
Ссылка на сообщение в блоге

HenPlus

удар

Не сработало, дошло до регистрации драйвера, но, похоже, он анализирует SQL, поэтому он не выполнил оператор cypher и вместо этого попытался загрузить файл

Майкл Голод

jisql

 

jisql

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

Майкл Голод

SQL Workbench

 

SQL Workbench

Работает очень хорошо, простая настройка, простота в использовании.

Майкл Голод

SQLShell (Клаппер)

 

SQLShell

Прежде всего, это работает! Оболочка командной строки, написанная на scala, размещенная на github, но с графическим установщиком ?
Я установил ее в локальный каталог, добавил neo4j-jdbc.jar в каталог lib и настроил файл конфигурации.

[drivers]
# Driver aliases.
neo4j = org.neo4j.jdbc.Driver

[db_neo4j]
aliases: neo4j
url: jdbc:neo4j://localhost:7474
driver: neo4j
user: 
password: 
history: $vars.historyDir/neo4j.hist
Then you start it with: sh bin/sqlshell -c config.cfg neo4j
SQLShell, version 0.8.1 (2012/03/16 09:43:31)
Copyright (c) 2009-2011 Brian M. Clapper
Using JLine
Type ""help"" for help. Type "".about"" for more information.

sqlshell> start n=node(0) return n
Executing query: start n=node(0) return n
 with params{}
Starting the internal [HTTP/1.1] client
Execution time: 0.792 seconds
Retrieval time: 0.1 seconds
1 row returned.

n                      
-----------------------
{_node_id=0, name=root}

sqlshell> start n=node(*) return n limit 20
Executing query: start n=node(*) return n limit 20
 with params{}
Execution time: 0.770 seconds
Retrieval time: 0.13 seconds
20 rows returned.

Пока единственным недостатком является то, что инструмент уничтожает терминал, поэтому вам необходимо выполнить «сброс» после этого.