Functional Requirements for CORES Schema Creation and RegistrationTool

Final version, 2002-11-04

Rachel Heery, UKOLN

UKOLN logo

Background

The ambition of the CORES project is to build consensus on a shared data model for the declaration of element sets and application profiles. Such a shared data model would facilitate the re-use of existing schemas by other services, projects and initiatives. In order to further this ambition, CORES is implementing a schema creation tool which will work interactively with a complementary schema registry. Both will be based on the same data model to enable implementors to create schemas, register the schemas, then make them available for re-use by other implementors.

Development of the CORES schema creation tool and registry build on work carried out within the UK MEG Registry project [1]. CORES builds on the data model and functional requirements [2] developed in that project, and enhances the existing software in order to provide an appropriate tool for use by a range of schema implementors. In addition CORES will explore the use of annotations within the Registry to convey information about the deployment and use of element sets and application profiles. Previously, within the SCHEMAS [3] prototype registry, such information had been structured in a more formal manner as activity reports submitted by experts to a central administrator for input to the Registry.

The CORES project will implement a de-centralised, distributed mode whereby more informal comments can be added by authenticated users as 'annotations' to the Registry.

CORES is collaborating closely with the MEG Registry work in the UK and the DCMI Registry work [4] which is being undertaken as part of the international Dublin Core Metadata Initiative. In addition CORES partners have been involved in discussion with the W3C Semantic Web activity [5] regarding the use of RDF Vocabulary Description Language [6] to express schemas. Both the CORES and the MEG Registries build on previous activity within the DESIRE and SCHEMAS projects which established data models for declaring schemas and local usage within a schema registry, and implemented prototype registries[7] [8] [9].

Back to the top

Summary of Requirements

The primary purpose of the schema creation tool is to provide the means for non-experts to declare their schemas according to the RDF schema specification. The schema creation tool must enable a structured RDF schema to be produced identifying and defining:

The schema creation tool must be suitable for use by non-experts to enter information about these entities.The schema creation tool should allow the owners of this information to create and maintain schemas in a convenient way. These tools should allow the user to focus on the structure and semantics of the descriptions they create and manage and should insulate them from, for example, details of the XML syntax of the schemas. A generic "node and arcs" representation may not be the most useful "view" for the users of this tool, and consideration should be given to presenting table-/text- based views which may be more familiar to this constituency.

The information must be output in a form suitable for registration in the CORES registry, though it may be necessary to supplement the information input by the schema creator in order to record attributes of these resources required for the registry.

The information about these resources must also be stored locally to the schema creation tool in machine-processable form as RDF schemas, which may be distributed on the Web. The owners of schemas may wish to make them available to other applications independently of the SCHEMAS registry, and the tool should support this. The W3C Resource Description Framework (RDF) recommendation provides a general data model for expressing this information, and conventions for representing those descriptions in XML. RDF Schema defines a basic vocabulary which can be used to describe these types of resource.

Devolving the management of this information introduces questions of how to establish "trust" in the information content presented by the registry. Sufficient "administrative metadata" should be recorded and made available so that a registry might ensure it can record by whom assertions were made, and when.

Purpose of the CORES Registry system

The variety of new and emerging Web based services and initiatives have adopted or developed a number of different metadata Element Sets or vocabularies for the description of the resources on which their services are based. CORES intends to encourage sharing of metadata semantics, and will provide a metadata schema registry [10] to facilitate the 'publication' of metadata schemas. Such a registry is intended to help implementors of information projects and services find out about metadata terms in use (both official definitions and local variations) to encourage harmonisation of metadata usage within particular fields and applications.

In order to facilitate building such a registry the descriptions and definitions of these Element Sets need to be made available in machine-processable form as Schemas. The purpose of the schema creation tool is to enable implementors to 'publish' their schemas so that they can be registered, either in the CORES registry or elsewhere. Additionally the schemas may be used in other applications, either locally or remotely. The registry provides a publication environment in which the developers and implementers of education-related metadata schemas can disclose information on schemas and on their use.

The CORES registry is more than a "dictionary" of the Elements described by schemas: fundamental to the registry is the recognition that implementers deploy and adapt "standard" Element Sets in a pragmatic way. While "standard" schemas are widely available, these use-oriented adaptations, which are often localised and service-specific, tend to be less visible. Researchers on schema usage have introduced the idea of the "Application Profile" as a means of capturing this information on adaptations and constraints of Element Set usage. [11]

