This document describes the business object classes found in RMap. Namely:
- An object with type
rmap:DiSCOidentified by a unique URI - Immutable and citable
- Generated by an rmap:Agent
- Point-in-time description of an aggregation of one or more related Resources
- Is itself a resource, so can be related to another resource, aggregated, described, etc.
- May relate some or all of its aggregated resources to other resources. The graph of these relationships must include at least one of the aggregated resources and must not be disjoint.
- May have an associated creator, description, and/or provenance document that are within in
- Each creation, modification, and deletion of an RMap DiSCO is represented by an RMap Event. These associations can be extracted from the Event, so needn’t be stored with the DiSCO.
- Events associated with a DiSCO can also be used to infer:
- an Agent that the DiSCO is attributable to
- status (Active, Inactive, Tombstoned, Deleted)
- version relationships to other DiSCOs
- An identity with type
rmap:Agentidentified by a URI - Mutable and self-describing.
- Generated by an rmap:Agent (an Agent can create itself)
- Provides an identity (a stable URI) to an individual or organization for the purpose of system-asserted provenance. This identity is used by Events in RMap to specify the initiator of some action (e.g. creating a DiSCO).
- Contains user-facing statement describing itself including information about which identity provided authorized them to use RMap
- An activity of type
rmap:Eventidentified by a URI - Immutable. Generated by the RMap system to capture provenance of RMap activities
- Describes any activity that modifies the state of the system’s content. This includes both activity initiated by the RMap system, and activity initiated by users (for example, a publisher submitting a DiSCO to RMap)
- There are seven event types (creation, inactivation, update, derivation, tombstone, deletion, replace).
- There are two event target types (DiSCO, Agent), indicating the RMap resource that is the primary target of an event. Changes to the status of resources related to the event target (such as RMap statements related to a DiSCO that is the target event) is inferred by RMap via the association of the affected Resource’s ids with both the Event and the parent object (DiSCO, Agent).
- Events are atomic, or transactional, in nature. They are not nested, and do not have sub- or parent- events.
- Maintains association with any RMap resources affected by the Event including, in the case of DiSCO Events, a link back to the first DiSCO in a version lineage.