Resumen

  • RFC 9880 modela Things interactuables en red y sus datos, pero no selecciona un transporte ni una serialización.
  • La autoridad de namespaces, la resolución de referencias y una vinculación versionada deben tratarse como superficies distintas.

Un Thing es la entidad modelada. Los Objects agrupan estructura; las Properties describen datos que pueden leerse o modificarse; las Actions describen operaciones; y los Events describen notificaciones. El modelo también expresa tipos de datos intercambiados. No fija por sí mismo URLs, identificadores numéricos, formatos de payload, reglas de invocación, orden de mensajes o fiabilidad. Esas decisiones corresponden a una protocol binding o a una extensión explícita.

Por ello, un modelo SDF no define un protocolo de red, no garantiza interoperabilidad, no impone un ecosistema, transporte o serialización y no demuestra que un proveedor o producto desplegado lo implemente.

El namespace map vincula nombres cortos con URI de namespace, mientras defaultNamespace elige el namespace objetivo. Si falta el namespace predeterminado, las definiciones siguen siendo locales y no están disponibles para reutilización por otros modelos. Los nombres externos deben usar CURIE con prefijos definidos en el mapa. No se aplica la resolución ordinaria de URI relativas a los nombres SDF. Tampoco se exige resolver en tiempo de ejecución las URI de namespaces o de features para conocer su semántica.

La resolución de sdfRef debe ser determinista. Se copia la definición referenciada y se aplica la definición que referencia como JSON Merge Patch. Las referencias anidadas también se procesan; un miembro null puede eliminar contenido heredado. JSON Pointer proporciona el direccionamiento y JSON Merge Patch la semántica de combinación. Cuando todo está expandido, se obtiene el modelo resuelto, una frontera explícita antes de validar o enlazar, no una comodidad de presentación.

features identifica extensiones críticas que no pueden ignorarse con seguridad. sdfRequired indica qué affordances o agrupaciones modeladas deben estar representadas. Ninguno de los dos campos convierte automáticamente la semántica en transporte: que algo sea obligatorio en el modelo no significa que una binding pueda llevarlo o invocarlo correctamente.

La frontera evita el bloqueo. Las restricciones de datos base pertenecen a SDF. Una vinculación puede añadir URLs, IDs numéricos, payloads, invocación, orden y fiabilidad. Si esas decisiones quedan implícitas, dos sistemas pueden producir el mismo modelo resuelto y aun así rechazar mensajes incompatibles. RFC 9880 no documenta resultados universales de soporte o despliegue.

Fuentes