Such differentiation in the use of schemas brings a cost in terms of interoperability between systems that deploy them, and unnecessary variation should be avoided where possible. Making such variation visible by means of a schema registry

Users of the registry might include:

Back to the top

Scope/content of the CORES Registry system

The registry will provide access to information on [12]

This information is stored and made available in machine-processable form as schemas. As far as possible, the information above should be expressed using "standard" (or at least widely understood) semantic vocabularies, such as RDF Schema and the Element Sets of the DCMI. It is recognised, however, that some information used by the registry will require the use of additional vocabularies.

One of the limitations of the current SCHEMAS registry is the absence of an interface to allow the owners/maintainers of schemas to manage the relevant entries within the registry. It is not scaleable for schemas to be entered into the registry centrally, by hand. Implementors need to create schemas for their Element Sets and Application Profiles in order to submit them to the registry. It should be possible for the schema creators to store a copy of that schema, serialised in a form compatible with Web metadata standards, which they can make available - independently of the CORES registry - for reuse by other applications, which may include other metadata schema registries.

Back to the top

Structure and use of the CORES Schema Creation tool

The primary user community for the CORES schema creation tool are implementors of Web based systems working within EC projects, particularly in areas related to the Semantic Web activity. This document has been drafted with the interests of this community in mind. However, it is hoped that this tool will be of interest to the broader community working with metadata schemas for the description of Web resources, in particular schema researchers, developers and implementers. It would be valuable if, during development, consideration could be given to the potential for reuse of existing tools and future re-purposing of the tool by this broader community.

The CORES registry system can be separated into components:

The schema creation/registration tool will need to exchange data with the registry to perform these functions. If the interfaces to the registry can be created in standardised forms and supporting documentation provided, that would enhance the possibility for the reuse of these tools and facilitate interoperability with other tools developed independently.

The commentary tool will be integrated within the Registry.

The registry

Users of the CORES registry will include

The registry should:

The "source" schemas may be distributed at various locations on the Web, and the registry must provide support for re-reading and re-indexing any of those descriptions as they are updated by their owners. Those owners will update their schemas using the schema creation and registration tool.

This devolved model may require some form of basic authentication/authorisation mechanism to ensure that the maintainers of this information can edit only those units of information in the registry which they "own". Sufficient "administrative metadata" should be recorded and made available so that a user browsing this information can see by whom assertions were made, and when, regarding element sets, application profiles, and annotations.

The schemas contain descriptions of instances of various classes of resource (Element Sets, Elements, Element Usages etc). Specific types of relationship exist between instances of these different classes of resource. The interface through which human readers of the registry access this information should make these relationships clear to the reader and should allow them to navigate those relationships, for example, via hypertext links. In displaying information about resources, the registry should apply appropriate "labels" in preference to displaying URIs of properties or resource classes.

Back to the top

The schema creation and registration tool

Users of the schema creation/registration tool will include:

The schema creation/registration tool should allow a human user

The user interface to this tool should allow the user to focus on the structure and semantics of the descriptions they are managing; as far as possible, it should insulate them from the syntax of the machine-readable forms of those descriptions. As in the case of the registry interface, the "labels" of properties and classes should be displayed in preference to their URIs wherever possible. Further, many schema creators within CORES have a limited familiarity with the concepts and terminology used in association with the RDF model, and it will be important to provide interfaces which take that limitation into account. A "view" of an "Element Set" as a table of "Elementss" will be more intuitive than a graphical representation based on nodes and arcs, for example. Ideally the tool would provide the flexibility to render different views for different groups of user.

In constructing an "Application Profile", a core part of the task is to establish relationships to existing descriptions of resources within the registry e.g. a profile "uses" Elements from existing Element Sets and may associate them with existing Encoding Schemes. In such cases, the interface should allow the user to do so in a manner which is intuitive and simple to use, but which maintains the integrity of relationships between resources. e.g. the tool might present views of the appropriate resources available within the registry, from which the user can select the relevant items.

As noted above, the registry is not a closed system, and the schema creation and registration tool should permit a user to store their descriptions as RDF/XML documents so that they might be used for purposes other than submission to the registry.

Back to the top

Use Case 1: Publishing a description of a Element Set

An EC project provides a resource discovery service for Web-based educational materials. That service utilises a simple metadata schema developed specifically for that purpose. The organisation wishes to publish this information to the wider community via the CORES registry.

