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 champname
doit être défini,description
est 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 champname
doit être défini,description
est optionnel.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
bool
: Si le graph existe déjà.UltipaResponse
ouNone
: Résultat de la requête ; renvoieNone
si 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 champname
doit être défini.GraphSet
: La nouvelle configuration pour le graphset existant ; un ou les deux champsname
etdescription
doivent ê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 champgraphName
doit être défini,dbType
etschema
sont optionnels, maisschema
ne 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)