Guide for developers

For a list of prefixes used for compact URIs (curies), see Data > Curie prefixes.

Introduction

This is a guide for RDA usage within a local application. It provides information for developers on the use of the RDA content that is available from the RDA Registry.

The guide is aimed at technical users.

IFLA Library Reference Model

RDA is an implementation of the IFLA Library Reference Model (LRM).

The LRM is a high-level conceptual reference model developed within an entity-relationship modelling framework by the International Federation of Library Associations and Institutions (IFLA).

The functional scope of the model is taken from a set of tasks that are defined from the point of view and needs of the end-user of library and cultural heritage resources:

  • Find: To bring together information about one or more resources of interest by searching on any relevant criteria.
  • Identify: To clearly understand the nature of the resources found and to distinguish between similar resources.
  • Select: To determine the suitability of the resources found, and to be enabled to either accept or reject specific resources.
  • Obtain: To access the content of the resource.
  • Explore: To discover resources using the relationships between them and thus place the resources in a context.

LRM entities

The entities defined in the LRM are "the key objects of interest to users of library information systems":

The classes representing these entities are disjoint.

The Agent entity is divided into two entity subtypes:

The classes representing these entity subtypes are disjoint.

The Agent entity is strictly equivalent to the union of the two entity subtypes. That is, an agent is one or more persons.

The LRM uses an entity supertype to support class inheritance:

The class representing this entity is a superclass of all other LRM classes.

LRM namespace

The LRM namespace is http://iflastandards.info/ns/lrm/lrmer/.

RDA entities

Implementation of LRM

RDA implements all of the IFLA Library Reference Model entities, with some changes:

  • Res is replaced by RDA Entity, a subclass of Res and a super-class of all other RDA entities. This encapsulates the RDA implementation of the LRM and distinguishes RDA from other implementations.
  • Collective Agent is divided into two entity subtypes that were already used in RDA:
    • Corporate Body
    • Family
  • Time-span is renamed Timespan to avoid problems with hyphens when searching the RDA Toolkit.

There are 13 RDA entities.

Class hierarchy

An RDA entity is represented in the RDA Registry as an RDF class.

RDA classes are identified and described in the RDA Classes element set.

RDF graph of the RDA class hierarchy

RDF graph of the RDA class hierarchy.

Map to LRM

The RDA Registry provides a Map from RDA classes to IFLA LRM.

Elements

Each RDA entity is associated with a set of elements that describe characteristics of the entity and relate the entity to other entities.

An RDA element is represented in the RDA Registry as an RDF property.

An RDA entity is associated with an element by being declared as the domain of the element.

RDA elements

An RDA element is represented in the RDA Registry as an RDF property.

Each RDA element is assigned to one and only one RDA entity by declaring the class representing the entity as the domain of the property corresponding the element.

Every RDA property has a domain of one RDA class.

All elements that can be inherited from an entity hierarchy are explicitly identified and defined in RDA.

Example of elements reflecting class hierarchy

RDA elements are categorized as:

  • Relationship elements
  • Attribute elements
  • Shortcuts

Map to LRM

The RDA Registry provides a Map from RDA properties to IFLA LRM.

Recording methods

Values of RDA elements may be recorded using different recording methods.

There are three methods that use a string as the value of an element:

  • An unstructured description: a plain literal, for example a free text note or a transcription.
  • A structured description: a literal typed with a form of string encoding scheme that aggregates literal values from other elements, for example an access point or structured statement.
  • An identifier: a literal that is an identifier used in a localized context, for example an ISBN or database key.

The fourth method uses an IRI as the value of an element, for example an IRI of an instance of an entity or value vocabulary.

Not all recording methods are applicable to every RDA element. There are categories of element that are intended for only one of the string methods:

  • Appellation elements for "labels" of instances of entities.
  • Note and transcription elements.

The RDA Registry provides a Map from RDA properties to recording methods.

Element set family

