AshR2RML.SemanticIR.Relationship (AshR2RML v26.8.22)

Copy Markdown View Source

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

storage_strategy()

@type storage_strategy() ::
  :foreign_key
  | :join_table
  | :association_resource
  | :array
  | :jsonb
  | :computed_projection

t()

@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()
}