Tous les produits
Search
Centre de documentation

DataWorks:Graph Database

Dernière mise à jour :Aug 10, 2026

GDB Reader et GDB Writer assurent la synchronisation bidirectionnelle des données entre DataWorks et les sources de données GDB.

Limites

Lecture des données par lots

Écriture des données par lots

  • Configurez deux tâches de synchronisation distinctes pour synchroniser séparément les données relatives aux sommets et aux arêtes.

  • Les sommets ou les arêtes à synchroniser doivent posséder un nom afin que DataWorks puisse les parcourir et récupérer les données associées.

  • Les valeurs de clé primaire des sommets et des arêtes dans GDB sont de type STRING. Le type des données à synchroniser doit être configuré comme STRING. Si le type configuré est numérique (par exemple LONG), GDB Reader convertit de force les valeurs de clé primaire en type STRING. En cas d'échec de la conversion, les valeurs de clé primaire sont perdues.

  • Pour les valeurs des propriétés de sommet ou d'arête, le type de données des valeurs à synchroniser doit correspondre au type de données d'origine dans l'instance GDB. Si le type de données diffère du type d'origine, GDB Reader convertit de force les valeurs de propriété vers le type spécifié. En cas d'échec de la conversion, les valeurs de propriété sont perdues.

  • Si vous exécutez plusieurs fois une tâche pour synchroniser les données de sommet, les valeurs obtenues pour la propriété SET peuvent varier.

  • Si vous configurez toutes les propriétés au format JSON, la propriété SET ne contenant qu'une seule valeur est considérée comme une propriété courante.

  • Sauf indication contraire, les noms de champs et les valeurs énumérées dans cette rubrique sont sensibles à la casse.

  • GDB Reader prend uniquement en charge l'encodage UTF-8. Les données synchronisées doivent être encodées en UTF-8.

  • Seule la version 1.0.20 ou ultérieure de GDB prend en charge la propriété SET. Vérifiez la version de GDB avant d'utiliser la propriété SET.

  • Exécutez une tâche de synchronisation pour les données de sommet avant d'exécuter une tâche de synchronisation pour les données d'arête.

  • Limites relatives aux sommets :

    • Un sommet doit avoir un nom, spécifié par le paramètre label.

    • Un sommet doit disposer d'une clé primaire unique de type STRING. Si la clé primaire n'est pas une chaîne, GDB Writer la convertit de force en chaîne.

    • Configurez le paramètre idTransRule avec précaution. Si vous souhaitez définir ce paramètre sur none, assurez-vous que la clé primaire de chaque sommet est unique parmi tous les sommets.

  • Limites relatives aux arêtes :

    • Une arête doit avoir un nom, spécifié par le paramètre label.

    • La clé primaire est facultative pour une arête.

      • Si vous spécifiez une clé primaire, elle doit être de type STRING et être globalement unique pour toutes les arêtes. Si une valeur non textuelle est fournie, GDB Writer la convertit automatiquement en type STRING.

      • Si vous ne spécifiez pas de clé primaire pour une arête, GDB Writer génère automatiquement un identifiant universel unique (UUID) de type STRING pour l'arête. Si l'UUID n'est pas une chaîne, GDB Writer le convertit de force en chaîne.

    • Configurez le paramètre idTransRule avec précaution. Si vous souhaitez définir ce paramètre sur none, assurez-vous que la clé primaire de chaque arête est unique parmi toutes les arêtes.

    • Les paramètres srcIdTransRule et dstIdTransRule sont obligatoires pour une arête. Les valeurs de ces deux paramètres doivent correspondre à la valeur du paramètre idTransRule du sommet associé.

  • Sauf indication contraire, les noms de champs et les valeurs énumérées dans cette rubrique sont sensibles à la casse.

  • GDB Writer prend uniquement en charge l'encodage UTF-8. Les données source doivent être encodées en UTF-8.

  • En raison des restrictions réseau, les tâches de synchronisation ne peuvent être exécutées que sur un groupe de ressources Serverless (recommandé) ou un groupe de ressources exclusif pour Data Integration. Achetez d'abord le groupe de ressources requis et associez-le au Virtual Private Cloud (VPC) qui contient votre instance GDB.

