Functional Requirements for CORES Schema Creation and RegistrationToolFinal version, 2002-11-04Rachel Heery, UKOLN | ![]() |
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].
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.
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:
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.
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.
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.
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.
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:
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:
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:
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
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
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.
A commentator wants to annotate an element with usage notes and comments regarding a scheme outlining experience gained in using that scheme.
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:
Figure One: CORES data model
|
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". |
|
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 |
|
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 |
|
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 |
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. |
|
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 |
|
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 |
|
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 |
|
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 |
The tool should allow a user to create, maintain and remove resource descriptions which they own within the CORES registry.
[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/
Web page by Rachel Heery of UKOLN.