Passer au contenu du pied de page
AIDE PYTHON

Py2neo (Comment ça marche pour les développeurs)

Les informations dans une base de données de graphes sont stockées et manipulées sous forme de nœuds et d'arêtes interconnectés pour modéliser les entités et leurs relations. Les bases de données de graphes fonctionnent de manière convaincante dans des situations où les relations sont d'une importance égale ou supérieure aux données elles-mêmes, en particulier par rapport aux bases de données relationnelles traditionnelles qui sont basées sur des tables.

Cette structure fonctionne à merveille dans la détection de fraude, les systèmes de recommandation et les applications de réseaux sociaux car elle prend en charge les requêtes et analyses complexes de réseaux de manière efficace. Ces bases de données, à travers l'emploi d'algorithmes de graphes, découvrent facilement des motifs et relations qui sont normalement très difficiles à découvrir avec des modèles de données traditionnels ; d'où, beaucoup d'informations perspicaces sur les relations complexes présentes au sein des données.

Dans cet article, nous allons apprendre comment utiliser Py2neo et combiner la bibliothèque avec IronPDF pour que vous puissiez aller encore plus loin et afficher vos découvertes facilement dans un PDF.

Qu'est-ce que Py2neo ?

Py2neo est une bibliothèque et un ensemble d'outils pour Python développés pour permettre l'utilisation de Neo4j, une base de données graph très populaire, dans les applications. Elle offre une interface utilisateur intuitive pour accéder aux topologies de graphes de Neo4j, ajoutant, modifiant, supprimant et créant facilement des nœuds avec des relations. Py2neo fournit une interface fluide entre les programmes Python et la base de données Neo4j, qui, en plus d'exécuter des requêtes Cypher, permet la manipulation directe des données de graphs.

Cet ensemble complet de fonctionnalités de Py2neo facilite l'intégration de Neo4j avec des projets Python pour des requêtes avancées et une gestion efficace des données de graphes, en utilisant les puissantes fonctionnalités d'une base de données de graphes pour vos applications Python avec peu ou pas de travail.

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 1 - Page du package Py2neo

Il prend en charge de nombreuses distributions Python utilisées sous la plupart des systèmes d'exploitation dans les applications clientes. Il est bon de savoir que Py2neo est principalement utilisé avec les systèmes d'exploitation Linux ; il peut fonctionner avec d'autres systèmes d'exploitation, mais il n'est pas directement pris en charge.

La bibliothèque contient de nombreuses fonctionnalités, y compris tous les outils en ligne de commande et les outils d'administration. Cette bibliothèque est l'un des moyens les plus robustes de gérer les bases de données Neo4j. Py2neo fournit des garanties de compatibilité pour une intégration fluide et une performance fiable. Il prend en charge à la fois les protocoles Bolt et HTTP.

Installation et utilisation de Py2neo avec Python

Les procédures suivantes vous aideront à construire et configurer Py2neo pour communiquer avec une base de données Neo4j :

Installation de la bibliothèque Py2neo

Tout d'abord, installez la bibliothèque cliente Py2neo via pip pour installer la dernière version et adopter les corrections de bugs :

pip install py2neo
pip install py2neo
SHELL

Assurez-vous que Neo4j est opérationnel sur votre système. Téléchargez-le depuis le site web de Neo4j, puis suivez les instructions d'installation du système d'exploitation.

Se connecter à Neo4j avec Py2neo

Py2neo peut être utilisé pour établir une connexion entre votre instance Neo4j et votre script Python ou environnement interactif. Observez cet exemple rapide ci-dessous :

from py2neo import Graph

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Verify the connection by running a simple query
result = graph.run("RETURN 'Hello, Neo4j!' AS message")
print(result)  # Should print: Hello, Neo4j!
from py2neo import Graph

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Verify the connection by running a simple query
result = graph.run("RETURN 'Hello, Neo4j!' AS message")
print(result)  # Should print: Hello, Neo4j!
PYTHON

Sortie Console

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 2 - Sortie de la console pour l'exemple précédent

Configurer Py2neo

De plus, vous pouvez modifier les paramètres de Py2neo pour les adapter à vos besoins, tels que les paramètres de connexion ou la base de données par défaut. Une illustration de configurations supplémentaires est fournie ici :

from py2neo import Graph, Node, Relationship

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Example of creating nodes and relationships
# Create nodes for Alice and Bob
alice = Node("Person", name="Alice")
bob = Node("Person", name="Bob")

# Add nodes to the graph
graph.create(alice)
graph.create(bob)

# Create a relationship between Alice and Bob
relationship = Relationship(alice, "KNOWS", bob)
graph.create(relationship)
from py2neo import Graph, Node, Relationship

# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

# Example of creating nodes and relationships
# Create nodes for Alice and Bob
alice = Node("Person", name="Alice")
bob = Node("Person", name="Bob")

# Add nodes to the graph
graph.create(alice)
graph.create(bob)

# Create a relationship between Alice and Bob
relationship = Relationship(alice, "KNOWS", bob)
graph.create(relationship)
PYTHON

Ci-dessous sont les données que nous avons insérées dans la base de données Neo4j à partir de l'affichage des outils ajoutés.

Contenu de Neo4j

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 3 - Contenu de la base de données Neo4j

Exécuter des Requêtes Cypher

Avec Py2neo, vous pouvez utiliser des requêtes Cypher pour communiquer avec votre base de données de graphs :

# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)
for record in results:
    print(record["name"])
# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)
for record in results:
    print(record["name"])
PYTHON

Sortie Console

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 4 - Sortie de la console affichant le contenu de la base de données

Présentation d'IronPDF

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 5 - Page web IronPDF

La bibliothèque Python nommée IronPDF peut gérer la génération et la manipulation programmatiques de PDFs. Elle offre une immense fonctionnalité pour générer des PDFs à partir de HTML, fusionner deux ou plusieurs fichiers PDF, et même utiliser des PDFs préexistants en ajoutant des annotations, du texte et des images. En plus de cela, IronPDF permet aux utilisateurs de créer des PDFs de qualité à partir de toute page HTML ou matériel basé sur le web, qui peuvent ensuite être utilisés pour réaliser des rapports, factures et autres documents avec un format prédéfini.

Certaines des fonctionnalités avancées de cette bibliothèque incluent la capacité de changer le format de page, de chiffrer les documents et d'extraire du contenu à l'intérieur des PDFs. En améliorant la façon dont vos produits gèrent les PDFs, vous serez mieux placés pour améliorer leur utilité générale. Ce module aidera également à automatiser les opérations de génération de documents une fois IronPDF intégré dans les programmes Python.

Installer la bibliothèque IronPDF

Vous pouvez utiliser la commande suivante pour installer les packages qui permettent à Python d'utiliser les fonctionnalités d'IronPDF via pip.

pip install ironpdf

Intégration de Py2neo avec IronPDF

Il est nécessaire de gérer le traitement des PDF avec IronPDF et de communiquer avec une base de données graph Neo4j en utilisant Py2neo pour intégrer Py2neo avec IronPDF en Python. Une instruction détaillée sur la façon de réaliser cette intégration est fournie ci-dessous :

from py2neo import Graph
from ironpdf import *

import warnings
warnings.filterwarnings('ignore')

# Ensure that you have replaced the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE"

# Create a Graph instance with specific configurations
# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

content = ''
content += '<h2>User Details</h2>'

# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)

# Append each name to the content
for record in results:
    content += '<p>' + record["name"] + '</p>'

# Create a PDF from the HTML content
html_to_pdf = ChromePdfRenderer()
pdf_document = html_to_pdf.RenderHtmlAsPdf(content)

# Save the PDF document
pdf_document.SaveAs("output.pdf")
from py2neo import Graph
from ironpdf import *

import warnings
warnings.filterwarnings('ignore')

# Ensure that you have replaced the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE"

# Create a Graph instance with specific configurations
# Replace with your Neo4j credentials and connection details
uri = "bolt://localhost:7687"  # URI for Neo4j Bolt protocol
user = "neo4j"                 # Username
password = "password"          # Password

# Create a connection to the Neo4j database
graph = Graph(uri, auth=(user, password))

content = ''
content += '<h2>User Details</h2>'

# Example of a Cypher query
query = """
MATCH (p:Person)
RETURN p.name AS name
"""
results = graph.run(query)

# Append each name to the content
for record in results:
    content += '<p>' + record["name"] + '</p>'

# Create a PDF from the HTML content
html_to_pdf = ChromePdfRenderer()
pdf_document = html_to_pdf.RenderHtmlAsPdf(content)

# Save the PDF document
pdf_document.SaveAs("output.pdf")
PYTHON

Il s'agit d'un script Python se connectant à une base de données graph Neo4j en utilisant Py2neo. Il exécute une requête Cypher qui renvoie les noms des nœuds Person et convertit les résultats en HTML. Ensuite, il crée un document PDF avec ce contenu HTML en utilisant IronPDF.

Le script commence par importer toutes les bibliothèques nécessaires et établir une connexion Neo4j en utilisant les informations d'identification données. Il convertit ensuite une liste de noms d'utilisateurs en une chaîne HTML et utilise la classe ChromePdfRenderer d'IronPDF pour générer un PDF enregistré sous le nom "output.pdf".

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 6 - PDF généré en sortie utilisant IronPDF et Py2neo

Licences

Une clef de licence permet au code de fonctionner sans filigrane. Vous pouvez vous inscrire à une licence d'essai gratuite à ce lien. Gardez à l'esprit que vous pouvez en obtenir une sans avoir à montrer d'identification. Pour vous inscrire à l'édition d'essai gratuite, tout ce que vous avez à fournir est votre adresse e-mail.

Py2neo (Comment ça fonctionne pour les développeurs) : Figure 7 - Plan de licence IronPDF

Conclusion

L'intégration d'IronPDF et Py2neo offre une capacité puissante pour gérer et visualiser les données enregistrées dans une base de données graph Neo4j. Elle simplifie grandement le processus de communication entre l'utilisateur et Neo4j, permettant des recherches rapides et une récupération de données associées. Avec cela, vous avez le pouvoir de générer facilement des PDFs détaillés et esthétiques avec du contenu en balises HTML directement à partir de requêtes à la base de données graph.

Cette intégration permet une analyse et une visualisation de niveau supérieur avec des données basées sur des graphes, rendant cela efficacement applicable à un large éventail d'applications, telles que la création de rapports de veille économique ou la capture de relations de données. Une multitude de bibliothèques sont proposées par IronSoftware pour faciliter le développement de programmes pour une variété de plateformes et systèmes d'exploitation, y compris Windows, Android, macOS, Linux et d'autres.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite