Cette section introduit 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 :
GraphSet[]
: La liste de tous les graphsets dans la base de données.
// Récupère tous les graphsets et imprime les noms de ceux ayant plus de 2000 arêtes
let resp = await conn.showGraph();
let graphs = resp.data?.filter((graph) => {
return Number(graph.totalEdges) > 2000;
});
console.log(graphs);
Display_Ad_Click
ERP_DATA2
wikiKG
getGraph()
Récupère un graphset de la base de données par son nom.
Paramètres :
string
: Nom du graphset.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
GraphSet
: Le graphset récupéré.
// Récupère le graphset nommé 'wikiKG' et imprime toutes ses informations
let resp = await conn.getGraph("wikiKG");
console.log(resp.data);
{"id":615,"name":"wikiKG","totalNodes":3546,"totalEdges":2179,"status":"MOUNTED","description":""}
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 :
Response
: Résultat de la requête.
// Crée un graphset et imprime le code d'erreur
let resp = await conn.createGraph({
name: "testNodeJS_SDK",
description: "A test graph for NodeJS_SDK",
});
console.log(resp.status.code_desc);
Un nouveau graphset testNodeJS_SDK
est créé dans la base de données, et le driver imprime :
SUCCESS
createGraphIfNotExist()
Crée un nouveau graphset dans la base de données, 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 :
Response
: Résultat de la requête.
// Crée un graphset et imprime le code d'erreur
let graph1 = await conn.createGraphIfNotExit({
name: "testNodeJS_SDK",
description: "A test graph for NodeJS_SDK",
});
console.log("First Creation: ", graph1.status.code_desc);
// Essaie de créer à nouveau le même graphset et imprime le code d'erreur
let graph2 = await conn.createGraphIfNotExit({
name: "testNodeJS_SDK",
description: "A test graph for NodeJS_SDK",
});
console.log("Second Creation: ", graph2.status.code_desc);
Un nouveau graphset testNodeJS_SDK
est créé dans la base de données, et le driver imprime :
First Creation: SUCCESS
Second Creation: SUCCESS
dropGraph()
Supprime un graphset de la base de données par son nom.
Paramètres :
string
: Nom du graphset.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// Crée un graphset puis le supprime, imprime le résultat
let resp = await conn.createGraph({
name: "testNodeJS_SDK",
description: "A test graph for NodeJS_SDK",
});
console.log(resp.status.code_desc);
let resp2 = await conn.dropGraph("testNodeJS_SDK");
console.log(resp2);
SUCCESS
{
status: { code: 0, message: '' , code_desc: 'SUCCESS' },
statistics: { totalCost: 16, engineCost: 0, nodeAffected: 0, edgeAffected: 0 },
req: undefined
}
alterGraph()
Modifie le nom et la description d'un graphset existant dans la base de données par son nom.
Paramètres :
oldGraph: GraphSet
: Le graphset existant à modifier ; le champname
doit être défini.newGraph: GraphSet
: La nouvelle configuration pour le graphset existant ; l'un ou l'autre des champsname
etdescription
doit être défini.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// Renomme le graphset 'testNodeJS_SDK' en 'newGraph', définit une description pour celui-ci, et imprime le résultat
let resp = await conn.alterGraph(
{ name: "testNodeJS_SDK" },
{ name: "newGraph", description: "The graphset is altered" }
);
console.log(resp);
{
status: { code: 0, message: '', code_desc: 'SUCCESS' },
statistics: { totalCost: 1, engineCost: 0, nodeAffected: 0, edgeAffected: 0 },
req: undefined
}
truncate()
Truncate (supprime) les nodes ou arêtes spécifiés dans le graphset donné ou tronque l'ensemble du graphset. Notez que les nodes truncatés entraîneront la suppression des arêtes attachées à ces nodes affectés. L'opération de truncature conserve la définition des schemas et propriétés tout en supprimant les données.
Paramètres :
Truncate
: L'objet à truncater ; le champgraphName
doit être défini,schema
etdbType
sont optionnels, maisschema
ne peut pas être défini sans définirdbType
.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// Truncate les nodes @user dans le graphset 'myGraph_1' et imprime le code d'erreur
let trunc1 = await conn.truncate({
graphName: "myGraph_1",
schema: "user",
dbType: ULTIPA.DBType.DBNODE,
});
console.log(trunc1.status.code_desc);
// Truncate toutes les arêtes dans le graphset 'myGraph_2' et imprime le code d'erreur
let trunc2 = await conn.truncate({
graphName: "myGraph_2",
dbType: ULTIPA.DBType.DBEDGE,
});
console.log(trunc2.status.code_desc);
// Truncate le graphset 'myGraph_3' et imprime le code d'erreur
let trunc3 = await conn.truncate({
graphName: "myGraph_3",
});
console.log(trunc3.status.code_desc);
SUCCESS
SUCCESS
SUCCESS
compact()
Compacts 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 :
string
: Nom du graphset.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// Compacte le graphset 'miniCircle' et imprime le code d'erreur
let trunc1 = await conn.compact("miniCircle");
console.log(trunc1.status.code_desc);
SUCCESS
hasGraph()
Vérifie l'existence d'un graphset dans la base de données par son nom.
Paramètres :
string
: Nom du graphset.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Boolean
: Résultat de la requête.
// Vérifie l'existence du graphset 'miniCircle' et imprime le résultat
let has = await conn.hasGraph("miniCircle");
console.log("has = ", has.data);
has = true
unmountGraph()
Démonte un graphset pour économiser la mémoire de la base de données.
Paramètres :
string
: Nom du graphset.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// / Démonte les graphsets 'miniCircle' et imprime le résultat
let resp = await conn.unmountGraph("miniCircle");
console.log(resp.status.code_desc);
SUCCESS
mountGraph()
Monte un graphset en mémoire de la base de données.
Paramètres :
string
: Nom du graphset.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête.
Renvoie :
Response
: Résultat de la requête.
// Monte le graphset 'miniCircle' et imprime le résultat
let resp = await conn.mountGraph("miniCircle");
console.log(resp.status.code_desc);
SUCCESS
Full Example
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 () => {
// Connection configurations
//URI example: 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);
// Paramètres de requête
let requestConfig = <RequestType.RequestConfig>{
useMaster: true,
};
// Crée un nouveau graphset 'newGraph'
let graph = await conn.createGraph({ name: "newGraph" }, requestConfig);
console.log(graph.status.code_desc);
// Supprime le graphset 'newGraph' juste créé
let resp = await conn.dropGraph("newGraph");
console.log(resp.status.code_desc);
};
sdkUsage().then(console.log).catch(console.log);