Визуализация встроенной графической базы данных Neo4j - PullRequest
0 голосов
/ 09 октября 2019

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

Я написал действительно простой класс и метод Java, который создает простой граф (35узлы и 30 отношений). Первый фрагмент кода ниже показывает, что я создал базу данных встроенных графов. Второй фрагмент кода показывает, как я смог сделать запрос к базе данных после ее заполнения.

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

Я занимаюсь разработкой и тестированием кода на iMac под управлением macOS 10.15 (Каталина), JetBrains IntelliJ IDE, JDK 1.8.0_221. Как только я получу этот код на своем iMac, я планирую перенести его в среду GCP, чтобы запустить его в масштабе. Мне нужно будет со временем создавать визуализации базы данных, поэтому интенсивная визуализация вручную нежелательна. Поэтому я хочу избежать визуализации графической базы данных с помощью браузера Neo4j Desktop.

Я попытался внедрить встроенную графическую базу данных в Gephi (предпочтительный подход) с помощью плагина Neo4j. Когда я выбрал папку базы данных графа и щелкнул на open, Gephi ответил пустым диалоговым окном под названием предупреждение. Я уверен, что сделал что-то не так, но я не знаю, что я сделал или не сделал правильно.

Создание базы данных Embedded Graph

        gdbFactory = new GraphDatabaseFactory();
        gdbService = gdbFactory.newEmbeddedDatabase(new File(gdbDirectory));

        try (Transaction databaseTransaction = gdbService.beginTx())
        {
           ...database commands...

           databaseTransaction.success();
        }

        gdbService.shutdown();

Запрос Embedded GraphБаза данных

 try (Transaction databaseTransaction = BaselineGitHubToGraphDb.gdbService.beginTx())
        {
            Result queryResult = BaselineGitHubToGraphDb.gdbService.execute(queryString);

            while (queryResult.hasNext())
            {
                Map<String, Object> row = queryResult.next();

                for (Map.Entry<String, Object> column : row.entrySet())
                {
                    linesOfText += column.getKey() + ": " + column.getValue() + "; ";
                }
                linesOfText += "\n";
            }
            System.out.printf("\t%s\n",
                    linesOfText);
            databaseTransaction.success();
        }

То, что я хотел бы сделать, - это создать графическое представление базы данных графа, чтобы проверить логику кода Java, который создает узлы, отношения и связанные свойства. Я хотел бы сделать это с этим небольшим набором данных, а затем набором данных примерно в 10 раз больше, прежде чем перемещать код в среду GCP, чтобы протестировать его в масштабе и заставить его там работать.

Можете ли вы поделиться илиукажите мне какой-нибудь Java-код, который позволит мне визуализировать встроенную базу данных Neo4j, используя Gephi или другие средства, если это уместно?

Заранее благодарен за помощь в этом вопросе.

...