AIDE PYTHON

Grakn Python (Comment cela fonctionne : Un guide pour les développeurs)

Regan Pun
Regan Pun
février 26, 2025
Partager:

Introduction

Dans le monde de la programmation d'aujourd'hui, les bases de données évoluent pour répondre aux besoins des nouvelles applications. Nous utilisons toujours des bases de données relationnelles à l'ancienne, mais maintenant nous avons aussi des outils sympas comme le mappage objet-relationnel.(ORM). Cela permet aux programmeurs de travailler avec des bases de données en utilisant des astuces de programmation sophistiquées au lieu du vieux SQL ennuyeux. Cette nouvelle méthode facilite la gestion des données et maintient la qualité du code. Nous avons également des bases de données NoSQL maintenant. Ils sont excellents pour gérer des données désordonnées et fonctionnent bien pour le big data et le traitement rapide des chiffres.

Les bases de données cloud-native bouleversent également les choses. Ils nous fournissent des services flexibles, fiables et gérés, afin que nous n'ayons pas à nous soucier autant de la gestion de la technologie sous-jacente. Les bases de données graphique NewSQL combinent les avantages des SQL et NoSQL. Ils nous offrent la fiabilité des bases de données relationnelles et la flexibilité du NoSQL, ce qui fonctionne pour de nombreuses applications modernes. En rassemblant tous ces types de bases de données dans de nouvelles façons de coder, nous pouvons créer des solutions qui fonctionnent bien, évoluent et s'adaptent aux changements dans notre monde fou de données. Grakn peut maintenant être connu sous le nom de TypeDB, mais il remplit toujours sa fonction : la gestion et l'interrogation des graphes de connaissances. Dans cet article, nous allons en apprendre davantage sur Grakn(TypeDB)et comment nous pouvons l'intégrer avec IronPDF, un outil indispensable pour générer et manipuler des PDF de manière programmatique.

Qu'est-ce que Grakn ?

Grakn (maintenantTypeDB), créé par Grakn Labs, est la base de données de graphes de connaissances pour gérer et analyser des réseaux complexes de données. Au cœur se trouvent les capacités de modéliser des relations complexes parmi les données existantes et de fournir un raisonnement avancé sur les données persistantes. Le langage intelligent de Grakn, Graql, permettra de requêter et de manipuler les données avec précision, soutenant le développement de systèmes intelligents capables de tirer des informations précieuses et pertinentes à partir de jeux de données complexes. En tirant parti des fonctionnalités de base de Grakn, les organisations peuvent gérer les structures de données avec une représentation des connaissances très puissante et intelligente.

Grakn Python(Comment cela fonctionne : Un guide pour les développeurs) : Figure 1 - Page web TypeDB

Son langage de recherche Graql est conçu pour fonctionner avec le modèle de données de graphe de connaissances Grakn, permettant aux utilisateurs de modifier les données de manière détaillée et subtile. Parce qu'il peut évoluer horizontalement et gérer de grands ensembles de données, TypeDB convient bien dans des domaines tels que la finance, la santé, la découverte de médicaments et la sécurité en ligne où comprendre et gérer des structures de données graphiques complexes est essentiel.

Installation et configuration de Grakn en Python

Installation de Grakn

Pour les développeurs Python cherchant à utiliser Grakn(TypeDB), vous devez installer la bibliothèque typedb-driver. Ce client officiel vous permet d'interagir avec TypeDB. Voici la commande qui vous permet d'installer cette bibliothèque avec pip :

pip install typedb-driver
PYTHON

Configurer le serveur TypeDB

Avant de commencer à écrire du code, assurez-vous que votre serveur TypeDB est opérationnel. Vous pouvez obtenir TypeDB en l'installant depuis le site web de TypeDB et en suivant les instructions de configuration pour votre système d'exploitation.

Vous pouvez ensuite utiliser cette commande pour démarrer le serveur TypeDB :

typedb server
PYTHON

Utilisation de Grakn en Python

Code Python pour interagir avec TypeDB

Voici une simple illustration montrant comment établir une connexion avec un serveur TypeDB, configurer un schéma, et effectuer des tâches fondamentales telles que l'insertion d'informations et leur récupération.

Créer un schéma de base de données

La partie suivante du programme est dédiée à la mise en place d'une structure de base de données. Le code nomme la base de données "example_db" et l'ouvre en mode SCHEMA, ce qui permet des modifications de la structure. Dans ce mode, il initie une transaction de type WRITE pour effectuer ces modifications. Une requête est définie pour décrire la structure, créant un type appelé personne avec deux attributs : nom et âge. L'attribut name est de type chaîne de caractères, et l'attribut age est de type entier long. Une fois que la structure est définie, la transaction est enregistrée dans la base de données pour rendre ces modifications permanentes.

from typedb.driver import TypeDB, SessionType, TransactionType, TypeDBOptions, TypeDBCredential
# Connect to TypeDB server
client = TypeDB.core_driver("localhost:1729")
# Create a database (if not already created)
database_name = "example_db"
client.databases().create(database_name)  # Ensure the database is created
with client.session(database_name, SessionType.SCHEMA) as session:
    with session.transaction(TransactionType.WRITE) as transaction:
        transaction.query.define("""
        define
        person sub entity, owns name, owns age;
        name sub attribute, value string;
        age sub attribute, value long;
        """)
        transaction.commit()
PYTHON

Insérer des données

Après la mise en place du schéma, le script continue à insérer des données dans la base de données. Pour ce faire, une nouvelle session est ouverte en mode DATA, qui est le plus approprié pour les opérations de données. La transaction d'écriture est d'abord effectuée dans cette session et une requête d'insertion est émise pour inclure une nouvelle entité de type personne avec le nom "Alice" et l'âge de 30 ans. Les données, une fois insérées, finalisent la transaction et les modifications de la base de données sont mises à jour.

from typedb.driver import TypeDB, SessionType, TransactionType, TypeDBOptions, TypeDBCredential
# Connect to TypeDB server
client = TypeDB.core_driver("localhost:1729")
# Insert data into the database
with client.session(database_name, SessionType.DATA) as session:
    with session.transaction(TransactionType.WRITE) as transaction:
        # Create a person entity using the logical inference of typeDB
        transaction.query.insert("""
        insert $p isa person, has name "Alice", has age 30;
        """)
        transaction.commit()
PYTHON

Interroger les données

La dernière étape que nous allons faire est d'obtenir les informations nécessaires en posant une question à la base de données. Le script ouvre une nouvelle session en mode DATA et démarre une transaction de lecture en utilisant TransactionType.READ. Il récupère ensuite les détails des personnes portant le nom "Alice". La clause match détermine que les entités de type personne doivent avoir le nom spécifié, et la clause fetch récupère leurs attributs de nom et d'âge. Les résultats sont ensuite traités pour extraire les valeurs de nom et d'âge de chaque résultat. Ces informations sont affichées sur la console.

from typedb.driver import TypeDB, SessionType, TransactionType, TypeDBOptions, TypeDBCredential
# Connect to TypeDB server
client = TypeDB.core_driver("localhost:1729")
# Query the data from the database
with client.session(database_name, SessionType.DATA) as session:
    with session.transaction(TransactionType.READ) as transaction:
        # Simple Query language for persons with name "Alice"
        results = list(transaction.query.fetch(f"""
        match 
        $p isa person, has name $fn;
        $fn = 'Alice';
        fetch 
        $p: name, age;
        """))
        for result in results:
            person_name = result.get('p')['name'][0]['value']
            person_age = result.get('p')['age'][0]['value']
            print(f"Person Name: {person_name}, Age: {person_age}")
PYTHON

Sortie

Grakn Python(Comment ça fonctionne : Un guide pour les développeurs) : Figure 2 - Sortie de la console après interrogation de la base de données

Fermeture de la connexion client

Lorsque toutes les opérations de données sont effectuées, le script ferme la connexion du client en utilisant client.close(). Cette étape garantit que les ressources sont libérées correctement et qu'aucune autre interaction avec le serveur TypeDB n'est tentée.

En général, ce code présente une méthode simple pour établir une connexion à un serveur TypeDB, définir un schéma, insérer des données, interroger ces données, et fermer proprement la connexion.

from typedb.driver import TypeDB, SessionType, TransactionType, TypeDBOptions, TypeDBCredential
# Connect to TypeDB server
client = TypeDB.core_driver("localhost:1729")
# Close the client connection
client.close()
PYTHON

Présentation d'IronPDF

Grakn Python(Comment ça Marche : Un Guide pour les Développeurs) : Figure 3 - Page web IronPDF for Python

IronPDFpour Python est une bibliothèque qui peut vous aider à créer et gérer des fichiers PDF par programme. Il inclut une multitude de fonctionnalités pour créer des PDFs à partir de HTML, fusionner deux ou plusieurs fichiers PDF, et utiliser des PDFs existants avec du texte, des images et des annotations. IronPDF, en revanche, offre aux utilisateurs un moyen de convertir des pages HTML ou du contenu Web en PDF de haute qualité, qui peuvent être utilisés pour créer des rapports, des factures et d'autres documents ayant une disposition fixe.

La bibliothèque offre des fonctionnalités avancées telles que l'extraction de contenu, le chiffrement des documents et la personnalisation de la mise en page. Les flux de travail de génération de documents peuvent être automatisés en intégrant IronPDF avec des applications Python, permettant ainsi aux développeurs d'améliorer la fonctionnalité globale de leurs ajouts en les rendant robustes en termes de capacités de gestion des PDF.

Installation de la bibliothèque IronPDF

Utilisez pip pour installer des packages qui permettent à Python d'activer la fonctionnalité IronPDF.

pip install ironpdf
PYTHON

Intégration de Grakn TypeDB avec IronPDF

L'utilisation de TypeDB et IronPDF dans l'environnement Python rend la génération, la gestion et d'autres documentations liées aux PDF basées sur des données structurellement complexes dans un Grakn(TypeDB)base de données plus efficace. Voici un aperçu étape par étape de la manière dont vous pourriez réaliser cette intégration :

from typedb.driver import TypeDB, SessionType, TransactionType, TypeDBOptions, TypeDBCredential
from ironpdf import *     import warnings
warnings.filterwarnings('ignore')
# Ensure that you have replaces the string with your own license key
License.LicenseKey = "YOUR LICENSE KEY GOES HERE";
data=[]
# Connect to TypeDB server
client = TypeDB.core_driver("localhost:1729")
# Create a database (if not already created)
database_name = "example_db"
# Query the data from the database
with client.session(database_name, SessionType.DATA) as session:
    with session.transaction(TransactionType.READ) as transaction:
        # Query for persons with name "Alice"
        results = list(transaction.query.fetch(f"""
        match 
        $fn == 'Alice';
        $p isa person, has name $fn;
       fetch
       $p: name, age;
        """)
        )
        for result in results:
            person_Name = result.get('p')['name'][0]['value']
            person_age = result.get('p')['age'][0]['value']
            data.append({"name": person_Name, "age": person_age})
# Close the client connection
client.close()
html_to_pdf = ChromePdfRenderer()
content = "<h1>Person Report</h1>"
for item in data:
    content += f"<p>Name: {item['name']}, Age: {item['age']}</p>"
pdf_document = html_to_pdf.RenderHtmlAsPdf(content)
pdf_document.SaveAs("output.pdf")
PYTHON

Cet exemple de code montre comment utiliser TypeDB et IronPDF en Python pour obtenir des données d'une base de données TypeDB et créer un rapport PDF. Tout d'abord, il se connecte à un serveur TypeDB local et recherche des entités nommées "Alice" pour obtenir leurs noms et âges. Les résultats sont imprimés dans la console. Après avoir fermé la connexion du client TypeDB, le code utilise le ChromePdfRenderer de IronPDF pour convertirHTMLcontenu dans un PDF. Le contenu HTML qui inclut un rapport de personnes comprenant leurs noms et âges a été récupéré et enregistré sous le nom "output.pdf" après avoir été converti en document PDF. Les extraits contiennent également une suppression des avertissements et une clé de licence vide qui est définie pour IronPDF, ce qui peut être le cas pour que la bibliothèque fonctionne sans avertissements de licence.

Sortie

Grakn Python(Comment ça marche : Un guide pour les développeurs) : Figure 4 - PDF généré par le code précédent

Licences

Une clé de licence est nécessaire pour permettre au code de fonctionner sans filigrane. Vous pouvez vous inscrire pour une licence d'essai gratuite à cette link. Notez que vous n'êtes pas obligé de présenter une carte de crédit pour en obtenir une. Vous n'avez besoin de fournir que votre adresse e-mail pour vous inscrire à la version d'essai gratuite.

Grakn Python(Comment ça marche : Un guide pour les développeurs) : Figure 5 - Plan de licence IronPDF

Conclusion

Grakn (maintenant TypeDB) avecIronPDFest une solution solide pour gérer et analyser d'énormes volumes de données provenant de documents PDF. Cela serait réalisé en tirant parti des capacités robustes d'IronPDF pour extraire et manipuler les données dans les PDFs et en utilisant les fonctionnalités puissantes de la base de données graphique Grakn pour modéliser les relations complexes et exécuter un raisonnement amélioré. À cet égard, vous avez désormais le pouvoir de composer un tel flux de travail qui transforme les données de documents non structurés en données structurées et interrogeables.

Dans le processus, cela simplifie l'extraction d'informations précieuses à partir de PDFs, améliorant leur capacité de requête et d'analyse des données avec une précision accrue. La gestion de données de haut niveau de Grakn, combinée au traitement des PDFs par IronPDF, permet de meilleures méthodes de gestion de l'information pour une prise de décision optimale et une meilleure vision des ensembles de données complexes. IronSoftwarefournit également une variété de bibliothèques qui vous facilitent la création de programmes pour une gamme de systèmes d'exploitation et de plateformes, y compris Windows, Android, MAC, Linux, etc.

Regan Pun
Ingénieur logiciel
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT
HTTPX Python (Comment cela fonctionne : Un guide pour les développeurs)
SUIVANT >
scikit-image Python (Comment ça marche : Un guide pour les développeurs)