Cette section présente des méthodes sur un objet Connection pour gérer les graphsets dans la base de données.
Chaque exemple se concentre uniquement sur l'utilisation de la méthode. Pour un exemple de code complet, veuillez vous référer à l'exemple complet.
showGraph()
Récupère tous les graphsets de la base de données.
Paramètres :
RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
ResponseListGraph: La liste de tous les graphsets dans la base de données.
# Récupère tous les graphsets et imprime les noms de ceux qui ont plus de 2000 arêtes
graphs = Conn.showGraph().data
for graph in graphs:
if graph.totalEdges > 2000:
print(graph.name)
Display_Ad_Click
ERP_DATA2
wikiKG
getGraph()
Récupère un graphset de la base de données par son nom.
Paramètres :
str: Nom du graphset.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
ResponseGraph: Le graphset récupéré.
# Récupère le graphset nommé 'wikiKG' et imprime toutes ses informations
graph = Conn.getGraph("wikiKG")
print(graph.toJSON())
{"description": "", "id": "13844", "name": "wikiKG", "status": "MOUNTED", "totalEdges": "167799", "totalNodes": "44449"}
createGraph()
Crée un nouveau graphset dans la base de données.
Paramètres :
GraphSet: Le graphset à créer ; le champnamedoit être défini,descriptionest optionnel.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Crée un graphset et imprime le code d'erreur
graph = GraphSet(
name="testPythonSDK",
description="testPythonSDK desc"
)
response = Conn.createGraph(graph)
print(response.status.code)
Un nouveau graphset testPythonSDK est créé dans la base de données, et le driver affiche :
0
createGraphIfNotExist()
Crée un nouveau graphset dans la base de données, en gérant les cas où le nom du graphset donné existe déjà en ignorant l'erreur.
Paramètres :
GraphSet: Le graphset à créer ; le champnamedoit être défini,descriptionest optionnel.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
bool: Si le graph existe déjà.UltipaResponseouNone: Résultat de la requête ; renvoieNonesi le graph existe déjà.
# Crée un graphset et imprime le code d'erreur
graph = GraphSet(
name="testPythonSDK",
description="testPythonSDK desc"
)
response1 = Conn.createGraphIfNotExist(graph)
if response1[0] is False:
print("Code =", response1[1].status.code)
else:
print("No response")
# Tente de créer le même graphset à nouveau et imprime le code d'erreur
response2 = Conn.createGraphIfNotExist(graph)
if response2[0] is False:
print("Code =", response2[1].status.code)
else:
print("No response")
Un nouveau graphset testPythonSDK est créé dans la base de données, et le driver affiche :
Code = 0
No response
dropGraph()
Supprime un graphset de la base de données par son nom.
Paramètres :
str: Nom du graphset.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Crée un graphset et puis le supprime, imprime le résultat
graph = GraphSet(
name="testPythonSDK",
description="testPythonSDK desc"
)
response1 = Conn.createGraph(graph)
print(response1.status.code)
response2 = Conn.dropGraph("testPythonSDK")
print(response2.status.code)
0
0
alterGraph()
Modifie le nom et la description d'un graphset existant dans la base de données par son nom.
Paramètres :
GraphSet: Le graphset existant à modifier ; le champnamedoit être défini.GraphSet: La nouvelle configuration pour le graphset existant ; un ou les deux champsnameetdescriptiondoivent être définis.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Renomme le graphset 'testPythonSDK' en 'newGraph', lui assigne une description, et imprime le résultat
oldGraph = GraphSet('testPythonSDK')
newGraph = GraphSet(name='newGraph1', description="a new graph")
response = Conn.alterGraph(oldGraph, newGraph)
print(response.status.code)
0
truncate()
Tronque (supprime) les nodes ou edges spécifiés dans le graphset donné ou tronque le graphset entier. Remarquez que tronquer des nodes entraînera la suppression des edges attachés à ces nodes affectés. L'opération de tronquage conserve la définition des schemas et properties tout en supprimant les données.
Paramètres :
Truncate: L'objet à tronquer ; le champgraphNamedoit être défini,dbTypeetschemasont optionnels, maisschemane peut être défini sansdbType.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Tronque les nodes @person dans le graphset 'exKG' et imprime le code d'erreur
target1 = Truncate(graphName="exKG", schema="person", dbType=DBType.DBNODE)
response1 = Conn.truncate(target1)
print(response1.status.code)
# Tronque toutes les edges dans le graphset 'exKG' et imprime le code d'erreur
target2 = Truncate(graphName="exKG", schema="*", dbType=DBType.DBEDGE)
response2 = Conn.truncate(target2)
print(response2.status.code)
# Tronque le graphset 'exKG' et imprime le code d'erreur
target3 = Truncate(graphName="exKG")
response3 = Conn.truncate(target3)
print(response3.status.code)
0
0
0
compact()
Compacte un graphset en effaçant ses données invalides et redondantes sur le disque du serveur. Les données valides ne seront pas affectées.
Paramètres :
str: Nom du graphset.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Compacte le graphset 'miniCircle' et imprime le code d'erreur
response = Conn.compact("miniCircle")
print(response.status.code)
0
hasGraph()
Vérifie l'existence d'un graphset dans la base de données par son nom.
Paramètres :
str: Nom du graphset.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
bool: Résultat de la requête.
# Vérifie l'existence du graphset 'miniCircle' et imprime le résultat
response = Conn.hasGraph("miniCircle")
print(response)
True
unmountGraph()
Démonte un graphset pour économiser la mémoire de la base de données.
Paramètres :
str: Nom du graphset.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Démonte le graphset 'miniCircle' et imprime son statut
Conn.unmountGraph("miniCircle")
time.sleep(2)
graph = Conn.getGraph("miniCircle")
print(graph.data.status)
UNMOUNTED
mountGraph()
Monte un graphset dans la mémoire de la base de données.
Paramètres :
str: Nom du graphset.RequestConfig(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
UltipaResponse: Résultat de la requête.
# Monte le graphset 'miniCircle' et imprime son statut
Conn.mountGraph("miniCircle")
time.sleep(2)
graph = Conn.getGraph("miniCircle")
print(graph.data.status)
MOUNTED
Exemple Complet
from ultipa import Connection, UltipaConfig, Truncate
ultipaConfig = UltipaConfig()
# URI example: ultipaConfig.hosts = ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
ultipaConfig.hosts = ["192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"]
ultipaConfig.username = "<username>"
ultipaConfig.password = "<password>"
Conn = Connection.NewConnection(defaultConfig=ultipaConfig)
target = Truncate(graphName="exKG")
response = Conn.truncate(target)
print(response.status.code)