Skip to content

Identity

The identity module defines the structures for addressing and identifying resources within the Arda system. These structures complement the ADN URI scheme and the Entity References specification, providing the typed value objects used throughout the domain model.

A Binding is a value that captures the binding of a resource to a concrete address in the underlying network. It represents the location component of an entity identity.

PropertyTypeMultiplicityDescription
schemeString[1..1]The protocol scheme (e.g., https, grpc, local). See Entity References for valid values.
authorityString[1..1]The network authority (host or service name) within the specified scheme.

An EntityId is a resource identity that includes:

  • location: The binding to the underlying network (zero or more Binding values — a resource may be accessible from multiple locations)
  • classifier: The endpoint within the location that owns the resource
  • localId: An opaque identifier interpreted by the owning endpoint

When location or classifier is absent, the system derives appropriate values from context — for example, treating the resource as local if it is a data authority, or associating it with a known data authority.

PropertyTypeMultiplicityDescription
locationsBinding[0..*]Where the entity can be found (may be multiple)
classifierString[0..1]The endpoint within the location that owns the resource
localId(opaque)[1..1]An opaque identifier interpreted by the owning endpoint
uri(derived)[0..1]Derived URI representation of the identity

A Projection is an EntityId with additional typed attributes. It is used to carry a subset of an entity’s properties alongside its identity, enabling filtering and sorting without fetching the full entity or requiring joins.

PropertyTypeMultiplicityDescription
attributesGeneric type A[0..1]Additional attributes of the projection, represented as a generic type

Note: The source document’s class diagram references an _assets/class-diagram.svg that is not reproduced here. Detailed property documentation is marked as TBD in several fields.