Espace de noms dans le modèle de données d’expérience (XDM)

IMPORTANT
Dans XDM, l’espace de noms (la rubrique de cette page) est utilisé pour distinguer les champs d’un schéma. Cela diffère du concept d’espace de noms d’identité dans Identity Service, où l’espace de noms est utilisé pour distinguer les valeurs d’identité. Pour plus d’informations, consultez la documentation sur l’espace de noms dans Identity Service .

Tous les champs des schémas de modèle de données d’expérience (XDM) sont associés à un espace de noms. Ces espaces de noms vous permettent d’étendre vos schémas et d’empêcher les collisions de champs lorsque différents composants de schéma sont rassemblés. Ce document fournit un aperçu des espaces de noms dans XDM et de la manière dont ils sont représentés dans l’ API Schema Registry.

L’espace de noms permet de définir un champ dans un espace de noms comme signifiant quelque chose de différent du même champ dans un autre espace de noms. En pratique, l’espace de noms d’un champ indique qui a créé le champ (par exemple, XDM standard (Adobe), un fournisseur ou votre organisation).

Prenons l’exemple d’un schéma XDM qui utilise le groupe de champs Personal Contact Details, qui comporte un champ mobilePhone standard qui existe dans l’espace de noms xdm. Dans le même schéma, vous êtes également libre de créer un champ mobilePhone distinct sous un autre espace de noms (votre identifiant client). Ces deux domaines peuvent coexister tout en ayant des significations ou des contraintes sous-jacentes différentes.

Syntaxe des espaces de noms

Les sections suivantes montrent comment les espaces de noms sont affectés dans la syntaxe XDM.

XDM standard standard

La syntaxe XDM standard fournit des informations sur la représentation des espaces de noms dans les schémas (y compris la manière dont ils sont traduits dans Adobe Experience Platform).

XDM standard utilise la syntaxe JSON-LD pour affecter des espaces de noms aux champs. Cet espace de noms se présente sous la forme d’un URI (tel que https://ns.adobe.com/xdm pour l’espace de noms xdm) ou d’un préfixe abrégé configuré dans l’attribut @context d’un schéma.

Voici un exemple de schéma pour un produit dans la syntaxe XDM standard. À l’exception de @id (l’identifiant unique tel que défini par la spécification JSON-LD), chaque champ situé sous properties commence par un espace de noms et se termine par le nom du champ. Si vous utilisez un préfixe short défini sous @context, l’espace de noms et le nom du champ sont séparés par deux points (:). Si vous n’utilisez pas de préfixe, l’espace de noms et le nom du champ sont séparés par une barre oblique (/).

{
  "$id": "https://ns.adobe.com/xdm/schemas/mySchema",
  "title": "Product",
  "description": "Represents the definition of a Project",
  "@context": {
    "xdm": "https://ns.adobe.com/xdm",
    "repo": "http://ns.adobe.com/adobecloud/core/1.0/",
    "schema": "http://schema.org",
    "tenantId": "https://ns.adobe.com/tenantId"
  },
  "properties": {
    "@id": {
      "type": "string"
    },
    "xdm:sku": {
      "type": "string"
    },
    "xdm:name": {
      "type": "string"
    },
    "repo:createdDate": {
      "type": "string",
      "format": "datetime"
    },
    "https://ns.adobe.com/xdm/channels/application": {
      "type": "string"
    },
    "schema:latitude": {
      "type": "number"
    },
    "https://ns.adobe.com/vendorA/product/stockNumber": {
      "type": "string"
    },
    "tenantId:internalSku": {
      "type": "number"
    }
  }
}
Propriété
Description
@context
Objet définissant les préfixes short qui peuvent être utilisés à la place d’un URI d’espace de noms complet sous properties.
@id
Identifiant unique de l’enregistrement tel que défini par la spécification JSON-LD.
xdm:sku
Exemple de champ qui utilise un préfixe abrégé pour désigner un espace de noms. Dans ce cas, xdm est l’espace de noms (https://ns.adobe.com/xdm) et sku est le nom du champ.
https://ns.adobe.com/xdm/channels/application
Exemple de champ qui utilise l’URI d’espace de noms complet. Dans ce cas, https://ns.adobe.com/xdm/channels est l’espace de noms et application est le nom du champ.
https://ns.adobe.com/vendorA/product/stockNumber
Les champs fournis par les ressources du fournisseur utilisent leurs propres espaces de noms uniques. Dans cet exemple, https://ns.adobe.com/vendorA/product est l’espace de noms du fournisseur et stockNumber est le nom du champ.
tenantId:internalSku
Les champs définis par votre organisation utilisent votre identifiant de client unique comme espace de noms. Dans cet exemple, tenantId est l’espace de noms du client (https://ns.adobe.com/tenantId) et internalSku est le nom du champ.

Mode de compatibilité compatibility

Dans Adobe Experience Platform, les schémas XDM sont représentés en syntaxe Mode de compatibilité, qui n’utilise pas la syntaxe JSON-LD pour représenter les espaces de noms. Plutôt, Platform convertit l’espace de noms en un champ parent (en commençant par un trait de soulignement) et imbrique les champs en dessous.

Par exemple, le XDM standard repo:createdDate est converti en _repo.createdDate et apparaîtra sous la structure suivante en mode de compatibilité :

"_repo": {
  "type": "object",
  "properties": {
    "createdDate": {
      "type": "string",
      "format": "datetime"
    }
  }
}

Les champs qui utilisent l’espace de noms xdm apparaissent comme des champs racine sous properties et déposez le préfixe xdm: qui apparaîtra dans la syntaxe XDM standard. Par exemple, xdm:sku est simplement répertorié comme sku à la place.

Le fichier JSON suivant représente la manière dont l’exemple de syntaxe XDM standard illustré ci-dessus est traduit en mode de compatibilité.

{
  "$id": "https://ns.adobe.com/xdm/schemas/mySchema",
  "title": "Product",
  "description": "Represents the definition of a Project",
  "properties": {
    "_id": {
      "type": "string"
    },
    "sku": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "_repo": {
      "type": "object",
      "properties": {
        "createdDate": {
          "type": "string",
          "format": "datetime"
        }
      }
    },
    "_channels": {
      "type": "object",
      "properties": {
        "application": {
          "type": "string"
        }
      }
    },
    "_schema": {
      "type": "object",
      "properties": {
        "application": {
          "type": "string"
        }
      }
    },
    "_vendorA": {
      "type": "object",
      "properties": {
        "product": {
          "type": "object",
          "properties": {
            "stockNumber": {
              "type": "string"
            }
          }
        }
      }
    },
    "_tenantId": {
      "type": "object",
      "properties": {
        "internalSku": {
          "type": "number"
        }
      }
    }
  }
}

Étapes suivantes

Ce guide fournit un aperçu des espaces de noms XDM et de leur représentation dans JSON. Pour plus d’informations sur la configuration des schémas XDM à l’aide de l’API, consultez le guide de l’API Schema Registry.

recommendation-more-help
62e9ffd9-1c74-4cef-8f47-0d00af32fc07