Cette section introduit des méthodes sur un objet Connection
pour gérer les algorithmes du graph Ultipa et les algorithmes personnalisés (EXTA) dans l'instance.
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.
Algorithmes du Graph Ultipa
ShowAlgo()
Récupère tous les algorithmes du graph Ultipa installés dans l'instance.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Renvoie :
[]Algo
: La liste de tous les algorithmes récupérés.error
: Un objet d'erreur contenant les détails d'éventuels problèmes survenus.nil
est retourné si l'opération est réussie.
// Récupère tous les algorithmes du graph Ultipa installés et affiche les informations du premier retourné
requestConfig := &configuration.RequestConfig{
UseMaster: true,
}
graphList, err := conn.ShowAlgo(requestConfig)
if err != nil {
println(err)
}
printf("Premier algorithme récupéré :")
printf(utils.JSONString(graphList[0]))
Premier algorithme récupéré:
{"Name":"lpa","Desc":"label propagation algorithm","Version":"1.0.10","Params":{"edge_weight_property":{"Name":"edge_weight_property","Desc":"optional"},"ids":{"Name":"ids","Desc":"labeled nodes, optional, all nodes(with non-NULL value) as labeled nodes if empty"},"k":{"Name":"k","Desc":"no more than k labels will be kept for each node"},"loop_num":{"Name":"loop_num","Desc":"size_t,required"},"node_label_property":{"Name":"node_label_property","Desc":"optional"},"node_weight_property":{"Name":"node_weight_property","Desc":"optional"}}}
InstallAlgo()
Installe un algorithme du graph Ultipa dans l'instance.
Paramètres :
string
: Chemin du fichier du package d'installation de l'algo (.so).string
: Chemin du fichier de configuration (.yml).RequestConfig
(Optionnel): Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Renvoie :
InstallAlgoReply
: Résultat de la requête.error
: Un objet d'erreur contenant les détails d'éventuels problèmes survenus.nil
est retourné si l'opération est réussie.`
// Installe l'algorithme LPA et utilise le leader node pour garantir la cohérence, et affiche le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
}
graph, err := conn.InstallAlgo("E:/Go/Algo/libplugin_lpa.so", "E:/Go/Algo/lpa.yml", requestConfig)
if err != nil {
println(err)
}
if graph.Status.ErrorCode == 0 {
println("Installation réussie")
} else {
println("Échec de l'installation")
}
Installation réussie
UninstallAlgo()
Désinstalle un algorithme du graph Ultipa dans l'instance.
Paramètres :
string
: Nom de l'algorithme.RequestConfig
(Optionnel): Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Renvoie :
UninstallAlgoReply
: Résultat de la requête.error
: Un objet d'erreur contenant les détails d'éventuels problèmes survenus.nil
est retourné si l'opération est réussie.`
// Désinstalle l'algorithme LPA et affiche le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
}
graph, err := conn.UninstallAlgo("lpa", requestConfig)
if err != nil {
println(err)
}
if graph.Status.ErrorCode == 0 {
println("Algorithme désinstallé")
} else {
println("Échec de l'opération")
}
Algorithme désinstallé
EXTA
ShowExta()
Récupère tous les extas installés dans l'instance.
Paramètres :
RequestConfig
(Optionnel): Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Renvoie :
[]Exta
: La liste de tous les extas récupérés.error
: Un objet d'erreur contenant les détails d'éventuels problèmes survenus.nil
est retourné si l'opération est réussie.`
// Récupère tous les extas installés et affiche les informations du premier retourné
extaList, err := conn.ShowExta(nil)
if err != nil {
println(err)
}
printf(utils.JSONString(extaList[0]))
{"Name":"page_rank 1","Author":"wuchuang","Version":"beta.4.4.41-b4.4.0-tv-ui","Detail":"base:\n category: ExtaExample\n cn:\n name: page_rank\n desc: null\n en:\n name: page_rank\n desc: null\n\nother_param:\n\n \nparam_form:\n\nwrite:\n\nreturn:\n\nmedia:\n"}
InstallExta()
Installe un exta dans l'instance.
Paramètres :
string
: Chemin du fichier du package d'installation de l'exta (.so).string
: Chemin du fichier de configuration (.yml).RequestConfig
(Optionnel): Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Renvoie :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant les détails d'éventuels problèmes survenus.nil
est retourné si l'opération est réussie.`
// Installe l'exta page_rank et utilise le leader node pour garantir la cohérence, et affiche le code d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
}
exta, err := conn.InstallExta("E:/Go/Exta/libexta_page_rank.so", "E:/Go/Exta/page_rank.yml", requestConfig)
if err != nil {
println(err)
}
if exta.Status.ErrorCode == 0 {
println("Installation réussie")
} else {
println("Échec de l'installation")
}
Installation réussie
UninstallExta()
Désinstalle un exta dans l'instance.
Paramètres :
string
: Nom de l'exta.RequestConfig
(Optionnel): Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres de configuration par défaut.
Renvoie :
UninstallExtaReply
: Résultat de la requête.error
: Un objet d'erreur contenant les détails d'éventuels problèmes survenus.nil
est retourné si l'opération est réussie.`
// Désinstalle l'exta page_rank et affiche le code d'erreur
exta, err := conn.UninstallExta("page_rank", nil)
if err != nil {
println(err)
}
if exta.Status.ErrorCode == 0 {
println("Exta désinstallé")
} else {
println("Échec de l'opération")
}
Exta désinstallé
Exemple Complet
package main
import (
"github.com/ultipa/ultipa-go-sdk/sdk"
"github.com/ultipa/ultipa-go-sdk/sdk/configuration"
)
func main() {
// Configurations de connexion
//URI example: Hosts:=[]string{"mqj4zouys.us-east-1.cloud.ultipa.com:60010"}
config, _ := configuration.NewUltipaConfig(&configuration.UltipaConfig{
Hosts: []string{"192.168.1.85:60061", "192.168.1.86:60061", "192.168.1.87:60061"},
Username: "***",
Password: "***",
})
// Établit la connexion à la base de données
conn, _ := sdk.NewUltipa(config)
// Configurations de requête
requestConfig := &configuration.RequestConfig{
UseMaster: true,
}
// Installe l'algorithme LPA
graph, err := conn.InstallAlgo("E:/Go/Algo/libplugin_lpa.so", "E:/Go/Algo/lpa.yml", requestConfig)
if err != nil {
println(err)
}
if graph.Status.ErrorCode == 0 {
println("Installation réussie")
} else {
println("Échec de l'installation")
};