To publish requires the following steps. The Element Set publisher:

  1. Uses the Schema Creation and Registration Tool (SCART) to add Agency description (if not already present)
  2. Submits new Agency description to registry
  3. Uses SCART to add Namespace/Element Set description
  4. Uses SCART to add Element/Term descriptions for Element/Terms in Namespace/Element Set, including association of Element/Term with Encoding Scheme(s) where appropriate
  5. Submits new Namespace/Element Set and Element/Term descriptions to registry
  6. May check results by browsing Namespace/Element Set descriptions via registry Web interface

Use Case 2: Publishing a description of an Application Profile

An EC project provides a resource discovery service for Web-based educational materials. That service utilises a simple metadata schema developed specifically for that purpose. The schema uses a number of Elements drawn from the cross-domain Element Sets of the Dublin Core Metadata Initiative; a domain-specific Element that was created by another portal service for their own schema; and a number of new Elements specific to this service. The organisation has developed a number of controlled vocabularies for several of the Elements in this schema; the service also specifies the use of some standardised forms for dates and identifiers within metadata instances. The organisation wishes to publish this information to the MEG community via the registry.

In the terms of the registry data model, this organisation's schema is an Application Profile. To publish requires the following steps. The Application Profile publisher:

  1. Uses the the CORES Schema Creation Tool to add Agency description (if not already present)
  2. Submits new Agency description to registry
  3. Uses SCART to add Namespace/Element Set description
  4. Uses SCART to add Element/Term descriptions for Element/Terms in Namespace/Element Set, including association of Element/Term with Encoding Scheme(s) where appropriate
  5. Submits new Namespace/Element Set and Element/Term descriptions to registry
  6. May check results by browsing Namespace/Element Set descriptions via registry Web interface.

Use Case 3: Indexing a standard schema for a Element Set

An international standards body makes schema for their cross-domain Element Set available in RDF/XML on their Web server. European implementors wish to "use" Elements from the Element Set in their Application Profiles.

Either the representative of standards body or the registry administrator:

  1. Uses the CORES Schema Creation Tool to add Agency description (if not already present) ).
  2. Submits new Agency description to registry
  3. Uses the CORES Schema Creation Tool to add Element Set description (assumes external schema on Web does not contain required data)
  4. Requests registry to read Element descriptions from URL
  5. May uses the CORES Schema Creation Tool to enhance Element descriptions for registry-specific data (or may leave incomplete)
  6. Submits updated Element descriptions to registry
  7. May check results by browsing Element Set descriptions via registry Web interface .

Back to the top

Use Case 4: Exploring Element Usage

A schema developer wishes to survey the usage of the DCMI "audience" element, and particularly the use of any controlled vocabularies to control values of this element.

The developer

  1. Browses Elements via registry Web interface
  2. Displays description of Element "dcterms:audience", which includes pointers to the Encoding Schemes associated with the Element, and pointers to its usage by various Application Profiles
  3. Follows references to Element Usage descriptions, which included descriptions of how implementers have constrained the use of the Element, including the prescription of other Encoding Schemes

Use Case 5: Creating annotations

Schema Creator creates a schema using CORES schema creation tool and registers it in CORES Registry. They then want to annotate the schema with information about the number of implementations, domains in which this schema is deployed, and pointers to user guidelines.

The schema creator

  1. Browses element sets via Registry web interface
  2. Displays details of the chosen element set
  3. Adds an annotation

A schema creator searches the registry and displays an element set, then is interested in whether this schema is currently being maintained. He browses each annotation associated with the schema, looking in particular at the names of the annotator and associated organisation.

  1. Display details of chosen element sets
  2. Display annotations

A commentator wants to annotate an element with usage notes and comments regarding a scheme outlining experience gained in using that scheme.

Back to the top

The CORES Schema Creation Tool data model

A graphical outline of the classes of resource described and the relationships between instances is provided below. This section outlines the attributes/properties of instances of these classes. It is based on the data model for the MEG registry [2] and also draws on the work of the SCHEMAS project [13] .In particular, it adopts the recommendation of Baker et al that "Element Usages" should be modeled as resources in their own right. [14]

An Application Profile defines a set of Element Usages of Elements drawn from one or more Element Sets. Such a Element Usage may:

In the tables below, the prefixes used in property names are associated with XML Namespaces as follows:

CORES data model

Figure One: CORES data model

Agency attributes/properties

Back to the top

Label

Property name

Comments

 

Identifier

(rdf:about)

Agency

Name

reg:agencyName

The name or title of the Agency

Agency Homepage

reg:agencyHomepage

