Cette section introduit des méthodes sur un objet Connection
pour gérer les algorithmes Ultipa graph 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 Ultipa Graph
showAlgo()
Récupère tous les algorithmes Ultipa graph installés dans l'instance.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Algo[]
: La liste de tous les algorithmes récupérés.
// Récupère tous les algorithmes Ultipa graph installés et affiche les informations du premier retourné
let resp = await conn.showAlgo();
let algo_list = resp.data.map((item) => item.param);
console.log("Premier algorithme récupéré : ", algo_list[0]);
Premier algorithme récupéré : {
name: 'bipartite',
description: 'vérification bipartite',
version: '1.0.1',
parameters: {},
result_opt: '56'
}
installAlgo()
Installe un algorithme Ultipa graph 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.
Renvoie :
Response
: Résultat de la requête.
// Installe l'algorithme LPA et utilise le noeud leader pour assurer la cohérence, et affiche le code d'erreur
let requestConfig = <RequestType.RequestConfig>{
useMaster: true,
};
let resp = await conn.installAlgo(
"E:/NodeJs/Algo/libplugin_lpa.so",
"E:/NodeJs/Algo/lpa.yml"
);
console.log(resp.status.code_desc);
["libplugin_lpa.so","lpa.yml"] chargement terminé!
SUCCESS
uninstallAlgo()
Désinstalle un algorithme Ultipa graph dans l'instance.
Paramètres :
string
: Nom de l'algorithme.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// Désinstalle l'algorithme LPA et affiche le code d'erreur
let resp = await conn.uninstallAlgo("lpa");
console.log(resp.status.code_desc);
SUCCESS
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.
Renvoie :
Exta[]
: La liste de tous les extas récupérés.
// Récupère tous les extas installés et affiche les informations du premier retourné
let resp = await conn.showExta();
console.log(resp.data);
[
{
name: 'page_rank 1',
author: 'xxx',
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' +
'\n' +
'other_param:\n' +
'\n' +
' \n' +
'param_form:\n' +
'\n' +
'write:\n' +
'\n' +
'return:\n' +
'\n' +
'media:\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.
Renvoie :
Response
: Résultat de la requête.
// Installe l'exta page_rank et utilise le noeud leader pour assurer la cohérence, et affiche le code d'erreur
let requestConfig = <RequestType.RequestConfig>{
useMaster: true,
};
let resp = await conn.installExta(
"E:/NodeJs/Exta/libexta_page_rank.so",
"E:/NodeJs/Exta/page_rank.yml",
requestConfig
);
console.log(resp.status.code_desc);
["libexta_page_rank.so","page_rank.yml"] chargement terminé!
SUCCESS
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.
Renvoie :
Response
: Résultat de la requête.
// Désinstalle l'exta page_rank et affiche le code d'erreur
let resp = await conn.uninstallExta("page_rank");
console.log(resp.status.code_desc);
SUCCESS
Exemple Complet
import { ConnectionPool, ULTIPA } from "@ultipa-graph/ultipa-node-sdk";
import { GraphExra } from "@ultipa-graph/ultipa-node-sdk/dist/connection/extra/graph.extra";
import { getEdgesPrintInfo } from "@ultipa-graph/ultipa-node-sdk/dist/printers/edge";
import { RequestType } from "@ultipa-graph/ultipa-node-sdk/dist/types";
import { ListFormat } from "typescript";
let sdkUsage = async () => {
// Configurations de connexion
//Exemple d'URI: hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
let hosts = [
"192.168.1.85:60061",
"192.168.1.86:60061",
"192.168.1.87:60061",
];
let username = "***";
let password = "***";
let connPool = new ConnectionPool(hosts, username, password);
// Établit la connexion à la base de données
let conn = await connPool.getActive();
let isSuccess = await conn.test();
console.log(isSuccess);
// Configurations de requête
let requestConfig = <RequestType.RequestConfig>{
useMaster: true,
};
// Installe l'algorithme LPA
let resp = await conn.installAlgo(
"E:/NodeJs/Algo/libplugin_lpa.so",
"E:/NodeJs/Algo/lpa.yml",
requestConfig
);
console.log(resp.status.code_desc);
};
sdkUsage().then(console.log).catch(console.log);