(Introduction to the IEMSR)


Home Background Dissemination Contacts
Phase 1 Phase 2 Phase 3 Phase 4
Tanenbaum Quote

Introduction

A metadata schema registry is potentially a useful tool in the development and maintenance of metadata schemas, APs and element sets. However, the technical language (and organisational culture) common in the metadata development world can be difficult to follow, and occasionally even a little alienating. This page collects together a series of short briefing documents and introductory statements intended for a general audience.

IEMSR in under five minutes

This information is also available in PDF format.

What is the IEMSR?

IEMSR stands for 'Information Environment Metadata Schema Registry'. The IEMSR is a prototype service that is designed to collect and serve information about metadata sets such as: metadata schemas, application profiles, metadata elements and encodings.

Why use a metadata schema registry?

We realise that many people -- not just those who are designing new metadata sets -- are looking for information about metadata. If this is you, if you've ever wondered what happened to the 'Simple' in 'Simple DC', how to build an application profile, or how to express Dublin Core in RDF, then we'd like to hear from you.

New application profiles are developed for all sorts of reasons. Inevitably they use many of the same existing metadata elements. It is not unusual to have a choice of several similar elements for describing a given piece of information. If you are faced with designing a new application profile or vocabulary, you will have to choose which vocabulary elements to use, or whether to create a new vocabulary for your purposes. A place that collects information about metadata makes it easier to find and reuse existing work, improving interoperability and reducing duplication of effort.

That's where the Metadata Schema Registry comes in. It pulls together information from many sources, enables access to data using standard interface APIs such as SPARQL and REST, and provides a means to use that information to review existing metadata sets, and to create new vocabularies, APs and schemas to meet user needs.

If you're designing metadata, the IEMSR project aims to support the full metadata engineering lifecycle, from requirements collection to evaluation via development. If you're using metadata, we can provide documentation in an easy-to-embed machine-readable XML-based format.

We believe that services succeed or fail based on their relevance to users. As IEMSR develops, it will benefit from taking your use cases and wishes into account. Your feedback and experience are invaluable.

IEMSR for developers: a brief introduction

As a developer of metadata schemas, application profiles or metadata elements, the existing metadata development tools within the IEMSR may be of use. Developers making use of metadata may find that directly accessing the information within the IEMSR using the SPARQL API will allow useful mash-ups to be built.

What is a SPARQL API?

The information in the IEMSR is stored in RDF, the W3C Resource Description Framework. It may be searched using the IEMSR's API (application programming interface). There are several ways to access and search this database, but the most commonly used approach is via the SPARQL interface. SPARQL is one of several RDF query languages; the name stands for Simple Protocol and RDF Query Language.

A sample SPARQL query that can be run on the IEMSR's database is given below. This example searches for Dublin Core Application Profiles, and retrieves some information about them. To see the effect of running this code on the new IEMSR endpoint, click here.

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX iemsr: <http://www.ukoln.ac.uk/projects/iemsr/terms/> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT $n $title $description $administrator $administratorURI 
$definedBy $specifiedBy $ch $chid $chidname
WHERE { 
	$n rdf:type iemsr:DCAP . 
	$n dc:title $title . 
	$n dc:description $description . 
	$ch iemsr:isMemberOf $n
	$ch rdf:type iemsr:PropertyUsage .
	$ch iemsr:uses $chid .
	$chid rdfs:label $chidname .

	OPTIONAL { $n dc:publisher $administratorURI . }
	OPTIONAL { $administratorURI rdfs:label $administrator . }
}

Further information about SPARQL is available at:
<JENA SPARQL tutorial>
<McCarthy, Philip (2005). Search RDF Data with SPARQL.>