Ajouter une source de données

Avant de développer une tâche de synchronisation dans DataWorks, ajoutez la source de données requise à DataWorks en suivant les instructions de la section Configuration de la source de données. Consultez les descriptions des paramètres dans la console DataWorks pour comprendre la signification des paramètres lors de l'ajout d'une source de données.

Développer une tâche de synchronisation des données

Pour obtenir des informations sur le point d'entrée et la procédure de configuration d'une tâche de synchronisation, consultez les guides de configuration suivants.

Configurer une tâche de synchronisation par lots pour synchroniser les données d'une table unique

Annexe : Code et paramètres

Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code

Pour configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code, définissez les paramètres associés dans le script conformément aux exigences de format de script unifié. Pour plus d'informations, consultez la section Configuration en mode script. Les informations suivantes décrivent les paramètres à configurer pour les sources de données lors de la configuration d'une tâche de synchronisation par lots à l'aide de l'éditeur de code.

Exemple de script Reader

Lorsque vous configurez une tâche de synchronisation des données pour écrire des données dans Graph Database (GDB), configurez les sommets et les arêtes séparément :

  • Configurer une tâche de synchronisation pour lire les données des sommets depuis une instance GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // Maximum number of dirty data records to tolerate.
            },
            "jvmOption":"",
            "speed":{
                "concurrent":3,
                "throttle":true, // If true, throttling is enabled. If false, throttling is disabled and the mbps parameter is ignored.
                "mbps":"12"// The throttling limit. 1 mbps is equal to 1 MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "host": "gdb-xxxxxx.aliyuncs.com", // The endpoint of the GDB instance.
                    "port": 8182, // The port of the GDB instance.
                    "username": "gdb", // The username for accessing the GDB instance.
                    "password": "gdb", // The password for the username.
                    "labelType": "VERTEX", // The type of the label. VERTEX specifies a vertex.
                    "labels": ["label1", "label2"],  // A list of labels. If left empty, all vertices are exported.
                    "column": [
                        {
                            "name": "id",               // The field name.
                            "type": "string",           // The field type.
                            "columnType": "primaryKey"  // Field category. Specifies the vertex primary key, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "label",              // The field name.
                            "type": "string",             // The field type.
                            "columnType": "primaryLabel"  // Field category. Specifies the vertex label, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "age",                   // The property name.
                            "type": "int",                   // The property type.
                            "columnType": "vertexProperty"   // Field category. Specifies a basic property of the vertex in GDB.
                        }
                    ]
                },
                "stepType":"gdb"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter":{
                    "print": true
                },
                "stepType":"stream"
            }
        ]
    }
  • Configurer une tâche de synchronisation pour lire les données des arêtes depuis une instance GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // Maximum number of dirty data records to tolerate.
            },
            "jvmOption":"",
            "speed":{
                "concurrent":3,
                "throttle":true,// If true, throttling is enabled. If false, throttling is disabled and the mbps parameter is ignored.
                "mbps":"12"// The throttling limit. 1 mbps is equal to 1 MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "host": "gdb-xxxxxx.aliyuncs.com", // The endpoint of the GDB instance.
                    "port": 8182, // The port of the GDB instance.
                    "username": "gdb", // The username for accessing the GDB instance.
                    "password": "gdb", // The password for the username.
                    "labelType": "EDGE", // The type of the label. EDGE specifies an edge.
                    "labels": ["label1", "label2"],  // A list of labels. If left empty, all edges are exported.
                    "column": [
                        {
                            "name": "id",               // The field name.
                            "type": "string",           // The field type.
                            "columnType": "primaryKey"  // Field category. Specifies the edge primary key, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "label",              // The field name.
                            "type": "string",             // The field type.
                            "columnType": "primaryLabel"  // Field category. Specifies the edge label, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "srcId",               // The field name.
                            "type": "string",              // The field type.
                            "columnType": "srcPrimaryKey"  // Field category. Specifies the start vertex primary key, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "srcLabel",               // The field name.
                            "type": "string",                 // The field type.
                            "columnType": "srcPrimaryLabel"   // Field category. Specifies the start vertex label, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "dstId",                    // The field name.
                            "type": "string",                   // The field type.
                            "columnType": "dstPrimaryKey"       // Field category. Specifies the end vertex primary key, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "dstLabel",                 // The field name.
                            "type": "string",                   // The field type.
                            "columnType": "dstPrimaryLabel"     // Field category. Specifies the end vertex label, which must be of the STRING type in GDB.
                        },
                        {
                            "name": "weight",               // The property name.
                            "type": "double",               // The property type.
                            "columnType": "edgeProperty"    // Field category. Specifies an edge property.
                        }
                    ]
                },
                "stepType":"gdb"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter":{
                    "print": true
                },
                "stepType":"stream"
            }
        ]
    }

