Metadata Templates

March 15, 2017
Metadata Templates Working Group

Chapel Hill, NC

Rick Skarbez

iRODS Consortium

Metadata template use cases

  • View and interact with AVUs in a user-friendly​ interface
  • Require metadata attributes on iRODS objects
  • Validate metadata elements
  • Standardize metadata associated with iRODS objects
  • Uniformly apply metadata to many objects simultaneously
  • Provide rendering guidance to GUIs

Metadata templates enable users and curators to:

Metadata template JSON Schema

Available in white paper

  • not reproduced here for space/readability

 

A Metadata Template contains the following properties:

  • name
  • type
  • source
  • destination
  • description
  • author
  • version
  • required
  • elements

Metadata Template type

An enum indicating what type of Metadata Template this is

 

Currently, only FORM_BASED Metadata Templates are supported

 

We have discussed adding, for example, support for Templates derived from schema.org schema (SCHEMA_REF)

Metadata Template source

An enum indicating where the data to populate the Metadata Template will come from

 

Currently, the only supported source is USER

 

We have discussed adding, for example, the ability to populate a Metadata Template with output from an iRODS rule (RULE) or a combination of rule output and user input (MIXED)

Metadata Template destination

An enum indicating how the metadata will actually be stored on disk

 

Currently, the only supported destination is IRODS, indicating that the metadata will be stored as AVU triples in the iRODS catalog

 

We have discussed adding, for example, the ability to store metadata in an external Postgres database (POSTGRES), as is done in CyVerse

Metadata element JSON Schema

Available in white paper

  • not reproduced here for space/readability

 

A Metadata Template contains the following properties:

  • name
  • i18nName
  • description
  • i18nDescription
  • type
  • source
  • defaultValue
  • validationStyle
  • validationOptions
  • required

Metadata Element validation style

An enum indicating how/if a metadata element will be validated

 

Supported validation styles are the following:

  • DEFAULT
  • IS
  • IN_LIST
  • IN_RANGE
  • IN_RANGE_EXCLUSIVE
  • REGEX
  • FOLLOW_REF
  • DO_NOT_VALIDATE

Metadata Element validation style

An enum indicating how/if a metadata element will be validated

 

Supported validation styles are the following:

  • DEFAULT
  • IS
  • IN_LIST
  • IN_RANGE
  • IN_RANGE_EXCLUSIVE
  • REGEX
  • FOLLOW_REF
  • DO_NOT_VALIDATE

Supported Metadata Element types

  • RAW_STRING
  • RAW_TEXT
  • RAW_URL
  • RAW_INT
  • RAW_FLOAT
  • RAW_BOOLEAN
  • RAW_DATE
  • RAW_TIME
  • RAW_DATETIME
  • REF_IRODS_QUERY
  • REF_IRODS_CATALOG
  • REF_URL
  • LIST_STRING
  • LIST_INT
  • LIST_FLOAT

Components of the Metadata Template architecture

Parser

  • Generates MetadataTemplate POJOs from JSON and vice versa

 

Validator

  • Validates Metadata Templates and Elements

 

Resolver

  • Handles find/list/CRUD operations on template files

 

Exporter

  • Saves populated Metadata Templates to permanent metadata store

Metadata Templates + FormBot in use

Metadata Templates

By iRODS Consortium

Metadata Templates

  • 1,932