Schema Driven Metadata Editor for eResearch

UNDER CONSTRUCTION

This page describes a Schema-driven Metadata Editor (MDE) developed by the eResearch (MAENAD) group to support the editing metadata used in eResearch systems.

Metadata for eResearch information artifacts (e.g. datasets) differs from classical Dublin Core in some important respects:

  • The metadata is largely numeric, and tends to have many more element types. This means that element descriptions, handling of measurement units and precision, and support for consistency rules expressed as constraints are all much more important.
  • At least in the current generation, the metadata schemas are not based on existing schemas, but are being created and are evolving to meet the needs of specific research teams. Supporting schema change is an important part of the metadata problem space.
In this context, the old approach of implementing metadata software to support a small number of fixed schemas does not scale from a software engineering standpoint.

The key innovation of MDE is that it is a schema-driven editor. When the editor loads an XML metadata record to be editted, it uses the records XML namespace and schemaLocation to identify the record's schema. Assuming that the schema is available in an it appropriate form, MDE then uses it to build a Web 2.0 form layout for the metadata. The layout includes the following:

  • Form elements for displaying the existing metadata elements, with type-specific input controls for entering the values. These include such things as number and date validation, and pull-downs for controlled lists.
  • Element descriptions available as hover-text.
  • Controls for creating and deleting elements based on what the schema allows and requires.
When the user decides to save the metadata record, it undergoes complete validation against the schema. The validation process checks that:
  • the elements in the record are all defined in the schema and present in the correct number,
  • the values of the elements satisfy any type restrictions defined by the schemas; e.g. elements defined as integers should consist of digits with an optional leading sign,
  • schema-specific constraints on the record and individual elements are all satisfied.
The schemas used by MDE allow the schema designer to express constraints on metadata that are beyond what XML Schema (XSD) supports. For example, a schema might specify that between 1 and 5 instances of a given element are required, that one element must be present if another is, or that the values of a given collection of elements must add up to 100%.

Implementation Technology

MDE is implemented using Web 2.0 technology. The user interface is web-browser based, and is implemented using Javascript (via the EXT-JS AJAX libraries) and JSP. This is supported by Java servlets that run under Apache Tomcat.

The server side needs to be integrated with a metadata record persistence mechanism, and a metadata schema repository that provides the appropriate kind of metadata schema. The former needs to be implemented as part of the process of integrating MDE into a larger eResearch system. The function latter can be implemented by a separate schema repository or using a light-weight static (read-only) repository deployed as part of MDE itself.

Related work

There are two separate software components that relate to MDE:
  • The Metadata Schema Repository (MDSR) is a Fedora-based schema repository that is designed to fill MDE's immediate requirements. It provides REST-based APIs for storing and retrieving schemas, and a simple web-based user interface for browsing schemas and basic administration.
  • The Metadata Schema Facility (MSF) consists of a GUI-based schema editor for creating schemas in the MSS format used by MDE, and generators for converting these schemas to equivalent XSDs.
Initiatives
Projects
Tools and services
Schema
Schema registries
Journals
Other resources

Metadata.Net is maintained by the MAENAD Project of ITEE at the University of Queensland

Last modified: June 1, 2008