Summary
- RFC 9880 describes reusable semantics for network-interactable Things; it does not, by itself, select a transport or wire format.
- Namespace authority, deterministic reference resolution and an explicit binding are compatibility controls, not implementation trivia.
An SDF Thing is the model of an interactable entity. Its Objects group structure; Properties describe readable or writable data; Actions describe operations; Events describe notifications. These affordances and their exchanged data types form a semantic vocabulary. They do not automatically prescribe a URL, numeric identifier, payload encoding, invocation method, ordering rule or reliability guarantee. Those ecosystem-specific details belong in a protocol binding or another explicit augmentation mechanism.
An SDF model alone neither defines a wire protocol nor guarantees interoperability, mandates one IoT ecosystem, transport or serialization, or proves that any vendor or deployed product supports RFC 9880.
Authority starts with namespaces. The namespace map binds short prefixes to namespace URIs, and defaultNamespace selects the target namespace. Without a default namespace, definitions remain local and are unavailable for reuse by other models. External SDF names use CURIE prefixes from that map; ordinary relative-URI resolution is not applied to SDF names. A URI identifies authority, but RFC 9880 does not require namespace or feature URIs to be dereferenced at runtime.
References also need a controlled preprocessing boundary. sdfRef identifies a definition; resolution copies that definition and applies the referring definition as a JSON Merge Patch. Nested sdfRef references must be processed too, and a null member can remove inherited content. JSON Pointer provides the reference-addressing syntax, while JSON Merge Patch supplies the merge behavior. After every reference is expanded, the fully dereferenced artifact is the resolved model. That is an input to validation and binding work, not merely a nicer display.
The features field names critical extensions that a processor cannot safely ignore. A processor normally should not dereference feature URI names to discover their meaning; the feature vocabulary and support decision must be known through the applicable specification. sdfRequired answers a different question: which modeled affordances or groupings must be represented. It does not say whether a selected binding can transport or invoke them correctly.
The boundary matters operationally. Base SDF data definitions constrain the semantic data model. A binding may add URL components, numeric IDs, payload encodings, invocation settings, ordering semantics and reliability behavior. If those additions are left implicit, two implementations can resolve the same model and still exchange incompatible messages. Treating a binding assumption as if it were a model fact creates lock-in: changing the hidden convention becomes a compatibility event.
Sources
Member Briefing
Deeper Profile Context
Sign in with the right membership level to unlock the full briefing and source notes.
Only for Strategic Circle
Strategic Circle
Open to all readers. Unlock profile briefings after joining and signing in.
Join Strategic CircleOnly for Leadership Alliance
Leadership Alliance
For qualified IP-asset owners and management; sign in to unlock alliance briefings.
Join Leadership Alliance
