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:

ClassDescription
AddressUniversal content address
GlyphCanonical glyph (minimal representative)

Properties in the u/ namespace:

PropertyDescription
glyphThe glyph of an address
codepointUnicode code point
byteValueByte value in R_n
lengthLength in bytes

Resolution

Given a content address, the Resolver hierarchy performs resolution:

  1. DihedralFactorizationResolver — factorizes in D_{2^n}
  2. CanonicalFormResolver — computes the canonical form
  3. 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.