The RDA Registry provides datatype and object properties to support applications that use OWL semantics or otherwise want to distinguish between string and "thing" values.

Every RDA element has a datatype property with a range of Literal; every element can use a string value.

Every RDA relationship element has an object property. The range of the property is the class of the related RDA entity.

Each datatype and object property is a subproperty of the "canonical" property representing the RDA element.

RDF graph of the element set family for rdaw:P10429 has screenwriter person

RDF graph of the element set family for rdaw:P10429 "has screenwriter person".

All properties in a family have the same domain.

The canonical property has no declared range.

Example of domain and range declarations for rdaw:P10429 "has screenwriter person"

domain property range
rdac:C10001 "Work" rdaw:P10429
rdac:C10001 "Work" rdawd:P10429 rdfs:Literal
rdac:C10001 "Work" rdawo:P10429 rdac:C10004 "Person"

The datatype and object properties are arranged in element sets that parallel the canonical elements. This allows a regular extension to the base filepath with a standard constructor for element IRIs, as reflected in the curie prefixes used.

The range and inverse of an element are declared for the corresponding object element.

Relationship elements

An element is categorized as a relationship element if its value is an instance of an RDA entity.

That is, a relationship element references an RDA entity that is associated with the RDA entity that is the domain of the element.

Relationship matrix

A set of high-level, coarse granularity relationships elements is provided for each RDA entity.

The set covers all pair-wise associative relationships between the RDA entities. There are 169 (13x13) elements in the set.

Examples of high-level relationship elements

All other RDA relationship elements are accommodated as refinements of the high-level matrix of relationships by using RDFS subproperty relationships.

RDF graph of the element hierarchy for has screenwriter person

RDF graph of element hierarchy for rdaw:P10429 "has screenwriter person".

Inverses

Every RDA relationship element has an inverse element.

The inverse element swaps the domain and range of the source element and has a label and definition that reverse the semantic direction of the source element.

A relationship and its inverse form a pair; neither is preferred over the other.

Relationship pairs are linked using a owl:inverseOf declaration in the object version of each element.

Attribute elements

An element is categorized as an attribute element if its value is a characteristic of the RDA entity that is the domain of the element.

An attribute element does not reference another RDA entity.

Attribute hierarchies

Some attribute elements are arranged in hierarchies.

A hierarchy may reflect the class hierarchy of RDA entities.

Example of attribute hierarchy reflecting class hierarchy

rdaa:P50395 "has note on person" is a subproperty of rdaa:P50391 "has note on agent" is a subproperty of rdax:P00015 "has note on RDA entity".

A hierarchy may reflect an explicit or implicit subtyping of elements within an entity.

Example of attribute hierarchy reflecting explicit subtypes within an entity

rdam:P30280 "has manifestation copyright statement" is a subproperty of rdam:P30292 "has manifestation statement".

Attribute values

The value of an attribute element is a string that describes the characteristic, or a reference to a value taken from a vocabulary encoding scheme (VES).

The RDA Registry provides a VES for selected elements. For further information, see RDA values

Example of an attribute element that has an associated RDA VES

rdae:P20001 "has content type" is associated with the RDA Content Type value vocabulary.

Shortcuts

Some RDA elements have semantics that merge two or more other elements.

The merge retains the domain of the first element and the range of the last element, but does not identify any intermediate entities.

These are known as "shortcut" elements.

Most RDA shortcut elements result from accommodating legacy elements within the IFLA Library Reference Model.

Examples of RDA shortcut elements

rdaw:P10429 "has screenwriter person" is equivalent to rdaw:P10159 "has screenplay work" plus rdaw:P10436 "has author person". The intermediate "screenplay work" is not identified.

rdaw:P10072 "has manifestation of work" is equivalent to rdaw:P10078 "has expression of work" plus rdae:P20059 "has manifestation of expression". The intermediate "expression" is not identified.

RDA values

The RDA Registry provides a set of value vocabularies that specify Simple Knowledge Organization System (SKOS) concepts and labels that can be used as the values of metadata statements.