Paramètres du script Reader

Paramètre

Description

Obligatoire

Valeur par défaut

host

Le point de terminaison de connexion de l'instance GDB. Dans la console GDB, cliquez sur Management pour l'instance cible afin d'afficher le Internal Endpoint (qui correspond à l'hôte).

Oui

Aucune valeur par défaut

port

Le port utilisé pour se connecter à l'instance GDB.

Oui

8182

username

Le nom d'utilisateur utilisé pour se connecter à l'instance GDB.

Oui

Aucune valeur par défaut

password

Le mot de passe utilisé pour se connecter à l'instance GDB.

Oui

Aucune valeur par défaut

labels

Le libellé (nom) du sommet ou de l'arête. GDB Reader peut lire les données de plusieurs sommets ou arêtes simultanément, spécifiés sous forme de tableau tel que ["label1", "label2"].

Oui

Aucune valeur par défaut

labelType

Le type de libellé. Valeurs possibles :

  • VERTEX

  • EDGE

Oui

Aucune valeur par défaut

column

Les sommets ou les arêtes à synchroniser.

Oui

Aucune valeur par défaut

column -> name

Le nom de la propriété de sommet ou d'arête à synchroniser. Obligatoire si des propriétés de sommet ou d'arête sont incluses.

Oui

Aucune valeur par défaut

column -> type

Le type de données de la propriété de sommet ou d'arête à synchroniser.

  • La clé primaire et le libellé ne peuvent être que de type STRING. Si vous ne définissez pas le type de données sur STRING, la conversion des données échoue.

  • Les autres propriétés peuvent être de type INT, LONG, FLOAT, DOUBLE, BOOLEAN ou STRING.

  • GDB Reader convertit de force les données obtenues vers le type spécifié. En cas d'échec de la conversion, l'enregistrement de données est perdu.

Oui

Aucune valeur par défaut

column -> columnType

La catégorie de la propriété de sommet ou d'arête à synchroniser.

  • Pour les sommets et les arêtes :

    • primaryKey : la clé primaire.

    • primaryLabel : le libellé.

  • Pour les sommets :

    • vertexProperty : une propriété courante du sommet.

    • vertexJsonProperty : une collection des propriétés du sommet, au format JSON. Si vous définissez le paramètre columnType sur vertexJsonProperty, toutes les propriétés sont répertoriées dans cette colonne. Les autres colonnes ne peuvent pas contenir la propriété du sommet.

      Exemple de vertexJsonProperty :

      {
          "properties":[
              {"k":"name","t":"string","v":"tom","c":"set"},
              {"k":"name","t":"string","v":"jack","c":"set"},
              {"k":"sex","t":"string","v":"male","c":"single"}
          ]
      }
                                                          

      Le code précédent contient une propriété multivaluée name et une propriété univaluée gender. La propriété name comporte deux enregistrements. Si une propriété multivaluée dans GDB ne contient qu'une seule valeur, elle est exportée en tant que propriété univaluée.

  • Pour les arêtes :

    • srcPrimaryKey : la clé primaire du sommet de départ.

    • dstPrimaryKey : la clé primaire du sommet d'arrivée.

    • srcPrimaryLabel : le libellé du sommet de départ.

    • dstPrimaryLabel : le libellé du sommet d'arrivée.

    • edgeProperty : une propriété de l'arête.

    • edgeJsonProperty : une collection des propriétés de l'arête, au format JSON. Si vous définissez le paramètre columnType sur edgeJsonProperty, toutes les propriétés sont répertoriées dans cette colonne. Les autres colonnes ne peuvent pas contenir la propriété de l'arête.

      Exemple de edgeJsonProperty :

      {
          "properties":[
              {"k":"name","t":"string","v":"tom"},
              {"k":"sex","t":"string","v":"male"}
      ]
      }
                                                          

      Une arête ne prend pas en charge les propriétés multivaluées ni le champ c.

