Admitted object-property projection.
storage_candidates preserves reversible lawful relational representations.
storage_strategy is populated only when the profile or deterministic
constraints authorize selection. Candidate membership does not imply that the
current compiler implements the selected representation.
Summary
Types
@type storage_strategy() ::
:foreign_key
| :join_table
| :association_resource
| :array
| :jsonb
| :computed_projection
@type t() :: %AshR2RML.SemanticIR.Relationship{ association_resource: module() | String.t() | nil, cardinality: :one | :many, destination_join_column: String.t() | nil, destination_key: atom() | nil, inverse_predicate: String.t() | nil, join_table: String.t() | nil, max_count: non_neg_integer() | nil, min_count: non_neg_integer(), name: atom(), predicate_iri: String.t(), properties: list(), provenance: map(), source_class: String.t(), source_join_column: String.t() | nil, source_key: atom() | nil, storage_candidates: [storage_strategy()], storage_strategy: storage_strategy() | nil, target_class: String.t() }