Each value vocabulary is associated with one or more RDA elements.

Not all RDA elements are associated with an RDA value vocabulary. RDA allows any suitable value vocabulary to be used in an RDA application; a vocabular is suitable if it conforms to the semantics of the element.

Each value vocabulary is presented as a vocabulary encoding scheme (VES). Each SKOS concept in a VES is associated with an IRI, preferred label, definition, and notation, and optional scope notes and alternate labels.

The labels, definition, and scope notes of a concept may be available in multiple languages.

Only one preferred label is assigned for a specific language. A preferred label in a specific language is distinct from all other preferred labels in the same language within a VES. A preferred label is not unique between different languages or different VESs

A notation is distinct from all other notations within a VES, but is not unique between different VESs.

Example of RDA value vocabulary concept associated with rdae:P20001 "has content type"

skos: value
Curie rdaco:1001
Preferred label (English) prefLabel "cartographic dataset"
Definition (English) definition "A content type that consists of cartographic content expressed through a digitally encoded dataset intended to be processed by a computer."
Scope notes (English) scopeNote "A cartographic dataset excludes cartographic data intended to be perceived in the form of an image or three-dimensional form."
Notation notation "1001"

The categories of values in a value vocabulary are aligned with the RDA recording methods.

  • structured description: Preferred label
  • identifier: Notation
  • IRI: concept IRI

Examples of usage

Statement Notes
subject predicate object recording method
‹ex:1› ‹rdae:P20001› "cartographic dataset" structured description
‹ex:1› ‹rdae:P20001› "1001" identifier
‹ex:1› ‹rdae:P20001› ‹rdaco:1001› IRI

Data transformation

The RDA Registry supports the semantic processing of RDA metadata statements to transform the data for local applications.

Where possible, the RDA Registry uses standard ontology predicates to declare associated domains, ranges, super-properties, etc. These predicates have well-defined entailment or inference patterns.

The RDA Registry also provides ontological maps from RDA entities and elements to non-RDA equivalents in related standards.

Internal semantics

The RDA classes and properties have consistent semantics and explicit coverage of all levels of semantic hierarchy.

This allows the easy and reliable transformation of an RDA metadata statement to any broader level of semantics within RDA.

The declaration of a domain for every element and a range for the object version of a relationship element encapsulates entity typing within a single RDA metadata statement. The predicate of a statement determines the type of its subject and object.

Examples of usage

Statement Notes
subject predicate object
‹ex:1› ‹rdawo:P10436› ‹ex:2› RDA statement; IRI
‹ex:1› ‹rdf:type› ‹rdac:C10001› Entailed from domain
‹ex:2› ‹rdf:type› ‹rdac:C10004› Entailed from range
‹ex:1› ‹rdawo:P10437› ‹ex:2› Entailed from subproperty relationship
‹ex:1› ‹rdawo:P10065› ‹ex:2› Entailed from subproperty relationship
‹ex:1› ‹rdawo:P10311› ‹ex:2› Entailed from subproperty relationship chains
‹ex:1› ‹rdawo:P10307› ‹ex:2› Entailed from subproperty relationship chains
‹ex:1› ‹rdaxo:P00001› ‹ex:2› Entailed from subproperty relationship chains
‹ex:1› ‹rdf:type› ‹rdac:C10013› Entailed from subclass relationship chains
‹ex:2› ‹rdf:type› ‹rdac:C10013› Entailed from subclass relationship chains

Prefixes:

rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#

This example shows one of several entailment paths through an element hierarcy.

Maps to related standards

Specific standards

The RDA Registry provides semantic maps from RDA entities and elements to specific related standards.

The maps can be used to support semantic inferencing or entailment to transform a statement that uses an RDA element into a statement that uses a mapped element.

Examples of usage

Statement Notes
subject predicate object
‹ex:1› ‹rdae:P20001› "cartographic dataset" RDA statement; structured description
‹ex:1› ‹lrmer:E341› "cartographic dataset" LRM statement entailed from map
‹ex:1› ‹dct:type› "cartographic dataset" DCT statement entailed from map