Oui

Aucune valeur par défaut

Exemple de script Writer

  • Configurer une tâche de synchronisation pour écrire des données de sommets dans une base de données GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100"  // Maximum number of dirty data records to tolerate.
            },
            "speed":{
                 "throttle":true,// If true, throttling is enabled. If false, throttling is disabled and the mbps parameter is ignored.
                "concurrent":3, // The job concurrency.
                "mbps":"12"// The throttling limit. 1 mbps is equal to 1 MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "column":[
                        "*"
                    ],
                    "datasource":"_ODPS",
                    "emptyAsNull":true,
                    "guid":"",
                    "isCompress":false,
                    "partition":[],
                    "table":""
                },
                "stepType":"odps"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter": {
                    "datasource": "testGDB", // The name of the data source.
                    "label": "person", // The label, which is the name of the vertex.
                    "srcLabel": "", // Not applicable to vertices.
                    "dstLabel": "", // Not applicable to vertices.
                    "labelType": "VERTEX", // The type of the label. "VERTEX" specifies a vertex.
                    "writeMode": "INSERT", // The policy for handling duplicate primary keys.
                    "idTransRule": "labelPrefix", // The conversion rule for the vertex primary key.
                    "srcIdTransRule": "none", // Not applicable to vertices.
                    "dstIdTransRule": "none", // Not applicable to vertices.
                    "column": [
                        {
                            "name": "id", // The field name.
                            "value": "#{0}", // Takes the value from the source column at index 0. Concatenation is supported.
                            "type": "string", // The field type.
                            "columnType": "primaryKey" // The field category. `primaryKey` specifies the primary key.
                        }, // The primary key of the vertex. The field name must be `id`, the type must be STRING, and this record is required.
                        {
                            "name": "person_age",
                            "value": "#{1}", // Takes the value from the source column at index 1. Concatenation is supported.
                            "type": "int",
                            "columnType": "vertexProperty" // The field category. `vertexProperty` specifies a vertex property.
                        }, // A property of the vertex. Supported types: INT, LONG, FLOAT, DOUBLE, BOOLEAN, and STRING.
                        {
                            "name": "person_credit",
                            "value": "#{2}", // Takes the value from the source column at index 2. Concatenation is supported.
                            "type": "string",
                            "columnType": "vertexProperty"
                        } // A property of the vertex.
                    ]
                }
                "stepType":"gdb"
            }
        ],
        "type":"job",
        "version":"2.0"
    }
  • Configurer une tâche de synchronisation pour écrire des données d'arêtes dans une base de données GDB

    {
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        },
        "setting":{
            "errorLimit":{
                "record":"100" // Maximum number of dirty data records to tolerate.
            },
            "jvmOption":"",
            "speed":{
                "throttle":true,// If true, throttling is enabled. If false, throttling is disabled and the mbps parameter is ignored.
                "concurrent":3, // The job concurrency.
                "mbps":"12"// The throttling limit. 1 mbps is equal to 1 MB/s.
            }
        },
        "steps":[
            {
                "category":"reader",
                "name":"Reader",
                "parameter":{
                    "column":[
                        "*"
                    ],
                    "datasource":"_ODPS",
                    "emptyAsNull":true,
                    "guid":"",
                    "isCompress":false,
                    "partition":[],
                    "table":""
                },
                "stepType":"odps"
            },
            {
                "category":"writer",
                "name":"Writer",
                "parameter": {
                    "datasource": "testGDB", // The name of the data source.
                    "label": "use", // The label, which is the name of the edge.
                    "labelType": "EDGE", // The type of the label. `EDGE` specifies an edge.
                    "srcLabel": "person", // The label of the start vertex.
                    "dstLabel": "software", // The label of the end vertex.
                    "writeMode": "INSERT", // The policy for handling duplicate primary keys.
                    "idTransRule": "labelPrefix", // The conversion rule for the edge primary key.
                    "srcIdTransRule": "labelPrefix", // The conversion rule for the primary key of the start vertex.
                    "dstIdTransRule": "labelPrefix", // The conversion rule for the primary key of the end vertex.
                    "column": [
                        {
                            "name": "id", // The field name.
                            "value": "#{0}", // Takes the value from the source column at index 0. Concatenation is supported.
                            "type": "string", // The field type.
                            "columnType": "primaryKey" // The field category. `primaryKey` specifies the primary key.
                        }, // The primary key of the edge. The field name must be `id` and the type must be STRING. This record is optional.
                        {
                            "name": "id",
                            "value": "#{1}", // Concatenation is supported. Ensure the mapping rule is consistent with the one used when importing vertices.
                            "type": "string",
                            "columnType": "srcPrimaryKey" // The field category. `srcPrimaryKey` specifies the primary key of the start vertex.
                        }, // The primary key of the start vertex. The field name must be `id`, the type must be STRING, and this record is required.
                        {
                            "name": "id",
                            "value": "#{2}", // Concatenation is supported. Ensure the mapping rule is consistent with the one used when importing vertices.
                            "type": "string",
                            "columnType": "dstPrimaryKey" // The field category. `dstPrimaryKey` specifies the primary key of the end vertex.
                        }, // The primary key of the end vertex. The field name must be `id`, the type must be STRING, and this record is required.
                        {
                            "name": "person_use_software_time",
                            "value": "#{3}", // Concatenation is supported.
                            "type": "long",
                            "columnType": "edgeProperty" // The field category. `edgeProperty` specifies an edge property.
                        }, // A property of the edge. Supported types: INT, LONG, FLOAT, DOUBLE, BOOLEAN, and STRING.
                        {
                            "name": "person_regist_software_name",
                            "value": "#{4}", // Concatenation is supported.
                            "type": "string",
                            "columnType": "edgeProperty"
                        }, // A property of the edge.
                        {
                            "name": "id",
                            "value": "#{5}", // Concatenation is supported.
                            "type": "long",
                            "columnType": "edgeProperty"
                        } // A property of the edge with the field name `id`. This is a regular property, not a primary key, and is optional.
                    ]
                }
                "stepType":"gdb"
            }
        ],
        "type":"job",
        "version":"2.0"
    }

