Это моя первая попытка 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 установлен со всеми конфигурациями по умолчанию.
Я выполняю следующие шаги, чтобы проверить, добавлены ли данные в базу данных:
- Выполните приведенный выше код
- Запустите сервер сообщества
- Проверьте URL-адрес http://localhost:7474/browser/.
- Выполните запрос 'MATCH (n) RETURN n;' который не возвращает узлов
Может кто-нибудь, пожалуйста, дайте мне знать, где я ошибаюсь или может быть что-то не так с конфигурацией.