Prefixes:

dct: http://purl.org/dc/terms/

lrmer: http://iflastandards.info/ns/lrm/lrmer/

Unconstrained element set

The RDA Registry provides an Unconstrained properties element set that is based on the canonical elements.

The properties have generalized semantics that are not specifically aligned with the entities of the IFLA Library Reference Model (LRM):

  • No domain (or range) is declared.
  • References in labels and definitions of canonical elements to specific types of agent are replaced by the general term "agent" or omitted.
  • References in labels and definitions of canonical elements to work, expression, manifestation, and item entities are replaced by the general term "resource".

Example of deriving an "unconstrained" version of an element

canonical element unconstrained element
rdaw:P10429 rdau:P60476
"has screenwriter person" "has screenwriter"
"Relates a work to a person who is an author of a screenplay, script, or scene." "Relates a resource to an agent who is an author of a screenplay, script, or scene."

The RDA Registry provides a Map from RDA properties to unconstrained properties.

This map can be used to generalize an RDA metadata statement for use in applications that are not based on the LRM.

Application profiles

An RDA application profile specifies which RDA entities, elements, and value vocabularies are used in a specific application of RDA metadata.

The RDA Registry provides the compact URIs (curies), labels, definitions, and scope notes for RDA entities and elements in the RDA element sets.

The RDA Registry provides the compact URIs (curies), labels, definitions, and scope notes for RDA value vocabularies in the RDA Reference value vocabularies.

An RDA application profile may also specify the recording method that is used.

The RDA Registry provides a Map from RDA properties to recording methods.

An RDA application profile may be used to drive a data-entry interface that is linked to the RDA Toolkit guidance and instructions.

The RDA Registry provides an Alignment from RDA elements and entities to RDA Toolkit.

Customization

RDA entities, elements, and concepts can be customized for local applications using standard semantic methods.

Methods are categorized as:

  • Refinement
  • Extension

Refinement

Entities and elements

An RDA entity or element can be subtyped for a local application.

Example of subtyping an RDA element

‹ex:1› "has manifestation title statement" declared as a subproperty of rdam:P30293 "has manifestation title and responsibility statement"

A less formal refinement of an RDA entity can be made using its "category" element.

Example of categorizing an RDA entity

"screenplay" used as a value of rdaw:P10004 "has category of work".

Values

A concept from an RDA vocabulary encoding scheme can be refined by a narrower concept.

Example of refining an RDA value concept

‹ex:1› "iron" declared as narrower to rdamat:1022 "metal".

Extension

Entities and elements

The addition of an RDA entity or element to extend the semantics of RDA is carried out within the RDA Registry following established procedures.

Values

A new concept can be added to an RDA vocabulary encoding scheme represented by a value vocabulary if the existing concepts do not cover the scope of the vocabulary.

Example of extension of an RDA value vocabulary

‹ex:1› "bone" used as a value of rdam:P30304 "has material"

Development history

RDA was originally a partial implementation of each of three conceptual models that were developed separately by the International Federation of Library Associations and Institutions (IFLA):

  • Functional Requirements for Bibliographic Records (FRBR)
  • Functional Requirements for Authority Data (FRAD)
  • Functional Requirements for Subject Authority Data (FRSAD)

The models were consolidated into the IFLA Library Reference Model (LRM) to resolve inconsistencies between the three separate models.

The RDA implementation avoided inconsistencies by retaining aspects of the Anglo-American Cataloguing Rules that were its predecessor.

The RDA Toolkit Restructure and Redesign (3R) Project reviewed and developed the original RDA entities, attributes, and relationships to bring them into full compliance with the LRM.

For further information on the initial development of the RDA Vocabularies, see About the RDA Registry and vocabularies.

The RDA archaeology section of the RDA Registry provides tools for identifying and reconciling older versions of the RDA Vocabularies.