Cette section présente des méthodes sur un objet Connection
pour télécharger des fichiers de résultats d'algorithme et exporter des nodes et edges d'un graphset.
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.
downloadAlgoResultFile()
Télécharge un fichier de résultat d'une tâche d'algorithme dans le graph actuel.
Paramètres :
str
: Nom du fichier.str
: ID de la tâche d'algorithme qui a généré le fichier.Callable[[bytes]
: Fonction de rappel qui accepte des bytes.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Retourne :
None
.
requestConfig = RequestConfig(graphName="miniCircle")
# Exécute l'algorithme Louvain dans le graphset 'miniCircle' et imprime l'ID de la tâche
response = Conn.uql("algo(louvain).params({phase1_loop_num: 20, min_modularity_increase: 0.001}).write({file:{filename_community_id: 'communityID', filename_ids: 'ids', filename_num: 'num'}})", requestConfig);
taskTable = response.alias("_task").asTable()
taskID = taskTable.rows[0][0]
print("taskID =", taskID)
time.sleep(3)
filename = 'communityID'
# Définir la fonction de rappel pour gérer le téléchargement du fichier
def handle_down_algo_file(stream: bytes):
text = stream.decode('utf-8')
with open(filename, 'a', encoding='utf-8') as f:
writer = csv.writer(f)
if ',' in text:
writer.writerow(text.strip().split(','))
else:
writer.writerow([text])
# Exécuter le téléchargement de fichier en utilisant la fonction de rappel
cb = lambda stream: handle_down_algo_file(stream)
Conn.downloadAlgoResultFile(filename, taskID, cb, requestConfig)
taskID = 78620
Le fichier
communityID
est téléchargé dans le même répertoire que le fichier que vous avez exécuté.
downloadAllAlgoResultFile()
Télécharge tous les fichiers de résultats d'une tâche d'algorithme dans le graph actuel.
Paramètres :
str
: ID de la tâche d'algorithme qui a généré le fichier.Callable[[bytes]
: Fonction de rappel qui accepte des bytes.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Retourne :
None
.
requestConfig = RequestConfig(graphName="miniCircle")
# Exécute l'algorithme Louvain dans le graphset 'miniCircle' et imprime l'ID de la tâche
response = Conn.uql("algo(louvain).params({phase1_loop_num: 20, min_modularity_increase: 0.001}).write({file:{filename_community_id: 'communityID', filename_ids: 'ids', filename_num: 'num'}})", requestConfig);
taskTable = response.alias("_task").asTable()
taskID = taskTable.rows[0][0]
print("taskID =", taskID)
time.sleep(3)
# Définir la fonction de rappel pour gérer le téléchargement du fichier
def handle_down_all_algo_file(stream: bytes, filename):
text = stream.decode('utf-8')
with open(filename, 'a', encoding='utf-8') as f:
writer = csv.writer(f)
if ',' in text:
writer.writerow(text.strip().split(','))
else:
writer.writerow([text])
# Exécuter le téléchargement de fichier en utilisant la fonction de rappel
cb = lambda stream,filename: handle_down_all_algo_file(stream,filename)
Conn.downloadAllAlgoResultFile(taskID, cb, requestConfig)
taskId = 1509
Les fichiers
communityID
,ids
etnum
sont téléchargés dans le même répertoire que le fichier que vous avez exécuté.
export()
Exporte nodes et edges à partir du graph actuel.
Paramètres :
Export
: Configurations pour la requête d'exportation, incluantdbType:DBType
,limit:int
,schemaName:str
etselectPropertiesName:List[str]
.Callable[[List[Node], List[Edge]], None]
: Fonction de rappel qui accepte les nodes et edges.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Retourne :
None
.
# Exporte 10 nodes de schema 'account' avec des propriétés sélectionnées dans le graphset 'miniCircle' et imprime leurs informations
requestConfig = RequestConfig(graphName="miniCircle")
exportRequest = Export(
dbType=DBType.DBNODE,
limit=10,
schemaName="account",
selectPropertiesName=["_id", "_uuid", "name", "year"]
)
# Définir la fonction de rappel pour gérer l'exportation
def handle_export(nodes: List[Node], edges: List[Edge]):
if nodes is not None:
df = pd.DataFrame(nodes)
df.to_excel(exportRequest.schemaName + ".xlsx", index=False)
if edges is not None:
df = pd.DataFrame(edges)
df.to_excel(exportRequest.schemaName + ".xlsx", index=False)
Conn.export(exportRequest, handle_export, requestConfig)
Le fichier
account.xlsx
est exporté dans le même répertoire que le fichier que vous avez exécuté.
Exemple Complet
import csv
from ultipa import Connection, UltipaConfig
from ultipa.configuration.RequestConfig import RequestConfig
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)
requestConfig = RequestConfig(graphName="miniCircle")
# Exécute l'algorithme Louvain dans le graphset 'miniCircle' et imprime l'ID de la tâche
response = Conn.uql("algo(louvain).params({phase1_loop_num: 20, min_modularity_increase: 0.001}).write({file:{filename_community_id: 'communityID', filename_ids: 'ids', filename_num: 'num'}})", requestConfig);
taskTable = response.alias("_task").asTable()
taskID = taskTable.rows[0][0]
print("taskID =", taskID)
time.sleep(3)
# Définir la fonction de rappel pour gérer le téléchargement du fichier
def handle_down_all_algo_file(stream: bytes, filename):
text = stream.decode('utf-8')
with open(filename, 'a', encoding='utf-8') as f:
writer = csv.writer(f)
if ',' in text:
writer.writerow(text.strip().split(','))
else:
writer.writerow([text])
# Exécuter le téléchargement de fichier en utilisant la fonction de rappel
cb = lambda stream,filename: handle_down_all_algo_file(stream,filename)
Conn.downloadAllAlgoResultFile(taskID, cb, requestConfig)