The URL of a document which provides more information about the Agency, typically an organisational "home page".

4.2 Element Set attributes/properties

Label

Property name

Comments

Help text

Identifier

(rdf:about)

Name of Element Set

dc:title

The name or title of the Element Set

Version

reg:version

The version of the Element Set.

Creation date

dcterms:created

Date this version created

Status

reg:status

Status of Element Set.

Description

dc:description

Description of Element Set, including any notes of scope/purpose.

Classification

reg:classification

Classification of use of this Element Set

Responsible Agency

reg:responsibleAgency

Publisher of Element Set

Pointer to resource of type Agency

XML Namespace Name

reg:xmlNamespace

XML Namespace name/URI associated with this Element Set

XML Namespace prefix

reg:xmlNamespacePrefix

??Prefix to be used in instances using this Element Set

Specification

reg:specification

URL of prose description of/guidelines for use of Element Set

Back to the top

4.3 Element attributes/properties

Label

Property name

Comments

Help text

Identifier

(rdf:about)

Name of Element

rdfs:label

A human-readable version of the property name

Definition

rdfs:comment

A statement that clearly represents the concept and essential nature of the Element

Comment

reg:useComment

A remark concerning the application/use of the data element

Data type

reg:datatype

Indicates the type of data that can be represented in the value of the data element

Obligation

reg:obligation

Indicates whether the Element is always or sometimes required to be present

Maximum occurrence

reg:maximumOccurrence

Indicates any limit to the repeatability of the Element

Associated Encoding Scheme

reg:associatedEncodingScheme

An Encoding Scheme which specifies constraints on the value of this Element

Repeatable. Pointer to resource of type Encoding Scheme

Refines

rdfs:subPropertyOf

An Element of which this Element is a "refinement" [DC]

Pointer to resource of type rdf:Property

Element Set

reg:isElementOf

An Element Set of which this Element is part

Pointer to resource of type Element Set

Back to the top

4.4 Encoding Scheme attributes/properties

Label

Property name

Comments

Help text

Identifier

(rdf:about)

Name of Encoding Scheme

rdfs:label

The name or title of the Encoding Scheme

Version

reg:version

The version of the Encoding Scheme.

Creation date

dcterms:created

Date this version created

Status

reg:status

Status of Encoding Scheme.

Description

rdfs:comment

Description of Encoding Scheme, including any notes of scope/purpose.

Classification

reg:classification

Classification of use of this Encoding Scheme

Responsible Agency

reg:responsibleAgency

Publisher of Encoding Scheme

Pointer to resource of type Agency

Specification

reg:specification

URL of prose description of/guidelines for use of Encoding Scheme

Back to the top

4.5 Value attributes/properties

An Encoding Scheme is a rdfs:Class. Values are instances of resources of that Class.

Label

Property name

Comments

Help text

Identifier

 

Value

rdf:value

The value of a term in an Encoding Scheme

Label

rdfs:label

The human-readable form of the value of a term in an Encoding Scheme

Description

rdfs:comment

Description

Encoding Scheme

rdf:type

An Encoding Scheme of which this value is part.

Pointer to resource of type Encoding Scheme.

Back to the top

4.6 Application Profile attributes/properties

Label

Property name

Comments

Help text

Identifier

(rdf:about)

Name of Application Profile

dc:title

The name or title of the Application Profile

Version

reg:version

The version of the Application Profile.

Creation date

dcterms:created

Date this version created

Status

reg:status

Status of Application Profile.

Description

dc:description

Description of Application Profile, including any notes of scope/purpose.

Classification

reg:classification

Classification of use of this Application Profile

Responsible Agency

reg:responsibleAgency

Publisher of Application Profile

Pointer to resource of type Agency

Associated XML Schema

reg:associatedXMLSchema

XML Schema associated with this Application Profile

Specification

reg:specification

URL of prose description of/guidelines for use of Application Profile

Back to the top

4.7 Element Usage attributes/properties

Label

Property name

Comments

 

Identifier

(rdf:about)

Uses

reg:uses

An Element which is used in the context of this Application Profile.

Pointer to resource of type rdf:Property

Name of Element Usage

rdfs:label

A human-readable version of the property name, when used in the context of this Application Profile.

Definition

rdfs:comment

A statement that clearly represents the concept and essential nature of the Element, as used in this Application Profile.

Comment

reg:useComment

A remark concerning the application/use of the Element, when used in the context of this Application Profile.

Data type

reg:datatype

