Skip to content

Concepts of Valkyrie

Kate Lynch edited this page Jan 23, 2020 · 2 revisions

Dive into Valkyrie Tutorial


Concepts of Valkyrie

  • Data mapper

    • A data access layer that orchestrates read/write of data between a data backing store (for instance in Valkyrie, a Postgres database) for storage and persistence, and a representation layer for the data in-memory (for instance in Valkyrie, Solr). Valkyrie is a data mapper that coordinates this flow of data. More information can be found in the Frequently Asked Questions at What is Valkyrie?.
  • Mapper / Adapter

    • Data mapping tools that support read/write operations between different storage classes. Persisters and query services are defined in adapters in Valkyrie, conforming to the Adapter interface design pattern. Metadata adapters deal with the data describing an object. Storage adapters deal with files associated with an object.
  • Resource

    • A representation of the attributes of a persistent object model. In Valkyrie, these can be regarded as a replacement for ActiveRecord models. See Understanding resources for more information, and Supported Data Types for all supported data types for resource attributes. Attributes defined as Valkyrie::ID are used to link Valkyrie resources.
  • Changeset

    • A method for grouping a set of changes to be applied to the properties of a Valkyrie resource. ChangeSets can be used to validate a set of updates to be applied to a resource's properties and tracking changes to a resource. See ChangeSets and Dirty Tracking for more information.
  • Persister

    • Metadata adapters that can create, update, and delete metadata associated with objects. Persisters can also be used to migrate data from one persistence layer to another. See Migrate between adapters for an example pattern.
  • Query service

  • Indexer

    • Metadata adapters that accept Valkyrie resources as query arguments and can index them according to the behavior of a defined persistence type.

Additional resources