Nano Hash - криптовалюты, майнинг, программирование

Настройте Neo4j с Java

Это моя первая попытка Neo4j с java. Я использовал maven для разрешения всех зависимостей. Мой код выглядит так.

package com.hp.neo4jdemo;

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Label;
import org.neo4j.graphdb.Node;
import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;

public class Main {

    public enum NodeType implements Label {
        Person, Course;
    }

    public enum RelationType implements RelationshipType {
        Knows, BelongsTo
    }

    public static void main(String[] args) {
        GraphDatabaseFactory graphDatabaseFactory = new GraphDatabaseFactory();
        GraphDatabaseService graphDb = graphDatabaseFactory.newEmbeddedDatabase("C:\\Program Files\\Neo4j Community");

        try(Transaction tx = graphDb.beginTx()) {
            Node bobNode = graphDb.createNode(NodeType.Person);
            bobNode.setProperty("PId", 5001);
            bobNode.setProperty("Name", "Bob");
            bobNode.setProperty("Age", 23);

            Node aliceNode = graphDb.createNode(NodeType.Person);
            aliceNode.setProperty("PId", 5002);
            aliceNode.setProperty("Name", "Alice");

            Node eveNode = graphDb.createNode(NodeType.Person);
            eveNode.setProperty("Name", "Eve");

            Node itNode = graphDb.createNode(NodeType.Course);
            itNode.setProperty("Id", 1);
            itNode.setProperty("Name", "IT Beginners");
            itNode.setProperty("Location", "Room 153");

            Node electronicsNode = graphDb.createNode(NodeType.Course);
            electronicsNode.setProperty("Name", "Electronics Advanced");

            bobNode.createRelationshipTo(aliceNode, RelationType.Knows);

            Relationship bobRelIt = bobNode.createRelationshipTo(itNode, RelationType.BelongsTo);
            bobRelIt.setProperty("Function", "Student");

            Relationship bobRelElectronics = bobNode.createRelationshipTo(electronicsNode, RelationType.BelongsTo);
            bobRelElectronics.setProperty("Function", "Supply Teacher");

            Relationship aliceRelIt = aliceNode.createRelationshipTo(itNode, RelationType.BelongsTo);
            aliceRelIt.setProperty("Function", "Teacher");

            tx.success();
        }
        graphDb.shutdown();
    }
}

Когда я запускаю код, он выполняется успешно, однако, когда я перепроверяю узлы из серверной части, я их не вижу.

Я использую Windows 7 64 бит и сервер сообщества Neo4j. Сервер Neo4j установлен со всеми конфигурациями по умолчанию.

Я выполняю следующие шаги, чтобы проверить, добавлены ли данные в базу данных:

  1. Выполните приведенный выше код
  2. Запустите сервер сообщества
  3. Проверьте URL-адрес http://localhost:7474/browser/.
  4. Выполните запрос 'MATCH (n) RETURN n;' который не возвращает узлов

Может кто-нибудь, пожалуйста, дайте мне знать, где я ошибаюсь или может быть что-то не так с конфигурацией.


  • Вы должны убедиться, что при создании EmbeddedGraphDatabase путь действительно указывает на базу данных. Обычно база данных хранится в папке $HEO_HOME/data/graph.db. Также рассмотрите возможность использования инструмента для подключения к серверу Neo4j вместо использования встроенной базы данных. 21.08.2015
  • @FylmTM - это самая первая попытка neo4j. Я действительно не знаю, каким будет значение $NEO_HOME (хотя я проверю). Если я не могу узнать стоимость, не могли бы вы сообщить мне, что это такое. Я установил neo4j со всеми конфигурациями по умолчанию в Windows 7. 21.08.2015
  • Место, где вы создаете встроенную БД, — странное место. Почти наверняка, когда вы запускаете сервер, он не указывает на это место. Трижды проверьте это в первую очередь. 22.08.2015
  • Я не в курсе места. Не могли бы вы сказать мне, где это может быть. Я использую все настройки по умолчанию. 22.08.2015

Ответы:


1

Замените код GraphDatabaseService graphDb = graphDatabaseFactory.newEmbeddedDatabase("C:\Program Files\Neo4j Community"); для

GraphDatabaseService graphDb = graphDatabaseFactory.newEmbeddedDatabase("C:/Program Files/Neo4j Community");

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

28.08.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..