"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Maîtriser Neowith Java : configuration, requêtes, transactions et visualisation

Maîtriser Neowith Java : configuration, requêtes, transactions et visualisation

Publié le 2024-11-07
Parcourir:127

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

Neo4j est une puissante base de données de graphiques qui excelle dans la gestion de données hautement connectées. Lorsqu'il est combiné avec Java, il fournit une solution robuste pour créer des applications nécessitant une modélisation de relations complexes. Cet article vous expliquera les bases de l'utilisation de Neo4j avec Java, couvrant la configuration, les requêtes et les meilleures pratiques.

Configurer Neo4j avec Java

Pour commencer, vous devrez ajouter le pilote Java Neo4j à votre projet. Si vous utilisez Maven, ajoutez la dépendance suivante à votre pom.xml :

org.neo4j.driverneo4j-java-driver5.2.0

Connexion à Neo4j

Une fois la dépendance ajoutée, vous pouvez établir une connexion à votre base de données 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()) {

Création de nœuds et de relations

// 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.");
        }
    }
}

Interrogation de nœuds et de relations

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());
            }
        }
    }
}

Utilisation des transactions pour l'intégrité des données

Les transactions garantissent que les opérations sont terminées avec succès ou annulées en cas de problème. Voici comment utiliser les transactions avec Neo4j et 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());
            }
        }
    }
}

Lorsque vous exécutez ce code, il :

  1. Connectez-vous à une base de données Neo4j et créez deux nœuds (Charlie et Diana) avec une relation entre eux.

  2. Récupérez et imprimez la relation entre ces nœuds.

  3. Assurer un nettoyage approprié des ressources.

Visualisation des données graphiques avec GraphStream

La visualisation des données graphiques aide à mieux comprendre les relations. Voici comment visualiser les données à l'aide de la bibliothèque GraphStream :

Tout d'abord, ajoutez GraphStream à votre pom.xml :

org.graphstreamgraphstream-core2.0

Code de visualisation

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();
        }
    }
}

Lorsque vous exécutez ce code, il :

  1. Le code se connecte à la base de données Neo4j à l'aide du protocole Bolt et des informations d'identification spécifiés.

  2. Les nœuds et les relations de la base de données Neo4j sont récupérés selon la requête Cypher spécifiée.

  3. Une représentation graphique est créée à l'aide de GraphStream, avec des nœuds et des relations ajoutés en fonction des données récupérées.

  4. Une fenêtre visuelle s'ouvre affichant le graphique, vous permettant de voir la structure des nœuds et leurs relations.

Conclusion

L'intégration de Neo4j à Java offre une plate-forme puissante pour gérer et analyser les données graphiques. En créant des nœuds et des relations, en utilisant des transactions pour l'intégrité des données et en visualisant les données, vous pouvez tirer parti des capacités de Neo4j pour créer des applications sophistiquées. Commencez à explorer les bases de données graphiques pour débloquer de nouvelles informations et améliorer vos solutions basées sur les données.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/kanugorajat/mastering-neo4j-with-java-setup-queries-transactions-and-visualization-40j6?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3