"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Dominar Neowith Java: configuración, consultas, transacciones y visualización

Dominar Neowith Java: configuración, consultas, transacciones y visualización

Publicado el 2024-11-07
Navegar:851

Mastering Neowith Java: Setup, Queries, Transactions, and Visualization

Neo4j es una poderosa base de datos de gráficos que se destaca en la gestión de datos altamente conectados. Cuando se combina con Java, proporciona una solución sólida para crear aplicaciones que requieren un modelado de relaciones complejo. Esta publicación lo guiará a través de los conceptos básicos del uso de Neo4j con Java, cubriendo configuración, consultas y mejores prácticas.

Configurando Neo4j con Java

Para comenzar, deberá agregar el controlador Neo4j Java a su proyecto. Si está utilizando Maven, agregue la siguiente dependencia a su pom.xml:

org.neo4j.driverneo4j-java-driver5.2.0

Conectándose a Neo4j

Una vez que haya agregado la dependencia, puede establecer una conexión a su base de datos Neo4j:

import org.neo4j.driver.*;
public class Neo4jBasicExample {
    public static void main(String[] args) {
        try (Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "your_password"));
             Session session = driver.session()) {

Creación de nodos y relaciones

// Create nodes and a relationship
            String createQuery = "CREATE (a:Person {name: 'Alice'})-[:FRIENDS_WITH]->(b:Person {name: 'Bob'})";
            session.run(createQuery);
            System.out.println("Nodes and relationship created successfully.");
        }
    }
}

Consulta de nodos y relaciones

import org.neo4j.driver.*;
public class Neo4jQueryExample {
    public static void main(String[] args) {
        try (Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "your_password"));
             Session session = driver.session()) {
// Query nodes and relationships
String matchQuery = "MATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) RETURN a.name, b.name";
            Result result = session.run(matchQuery);
// Process the results
 while (result.hasNext()) {
                Record record = result.next();
                System.out.println(record.get("a.name").asString()   " is friends with "   record.get("b.name").asString());
            }
        }
    }
}

Uso de transacciones para la integridad de los datos

Las transacciones garantizan que las operaciones se completen con éxito o se reviertan si surge algún problema. Así es como puedes utilizar transacciones con Neo4j y Java:

import org.neo4j.driver.*;
public class Neo4jTransactionExample {
    public static void main(String[] args) {
        try (Driver driver = GraphDatabase.driver("bolt://localhost:7687",AuthTokens.basic("neo4j", "your_password"));
             Session session = driver.session()) {
// Start a transaction
session.writeTransaction(tx -> {
   tx.run("CREATE (a:Person {name: 'Charlie'})-[:FRIENDS_WITH]->(b:Person {name: 'Diana'})");
    return null;
 });
// Verify the data
String matchQuery = "MATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) RETURN a.name, b.name";
            Result result = session.run(matchQuery);
// Process the results
 while (result.hasNext()) {
  Record record = result.next();
  System.out.println(record.get("a.name").asString()   " is friends with "   record.get("b.name").asString());
            }
        }
    }
}

Cuando ejecutes este código,:

  1. Conéctese a una base de datos Neo4j y cree dos nodos (Charlie y Diana) con una relación entre ellos.

  2. Recuperar e imprimir la relación entre estos nodos.

  3. Garantizar una limpieza adecuada de los recursos.

Visualización de datos gráficos con GraphStream

La visualización de datos gráficos ayuda a comprender mejor las relaciones. Así es como puedes visualizar datos usando la biblioteca GraphStream:

Primero, agregue GraphStream a su pom.xml:

org.graphstreamgraphstream-core2.0

Código de visualización

import org.graphstream.graph.*;
import org.graphstream.graph.implementations.SingleGraph;
import org.neo4j.driver.*;

public class Neo4jGraphVisualization {
    public static void main(String[] args) {
// Initialize Neo4j driver
        try (Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "your_password"));
             Session session = driver.session()) {
// Fetch nodes and relationships
  String cypherQuery = "MATCH (a)-[r]->(b) RETURN a, r, b";
            Result result = session.run(cypherQuery);
// Create a graph instance
Graph graph = new SingleGraph("Neo4j Graph");
// Process results and add to graph
 while (result.hasNext()) {
   Record record = result.next();
   Node nodeA = record.get("a").asNode();
   Node nodeB = record.get("b").asNode();
   Relationship relationship = record.get("r").asRelationship();
    graph.addNode(nodeA.id()).setAttribute("label", nodeA.get("name").asString());
  graph.addNode(nodeB.id()).setAttribute("label", nodeB.get("name").asString());
 graph.addEdge(relationship.id(), nodeA.id(), nodeB.id()).setAttribute("label", relationship.type());
            }
// Display the graph
graph.display();
        }
    }
}

Cuando ejecutes este código,:

  1. El código se conecta a la base de datos de Neo4j utilizando el protocolo y las credenciales de Bolt especificados.

  2. Los nodos y las relaciones de la base de datos Neo4j se recuperan de acuerdo con la consulta Cypher especificada.

  3. Se crea una representación gráfica utilizando GraphStream, con nodos y relaciones agregados en función de los datos recuperados.

  4. Se abre una ventana visual que muestra el gráfico, lo que le permite ver la estructura de los nodos y sus relaciones.

Conclusión

La integración de Neo4j con Java ofrece una plataforma poderosa para administrar y analizar datos de gráficos. Al crear nodos y relaciones, utilizar transacciones para la integridad de los datos y visualizarlos, puede aprovechar las capacidades de Neo4j para crear aplicaciones sofisticadas. Comience a explorar bases de datos de gráficos para desbloquear nuevos conocimientos y mejorar sus soluciones basadas en datos.

Declaración de liberación Este artículo se reproduce en: https://dev.to/kanugorajat/mastering-neo4j-with-java-setup-queries-transactions-and-visualization-40j6?1 Si hay alguna infracción, comuníquese con [email protected] para borrarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3