Cette section présente des méthodes sur un objet Connection
pour gérer les schemas et propriétés des node et edge dans 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.
Schema
ShowSchema()
Récupère tous les node et edge schemas du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
[]Schema
: La liste de tous les schemas dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère tous les schemas dans le graphset 'UltipaTeam' et imprime leurs noms et types
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
mySchema, _ := conn.ShowSchema(requestConfig)
for _, item := range mySchema {
fmt.Print("Schema name:", item.Name, " Schema type:", item.Type, "\n")
}
Schema name:default Schema type:node
Schema name:member Schema type:node
Schema name:organization Schema type:node
Schema name:default Schema type:edge
Schema name:reportsTo Schema type:edge
Schema name:relatesTo Schema type:edge{ Name: 'relatesTo', dbType: 'DBEDGE' }
]
GetSchema()
Récupère un node ou edge schema du graphset actuel.
Paramètres :
string
: Nom du schema.ultipa.DBType
: Type du schema (node ou edge).RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Schema
: Le schema récupéré.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère le node schema 'member' et le edge schema 'connectsTo' dans le graphset 'UltipaTeam', et imprime toutes leurs informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
nodeSchema, _ := conn.GetSchema("member", ultipa.DBType_DBNODE, requestConfig)
if nodeSchema != nil {
println("Name:", nodeSchema.Name, "Type:", nodeSchema.Type+" schema", " Number:", nodeSchema.Total)
} else {
println("Not exists")
}
edgeSchema, _ := conn.GetSchema("connectsTo", ultipa.DBType_DBEDGE, requestConfig)
if edgeSchema != nil {
println("Name:", edgeSchema.Name, "Type:", edgeSchema.Type+" schema", " Number:", edgeSchema.Total)
} else {
println("Not exists")
}
Name: member Type: node schema Number: 7
Not exists
ShowNodeSchema()
Récupère tous les node schemas du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
[]Schema
: La liste de tous les node schemas dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère tous les node schemas dans le graphset 'UltipaTeam' et imprime leurs noms
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
nodeSchema, _ := conn.ShowNodeSchema(requestConfig)
for _, item := range nodeSchema {
println(item.Name)
}
default
member
organization
ShowEdgeSchema()
Récupère tous les edge schemas du graphset actuel.
Paramètres :
RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
[]Schema
: La liste de tous les node schemas dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère tous les edge schemas dans le graphset 'UltipaTeam' et imprime leurs noms
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
edgeSchema, _ := conn.ShowEdgeSchema(requestConfig)
for _, item := range edgeSchema {
println(item.Name)
}
default
reportsTo
relatesTo
GetNodeSchema()
Récupère un node schema du graphset actuel.
Paramètres :
string
: Nom du schema.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Schema
: Le schema de node récupéré.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère le node schema 'member' dans le graphset 'UltipaTeam' et imprime ses propriétés
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
mySchema, _ := conn.GetNodeSchema("member", requestConfig)
println(utils.ToJSONString(mySchema.Properties))
[{"Name":"title","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"member","Type":7,"SubTypes":null,"Extra":"{}","Encrypt":""},{"Name":"profile","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"member","Type":7,"SubTypes":null,"Extra":"{}","Encrypt":""},{"Name":"age","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"member","Type":1,"SubTypes":null,"Extra":"{}","Encrypt":""}]
GetEdgeSchema()
Récupère un edge schema du graphset actuel.
Paramètres :
string
: Nom du schema.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Schema
: Le schema de edge récupéré.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère le edge schema 'relatesTo' dans le graphset 'UltipaTeam' et imprime ses propriétés
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
mySchema, _ := conn.GetEdgeSchema("relatesTo", requestConfig)
println(utils.ToJSONString(mySchema.Properties))
[{"Name":"type","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"relatesTo","Type":7,"SubTypes":null,"Extra":"{}","Encrypt":""}]
CreateSchema()
Crée un nouveau schema dans le graphset actuel.
Paramètres :
Schema
: Le schema à créer ; les champsName
etDBType
doivent être définis,Desc
(abréviation de description) etProperties
sont facultatifs.bool
: Si des propriétés doivent être créées, la valeur par défaut estfalse
.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
// Crée le node schema 'utility' (avec properties) dans le graphset 'UltipaTeam' et imprime toutes ses informations
newNodeSchema, _ := conn.CreateSchema(&structs.Schema{Name: "utility", Properties: []*structs.Property{{Name: "name", Type: ultipa.PropertyType_STRING}, {Name: "purchaseDate", Type: ultipa.PropertyType_DATETIME}}, DBType: ultipa.DBType_DBNODE, Desc: "Office utilities"}, true, requestConfig)
println("Node Schema Creation Succeeds: ", newNodeSchema.Status.IsSuccess())
println(utils.JSONString(newNodeSchema))
// Crée le edge schema 'managedBy' (sans properties) dans le graphset 'UltipaTeam' et imprime toutes ses informations
newEdgeSchema, _ := conn.CreateSchema(&structs.Schema{Name: "managedBy", DBType: ultipa.DBType_DBEDGE}, false, requestConfig)
println("Edge Schema Creation Succeeds: ", newEdgeSchema.Status.IsSuccess())
println(utils.JSONString(newEdgeSchema))
Node Schema Creation Succeeds: true
{"DataItemMap":{},"Reply":{"status":{},"statistics":{"table_name":"statistics","headers":[{"property_name":"node_affected","property_type":7},{"property_name":"edge_affected","property_type":7},{"property_name":"total_time_cost","property_type":7},{"property_name":"engine_time_cost","property_type":7}],"table_rows":[{"values":["MA==","MA==","MA==","MA=="]}]},"explain_plan":{}},"Status":{"Message":"","Code":0},"Statistic":{"NodeAffected":0,"EdgeAffected":0,"TotalCost":0,"EngineCost":0},"ExplainPlan":{"Explain":[]},"AliasList":null,"Resp":{"ClientStream":{}}}
Edge Schema Creation Succeeds: true
{"DataItemMap":{},"Reply":{"status":{},"statistics":{"table_name":"statistics","headers":[{"property_name":"node_affected","property_type":7},{"property_name":"edge_affected","property_type":7},{"property_name":"total_time_cost","property_type":7},{"property_name":"engine_time_cost","property_type":7}],"table_rows":[{"values":["MA==","MA==","MA==","MA=="]}]},"explain_plan":{}},"Status":{"Message":"","Code":0},"Statistic":{"NodeAffected":0,"EdgeAffected":0,"TotalCost":0,"EngineCost":0},"ExplainPlan":{"Explain":[]},"AliasList":null,"Resp":{"ClientStream":{}}}
CreateSchemaIfNotExist()
Crée un nouveau schema dans le graphset actuel, gérant les cas où le nom du schema existe déjà en ignorant l'erreur.
Paramètres :
Schema
: Le schema à créer ; les champsName
etDBType
doivent être définis,Desc
etProperties
sont facultatifs.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
bool
: Si le schema existe déjà.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
// Crée un schema dans le graphset 'UltipaTeam' et imprime si le schema existe déjà
cre1, _ := conn.CreateSchemaIfNotExist(&structs.Schema{Name: "utility", DBType: ultipa.DBType_DBNODE, Desc: "Office utilities"}, requestConfig)
println("Schema already exists: ", cre1)
// Crée le même schema à nouveau et imprime si le schema existe déjà
cre2, _ := conn.CreateSchemaIfNotExist(&structs.Schema{Name: "utility", DBType: ultipa.DBType_DBNODE, Desc: "Office utilities"}, requestConfig)
println("Schema already exists: ", cre2)
Schema already exists: false
Schema already exists: true
AlterSchema()
Modifie le nom et la description d'un schema existant dans le graphset actuel par son nom.
Paramètres :
Schema
: Le schema existant à modifier; les champsName
etDBType
doivent être définis.Schema
: La nouvelle configuration pour le schema existant ; un ou les deux champsName
etDesc
(abréviation de description) doivent être définis.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Renomme le node schema 'utility' en 'securityUtility' et enlève sa description dans le graphset 'UltipaTeam'
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
resp, _ := conn.AlterSchema(&structs.Schema{Name: "utility", DBType: ultipa.DBType_DBNODE}, &structs.Schema{Name: "securityUtility"}, requestConfig)
println("Operation succeeds:", resp.Status.IsSuccess())
Operation succeeds: true
DropSchema()
Supprime un schema du graphset actuel par son nom.
Paramètres :
Schema
: Le schema existant à supprimer ; les champsName
etDBType
doivent être définis.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Supprime le node schema 'utility' dans le graphset 'UltipaTeam'
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
resp, _ := conn.DropSchema(&structs.Schema{Name: "utility", DBType: ultipa.DBType_DBNODE}, requestConfig)
println("Operation succeeds:", resp.Status.IsSuccess())
Operation succeeds: true
Property
ShowProperty()
Récupère les propriétés personnalisées des node ou edge du graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
[]Property
: La liste de toutes les propriétés récupérées dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère toutes les propriétés de node dans le graphset 'UltipaTeam' et imprime leurs noms et schemas associés
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
resp, _ := conn.ShowNodeSchema(requestConfig)
for _, item := range resp {
proList, _ := conn.ShowProperty(ultipa.DBType_DBNODE, item.Name, requestConfig)
for _, pro := range proList {
println(pro.Name, "is associated with schema named", item.Name)
}
}
title is associated with schema named member
profile is associated with schema named member
age is associated with schema named member
name is associated with schema named organization
logo is associated with schema named organization
ShowNodeProperty()
Récupère les propriétés personnalisées des node du graphset actuel.
Paramètres :
string
: Nom du schema.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
[]Property
: La liste de toutes les propriétés récupérées dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère toutes les propriétés personnalisées de node schema 'member' dans le graphset 'UltipaTeam' et imprime le nombre
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
myCount, _ := conn.ShowNodeProperty("member", requestConfig)
println(len(myCount))
3
ShowEdgeProperty()
Récupère les propriétés personnalisées des edge du graphset actuel.
Paramètres :
string
: Nom du schema.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
[]Property
: La liste de toutes les propriétés récupérées dans le graphset actuel.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère toutes les propriétés personnalisées de edge schema 'relatesTo' dans le graphset 'UltipaTeam' et imprime leurs noms
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
myEdge, _ := conn.ShowEdgeProperty("relatesTo", requestConfig)
if myEdge != nil {
for _, item := range myEdge {
println(item.Name)
}
} else {
println("No property")
}
type
GetProperty()
Récupère une propriété personnalisée de node ou edge du graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requ...
Retourne :
Property
: La propriété récupérée.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère la propriété de node @member.title dans le graphset 'UltipaTeam' et imprime toutes ses informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
proInfo, _ := conn.GetProperty(ultipa.DBType_DBNODE, "member", "title", requestConfig)
println(utils.ToJSONString(proInfo))
{"Name":"title","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"member","Type":7,"SubTypes":null,"Extra":"{}","Encrypt":""}
GetNodeProperty()
Récupère une propriété personnalisée des node du graphset actuel.
Paramètres :
string
: Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Property
: La propriété récupérée.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère la propriété de node @member.title dans le graphset 'UltipaTeam' et imprime toutes ses informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
proInfo, _ := conn.GetNodeProperty("member", "title", requestConfig)
println(utils.ToJSONString(proInfo))
{"Name":"title","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"member","Type":7,"SubTypes":null,"Extra":"{}","Encrypt":""}
GetEdgeProperty()
Récupère une propriété personnalisée des edge du graphset actuel.
Paramètres :
string
: Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Property
: La propriété récupérée.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Récupère la propriété de edge @relatesTo.type dans le graphset 'UltipaTeam' et imprime toutes ses informations
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
proInfo, _ := conn.GetEdgeProperty("relatesTo", "type", requestConfig)
println(utils.ToJSONString(proInfo))
{"Name":"type","Desc":"","Lte":false,"Read":false,"Write":false,"Schema":"relatesTo","Type":7,"SubTypes":null,"Extra":"{}","Encrypt":""}
CreateProperty()
Crée une nouvelle propriété pour un node ou edge schema dans le graphset actuel.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema, écrire*
pour spécifier tous les schemas.Property
: La propriété à créer ; les champsName
etType
doivent être définis.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
// Crée deux propriétés pour le node schema 'member' dans le graphset 'UltipaTeam' et imprime les codes d'erreur
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
prop1 := &structs.Property{Name: "startDate", Type: ultipa.PropertyType_DATETIME}
new1, _ := conn.CreateProperty(ultipa.DBType_DBNODE, "member", prop1, requestConfig)
println("Operation succeeds:", new1.Status.IsSuccess())
prop2 := &structs.Property{Name: "age", Type: ultipa.PropertyType_INT32}
new2, _ := conn.CreateProperty(ultipa.DBType_DBNODE, "member", prop2, requestConfig)
println("Operation succeeds:", new2.Status.IsSuccess())
Operation succeeds: true
Operation succeeds: true
CreatePropertyIfNotExist()
Crée une nouvelle propriété pour un node ou edge schema dans le graphset actuel, gérant les cas où le nom de la propriété existe déjà en ignorant l'erreur.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema, écrire*
pour spécifier tous les schemas.Property
: La propriété à créer ; les champsName
etType
doivent être définis.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
bool
: Si la propriété existe déjà.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
// Crée une propriété pour le node schema 'member' dans le graphset 'UltipaTeam' et imprime si le schema existe déjà
myProp := &structs.Property{Name: "startDate", Type: ultipa.PropertyType_DATETIME}
new1, _ := conn.CreatePropertyIfNotExist(ultipa.DBType_DBNODE, "member", myProp, requestConfig)
println("Property already exists:", new1)
// Crée la même propriété à nouveau dans le graphset 'UltipaTeam' et imprime si le schema existe déjà
new2, _ := conn.CreatePropertyIfNotExist(ultipa.DBType_DBNODE, "member", myProp, requestConfig)
println("Property already exists:", new2)
Property already exists: false
Property already exists: true
AlterProperty()
Modifie le nom et la description d'une propriété personnalisée existante dans le graphset actuel par son nom.
Paramètres :
DBType
: Type de la propriété (node ou edge).Property
: La propriété existante à modifier; les champsName
etSchema
(écrire*
pour spécifier tous les schemas) doivent être définis.Property
: La nouvelle configuration pour la propriété existante ; un ou les deux champsName
etDesc
doivent être définis.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
// Renomme les propriétés 'name' associées à tous les node schemas en `Name` dans le graphset 'UltipaTeam'
myAlt, _ := conn.AlterProperty(ultipa.DBType_DBNODE, &structs.Property{Name: "name", Schema: "*"}, &structs.Property{Name: "Name"}, requestConfig)
println("Operation succeeds:", myAlt.Status.IsSuccess())
Operation succeeds: true
DropProperty()
Supprime une propriété personnalisée du graphset actuel par son nom et le schema associé.
Paramètres :
DBType
: Type de la propriété (node ou edge).string
: Nom du schema.string
: Nom de la propriété.RequestConfig
(Optionnel) : Paramètres de configuration pour la requête. Sinil
est fourni, la fonction utilisera les paramètres par défaut.
Retourne :
Response
: Résultat de la requête.error
: Un objet d'erreur contenant des détails sur les éventuels problèmes survenus.nil
est retourné si l'opération réussit.
requestConfig := &configuration.RequestConfig{
UseMaster: true,
GraphName: "UltipaTeam",
}
// Supprime les propriétés 'startDate' associées à tous les node schemas dans le graphset 'UltipaTeam' et imprime les codes d'erreur
drop1, _ := conn.DropProperty(ultipa.DBType_DBNODE, "*", "startDate", requestConfig)
println("Operation succeeds:", drop1.Status.IsSuccess())
// Supprime la propriété de node @member.name dans le graphset 'UltipaTeam' et imprime les codes d'erreur
drop2, _ := conn.DropProperty(ultipa.DBType_DBNODE, "member", "name", requestConfig)
println("Operation succeeds:", drop2.Status.IsSuccess())
Operation succeeds: true
Operation succeeds: true
Exemple Complet
package main
import (
ultipa "github.com/ultipa/ultipa-go-sdk/rpc"
"github.com/ultipa/ultipa-go-sdk/sdk"
"github.com/ultipa/ultipa-go-sdk/sdk/configuration"
"github.com/ultipa/ultipa-go-sdk/sdk/structs"
"github.com/ultipa/ultipa-go-sdk/utils"
)
func main() {
// Configurations de connexion
//Exemple d'URI : 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,
GraphName: "UltipaTeam",
}
// Crée le node schema 'utility' (avec properties) dans le graphset 'UltipaTeam' et imprime les codes d'erreur
newNodeSchema, _ := conn.CreateSchema(&structs.Schema{Name: "utility", Properties: []*structs.Property{{Name: "name", Type: ultipa.PropertyType_STRING}, {Name: "purchaseDate", Type: ultipa.PropertyType_DATETIME}}, DBType: ultipa.DBType_DBNODE, Desc: "Office utilities"}, true, requestConfig)
println("Node Schema Creation Succeeds: ", newNodeSchema.Status.IsSuccess())
println(utils.JSONString(newNodeSchema))
}