Cette section présente des méthodes sur un objet Connection
pour gérer le statut LTE pour les propriétés, et leurs indexes et full-text indexes. Ces mécanismes peuvent être utilisés pour accélérer les requêtes.
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.
LTE
Lte()
Charge une propriété personnalisée des "node"s ou "edge"s vers le moteur de calcul pour l'accélération des requêtes.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
(Optionnel) : Nom du schema, écrivez*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
UqlResponse
: Résultat de la requête.
// Chargez la propriété edge @relatesTo.type dans le moteur dans le graphset 'UltipaTeam' et imprimez le code d'erreur
RequestConfig requestConfig = new RequestConfig() { Graph = "UltipaTeam" };
var res = await ultipa.Lte(DBType.Dbedge, "relatesTo", "type", requestConfig);
Console.WriteLine(res.Status.ErrorCode);
Thread.Sleep(3000);
var prop = await ultipa.GetEdgeProperty("relatesTo", "type", requestConfig);
Console.WriteLine("LTE status of the property: " + prop.Lte);
Success
LTE status of the property: True
Ufe()
Décharge une propriété personnalisée des "node"s ou "edge"s du moteur de calcul pour économiser la mémoire.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
(Optionnel) : Nom du schema, écrivez*
pour spécifier tous les schemas.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
UqlResponse
: Résultat de la requête.
// Déchargez la propriété edge @relatesTo.type du moteur dans le graphset 'UltipaTeam' et imprimez le code d'erreur
RequestConfig requestConfig = new RequestConfig() { Graph = "UltipaTeam" };
var res = await ultipa.Ufe(DBType.Dbedge, "relatesTo", "type", requestConfig);
Console.WriteLine(res.Status.ErrorCode);
Thread.Sleep(3000);
var prop = await ultipa.GetEdgeProperty("relatesTo", "type", requestConfig);
Console.WriteLine("LTE status of the property: " + prop.Lte);
Success
LTE status of the property: False
Index
ShowIndex()
Récupère tous les indexes des propriétés de "node" et "edge" à partir du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
List<Index>
: La liste de tous les indexes récupérés dans le graphset actuel.
// Récupère les indexes dans le graphset 'Ad_Click' et imprime leurs informations
RequestConfig requestConfig = new RequestConfig() { Graph = "Ad_Click", UseMaster = true };
var res = await ultipa.ShowIndex(requestConfig);
foreach (var item in res)
{
Console.WriteLine(JsonConvert.SerializeObject(item));
}
{"Schema":"user","Name":"shopping_level","Properties":"shopping_level","Status":"done","size":"4608315"}
{"Schema":"ad","Name":"price","Properties":"price","Status":"done","size":"7828488"}
{"Schema":"clicks","Name":"time","Properties":"time","Status":"done","size":"12809771"}
ShowNodeIndex()
Récupère tous les indexes des propriétés de "node" à partir du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
List<Index>
: La liste de tous les indexes récupérés dans le graphset actuel.
// Récupère les indexes des "node"s dans le graphset 'Ad_Click' et imprime leurs informations
RequestConfig requestConfig = new RequestConfig() { Graph = "Ad_Click", UseMaster = true };
var res = await ultipa.ShowNodeIndex(requestConfig);
foreach (var item in res)
{
Console.WriteLine(JsonConvert.SerializeObject(item));
}
{"Schema":"user","Name":"shopping_level","Properties":"shopping_level","Status":"done","size":"4608315"}
{"Schema":"ad","Name":"price","Properties":"price","Status":"done","size":"7828488"}
ShowEdgeIndex()
Récupère tous les indexes des propriétés de "edge" à partir du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
List<Index>
: La liste de tous les indexes récupérés dans le graphset actuel.
// Récupère les indexes des "edge"s dans le graphset 'Ad_Click' et imprime leurs informations
RequestConfig requestConfig = new RequestConfig() { Graph = "Ad_Click", UseMaster = true };
var res = await ultipa.ShowEdgeIndex(requestConfig);
foreach (var item in res)
{
Console.WriteLine(JsonConvert.SerializeObject(item));
}
{"Schema":"clicks","Name":"time","Properties":"time","Status":"done","size":"12809771"}
CreateIndex()
Crée un nouvel index dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
(Optionnel) : Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
UqlResponse
: Résultat de la requête.
// Crée les indexes pour toutes les propriétés "node" 'name' dans le graphset 'Ad_Click' et imprime le code d'erreur
RequestConfig requestConfig = new RequestConfig() { Graph = "Ad_Click", UseMaster = true };
var res = await ultipa.CreateIndex(DBType.Dbnode, "name", requestConfig);
Console.WriteLine(res.Status.ErrorCode);
Success
DropIndex()
Supprime des indexes dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
(Optionnel) : Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
UqlResponse
: Résultat de la requête.
// Supprime l'index de la propriété "node" @ad.name dans le graphset 'Ad_Click' et imprime le code d'erreur
RequestConfig requestConfig = new RequestConfig() { Graph = "Ad_Click", UseMaster = true };
var res = await ultipa.DropIndex(DBType.Dbnode, "ad", "name", requestConfig);
Console.WriteLine(res.Status.ErrorCode);
Success
Full-text
ShowFulltext()
Récupère tous les full-text indexes des propriétés de "node" et "edge" à partir du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
List<Index>
: La liste de tous les indexes récupérés dans le graphset actuel.
// Récupère le premier full-text index retourné dans le graphset 'miniCircle' et imprime ses informations
RequestConfig requestConfig = new RequestConfig() { Graph = "miniCircle" };
var res = await ultipa.ShowFulltext(requestConfig);
Console.WriteLine(JsonConvert.SerializeObject(res[0]));
{"Schema":"movie","Name":"genreFull","Properties":"genre","Status":"done","size":null}
ShowNodeFulltext()
Récupère tous les full-text indexes des propriétés de "node" à partir du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
List<Index>
: La liste de tous les indexes récupérés dans le graphset actuel.
// Récupère le premier full-text index "node" retourné dans le graphset 'miniCircle' et imprime ses informations
RequestConfig requestConfig = new RequestConfig() { Graph = "miniCircle" };
var res = await ultipa.ShowNodeFulltext(requestConfig);
Console.WriteLine(JsonConvert.SerializeObject(res[0]));
{"Schema":"movie","Name":"genreFull","Properties":"genre","Status":"done","size":null}
ShowEdgeFulltext()
Récupère tous les full-text indexes des propriétés de "edge" à partir du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
List<Index>
: La liste de tous les indexes récupérés dans le graphset actuel.
// Récupère le premier full-text index "edge" retourné dans le graphset 'miniCircle' et imprime ses informations
RequestConfig requestConfig = new RequestConfig() { Graph = "miniCircle" };
var res = await ultipa.ShowEdgeFulltext(requestConfig);
Console.WriteLine(JsonConvert.SerializeObject(res[0]));
{"Schema":"review","Name":"nameFull","Properties":"content","Status":"done","size":null}
CreateFulltext()
Crée un nouvel index full-text dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema.string
: Nom de la propriété.string
: Nom du full-text index.RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
UqlResponse
: Résultat de la requête.
// Crée un full-text index nommé 'movieName' pour la propriété @movie.name dans le graphset 'miniCircle' et imprime le code d'erreur
RequestConfig requestConfig = new RequestConfig() { Graph = "miniCircle" };
var res = await ultipa.CreateFulltext(
DBType.Dbnode,
"movie",
"name",
"movieName",
requestConfig
);
Console.WriteLine(res.Status.ErrorCode);
Success
DropFulltext()
Supprime un full-text index dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du full-text index.RequestConfig
(Optionnel) : Paramètres de configuration de la requête.
Retourne :
UqlResponse
: Résultat de la requête.
// Supprime le full-text index "node" 'movieName' dans le graphset 'miniCircle' et imprime le code d'erreur
RequestConfig requestConfig = new RequestConfig() { Graph = "miniCircle" };
var res = await ultipa.DropFulltext(DBType.Dbnode, "movieName", requestConfig);
Console.WriteLine(res.Status.ErrorCode);
Success
Exemple Complet
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Xml.Linq;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using UltipaService;
using UltipaSharp;
using UltipaSharp.api;
using UltipaSharp.configuration;
using UltipaSharp.connection;
using UltipaSharp.exceptions;
using UltipaSharp.structs;
using UltipaSharp.utils;
using Logger = UltipaSharp.utils.Logger;
using Property = UltipaSharp.structs.Property;
using Schema = UltipaSharp.structs.Schema;
class Program
{
static async Task Main(string[] args)
{
// Configurations de connexion
//URI example: Hosts=new[]{"mqj4zouys.us-east-1.cloud.ultipa.com:60010"}
var myconfig = new UltipaConfig()
{
Hosts = new[] { "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
var ultipa = new Ultipa(myconfig);
var isSuccess = ultipa.Test();
Console.WriteLine(isSuccess);
// Configurations de requête
RequestConfig requestConfig = new RequestConfig()
{
Graph = "Ad_Click",
UseMaster = true,
};
// Récupère tous les indexes dans le graphset 'Ad_Click' et imprime leurs informations
var res = await ultipa.ShowIndex(requestConfig);
foreach (var item in res)
{
Console.WriteLine(JsonConvert.SerializeObject(item));
}
}
}