Я хочу использовать набор данных ENRON GraphML, загруженный в Neo4j в качестве базы данных для моего приложения Grails 2.0. Вариант использования данных — только для чтения. У меня не было проблем с загрузкой набора данных и созданием базы данных в автономном приложении, и теперь я хотел бы использовать подключаемый модуль Grails для управления доступом к базе данных.
Глядя на документацию плагина Neo4J по сопоставлению домена классов, я вижу, что для каждого типа вершины требуются узлы подссылки. В моих данных этого нет. Я вижу несколько путей продвижения вперед и не знаю, какой из них выбрать:
Сбросьте плагин, создайте сервис и управляйте чтением базы данных самостоятельно. Плюсы: я могу реализовать это легко. Минусы: потенциальные проблемы с производительностью, баги.
Напишите программу, которая создает недостающие вершины и ребра, ожидаемые подключаемым модулем, а затем загружайте базу данных в подключаемый модуль. Плюсы: плагин будет управлять доступом. Минусы: может потребоваться несколько итераций, чтобы выяснить, что именно нужно добавить, чтобы сделать его совместимым с базой данных, созданной плагином.
Создайте пустую базу данных с помощью плагина и выполните кучу вставок, прочитав данные из другой базы данных. Плюсы: плагин будет управлять доступом. Минусы: может потребоваться много времени для загрузки базы данных; нужно написать код для обхода, сериализации базы данных; и Т. Д.
Какой хороший способ пойти? Что я упускаю из виду?