Indicates the type of data that can be represented in the value of the Element, when used in the context of this Application Profile.

Obligation

reg:obligation

Indicates whether the Element is always or sometimes required to be present, when used in the context of this Application Profile.

Maximum occurrence

reg:maximumOccurrence

Indicates any limit to the repeatability of the Element, when used in the context of this Application Profile.

Associated Encoding Scheme

reg:associatedEncodingScheme

An Encoding Scheme which specifies constraints on the value of this Element

Repeatable. Pointer to resource of type Encoding Scheme

Application Profile

reg:isUsageIn

An Application Profile of which this Element Usage is part

Pointer to resource of type Application Profile

Back to the top

4.8 Annotation attributes/properties

Label

Property name

Comments

 

Identifier

(rdf:about)

 
Annotates reg:annotates

The name or title of the resource that is topic of commentary

 
Body reg:body The body of this annotation  
Type reg:type The type of this annotation
Acces reg:access Who can access this annotation  
Creator reg:creator The creator of this annotation  

Date

reg:date

The date of creation of this annotation

 

Back to the top

4.9 Commentator attributes/properties

Label

Property name

Comments

 

Identifier

(rdf:about)

User reg:user

Name of person creating commentary

User's Organisation

reg:userOrg

User's organisation
Password reg:password This user's password
User's Name reg:userName This user's name
User's E-mail reg:userEmail This user's e-mail address

Back to the top

Creating and editing schemas using the CORES schema creation tool

The tool should allow a user to create, maintain and remove resource descriptions which they own within the CORES registry.

Add Agency description

Edit/Update Agency description

Remove Agency description

Add Element Set description

Back to the top

Edit/Update Element Set description

Remove Element Set description

Add Encoding Scheme description

Edit/Update Encoding Scheme description

Remove Encoding Scheme description

Back to the top

Add Application Profile description

Edit/Update Application Profile description

Remove Application Profile description

6. Creating and editing annotations

Add commentator description

Edit commentator description

Add annotation description

Edit annotation description

Remove annotation description

Delete annotation

Back to the top

7. Notes and references

[1] MEG Registry project.
HTML: http://www.ukoln.ac.uk/metadata/education/regproj/

[2]Johnston, Pete, Functional Requirements for MEG Registry
HTML:http://www.ukoln.ac.uk/metadata/education/regproj/funcreq/

[3] Schemas project.
HTML: http:www.schemas-forum.org

[4] DCMI Registry.
HTML: http://dublincore.org/dcregistry/

[5] W3C Semantic Web Activity Group.
HTML: http://www.w3.org/2001/sw/

[6] RDF Vocabulary Description Language 1.0: RDF Schema. W3C Working Draft 30 April 2002 (Work in Progress).
HTML: http://www.w3.org/TR/rdf-schema

[7] DESIRE Registry
HTML: http://www.desire.ukoln.ac.uk

[8] Heery, Rachel, Tracy Gardner, Michael Day & Manjula Patel, DESIRE metadata registry framework
HTML: http://www.desire.org/html/research/deliverables/D3.5/

[9] The SCHEMAS Forum Registry
HTML: http://www.schemas-forum.org/registry/

[10]For a contextual definition of 'Registry' see The SCHEMAS Forum : A Retrospective Glossary
HTML: http://www.schemas-forum.org/info-services/d74.htm

[11] Heery, Rachel & Manjula Patel, Application Profiles: mixing and matching metadata schemas Ariadne 25. Sept 2000.
HTML: http://www.ariadne.ac.uk/issue25/app-profiles/

[12] This is a subset of the information managed within the current prototype SCHEMAS registry, which uses the model developed by the DESIRE project. The model suggested here excludes support for the capacity to group Element Sets by "Namespace Concept" and for the capacity to describe "Value Components" for an Encoding Scheme. Activity reports are modelled as Annotations.

[13] The SCHEMAS Forum Registry : sample RDF encodings of Application Profiles
HTML: http://www.schemas-forum.org/registry/schemas/

[14] Baker, Thomas, Makx Dekkers, Rachel Heery, Manjula Patel and Gauri Salokhe, What terms does your metadata use? Application profiles as machine-understandable narratives, Journal of Digital Information Volume 2 Issue 2 (Nov 2001)
HTML: http://jodi.ecs.soton.ac.uk/Articles/v02/i02/Baker/

[CORES] | [SCHEMAS] | [MEG]

Back to the top


Web page by Rachel Heery of UKOLN.