Content Addressing
Definition
Content addressing is the principle that an object's identity is determined by its content, not by an external location or name. In the UOR framework, this is formalized through the Address class.
Mathematical Basis
A content address is a canonical representation of an object derived from its bytes. The UOR framework uses the ring structure (see Ring) to define a canonical form — a unique representative for each equivalence class of objects.
The CanonicalFormResolver computes this canonical form by factorizing an object's representation in the dihedral group D_{2^n}.
Ontology Representation
The addressing namespace u/ provides two foundational classes:
| Class | Description |
|---|---|
| Address | Universal content address |
| Glyph | Canonical glyph (minimal representative) |
Properties in the u/ namespace:
| Property | Description |
|---|---|
| glyph | The glyph of an address |
| codepoint | Unicode code point |
| byteValue | Byte value in R_n |
| length | Length in bytes |
Resolution
Given a content address, the Resolver hierarchy performs resolution:
- DihedralFactorizationResolver — factorizes in D_{2^n}
- CanonicalFormResolver — computes the canonical form
- EvaluationResolver — evaluates the canonical form
The result is a Partition decomposing the address into irreducible, reducible, unit, and exterior components.
Schema Integration
The Datum class represents raw byte content,
while Term represents symbolic content.
These two are owl:disjointWith — a datum and a term are fundamentally different
kinds of things.
A Literal (a subclass of Term) can
denote a Datum via the denotes property,
bridging the symbolic and data layers without conflating them.