Paramètres du script Writer

Paramètre

Description

Obligatoire

Valeur par défaut

datasource

Le nom de la source de données. La valeur doit correspondre au nom de la source de données ajouté dans l'éditeur de code.

Oui

Aucune valeur par défaut

label

Le libellé, qui correspond au nom du sommet ou de l'arête.

GDB Writer peut obtenir les libellés à partir des colonnes de la table source. Par exemple, si vous définissez ce paramètre sur #{0}, GDB Writer utilise la valeur de la première colonne comme libellé. L'index de colonne commence à 0.

Oui

Aucune valeur par défaut

labelType

Le type de libellé. Valeurs possibles :

  • VERTEX

  • EDGE

Oui

Aucune valeur par défaut

srcLabel

  • Le nom du sommet de départ dans une arête lorsque le paramètre labelType est défini sur EDGE.

    Ce paramètre peut être laissé vide si srcIdTransRule est défini sur none. Si srcIdTransRule est défini sur une autre valeur, ce paramètre est obligatoire.

  • Laissez ce paramètre vide si le paramètre labelType est défini sur VERTEX.

Non

Aucune valeur par défaut

dstLabel

  • Le nom du sommet d'arrivée dans une arête lorsque le paramètre labelType est défini sur EDGE.

    Ce paramètre peut être laissé vide si dstIdTransRule est défini sur none. Si dstIdTransRule est défini sur une autre valeur, ce paramètre est obligatoire.

  • Laissez ce paramètre vide si le paramètre labelType est défini sur VERTEX.

Non

Aucune valeur par défaut

writeMode

Spécifie comment GDB Writer gère les enregistrements de données avec des clés primaires en double. Valeurs possibles :

  • INSERT : renvoie un message d'erreur. Le nombre d'enregistrements de données erronés est augmenté de 1.

  • MERGE : écrase l'enregistrement de données existant par le nouveau.

Oui

INSERT

idTransRule

La règle de conversion pour la clé primaire. Valeurs possibles :

  • labelPrefix : Convertit la valeur mappée au format {label}-{source column}.

  • none : ne convertit pas la clé primaire.

Oui

none

srcIdTransRule

La règle de conversion pour la clé primaire du sommet de départ lorsque labelType est défini sur EDGE. Valeurs possibles :

  • labelPrefix : Convertit la valeur mappée au format {label}-{source column}.

  • none : ne convertit pas la clé primaire. Dans ce cas, le paramètre srcLabel peut être laissé vide.

Obligatoire lorsque le paramètre labelType est défini sur EDGE

none

dstIdTransRule

La règle de conversion pour la clé primaire du sommet d'arrivée lorsque labelType est défini sur EDGE. Valeurs possibles :

  • labelPrefix : Convertit la valeur mappée au format {label}-{source column}.

  • none : ne convertit pas la clé primaire. Dans ce cas, le paramètre dstLabel peut être laissé vide.

Obligatoire lorsque le paramètre labelType est défini sur EDGE

none

column

Les sommets ou les arêtes à synchroniser.

  • name : le nom de la propriété de sommet ou d'arête.

  • value : la valeur de la propriété de sommet ou d'arête. Vous ne pouvez personnaliser une valeur que dans l'éditeur de code.

    • #{N} : utilise la valeur de la Nième colonne de la source comme valeur de la propriété de sommet ou d'arête. N indique l'index de colonne, qui commence à 0.

    • #{0} : utilise la valeur de la première colonne de la source comme valeur de la propriété de sommet ou d'arête.

    • test-#{0} : ajoute une chaîne fixe telle que test- au début ou à la fin de #{0}.

    • #{0}-#{1} : concatène plusieurs champs. Vous pouvez également ajouter des chaînes fixes à n'importe quelle position, par exemple test-#{0}-test1-#{1}-test2.

  • type : le type de données de la propriété de sommet ou d'arête.

    La clé primaire doit être de type STRING. Si la valeur obtenue depuis la source n'est pas une chaîne, GDB Writer la convertit de force en chaîne. Assurez-vous que la valeur peut être convertie en chaîne.

    Les autres propriétés peuvent être de type INT, LONG, FLOAT, DOUBLE, BOOLEAN ou STRING.

  • columnType : la catégorie de la propriété de sommet ou d'arête à synchroniser.

    • Pour les sommets et les arêtes

      primaryKey : la clé primaire.

    • Pour les sommets

      • vertexProperty : une propriété courante d'un sommet.

      • vertexJsonProperty : une propriété JSON du sommet. Pour plus d'informations sur la structure de la valeur, consultez l'exemple de propriétés.

    • Pour les arêtes

      • srcPrimaryKey : la clé primaire du sommet de départ.

      • dstPrimaryKey : la clé primaire du sommet d'arrivée.

      • edgeProperty : une propriété courante d'une arête.

      • edgeJsonProperty : une propriété JSON d'une arête. Pour plus d'informations sur la structure de la valeur, consultez l'exemple de propriétés.

Exemple de propriétés

{"properties":[
    {"k":"name","t":"string","v":"tom"},
    {"k":"age","t":"int","v":"20"},
    {"k":"sex","t":"string","v":"male"}
]}

Oui

Aucune valeur par défaut