OLAC Implementers' FAQ

Answers to Frequently Asked Questions about Implementing an OLAC Metadata Repository

  1. Is it required that an OLAC metadata repository describe an archive?
  2. What do the records in an OLAC metadata repository represent?
  3. How do I get started on implementing an OLAC metadata repository?
  4. How do I decide what to treat as an individual item?
  5. How do I create records for a web database?
  6. Where can I find good examples of sample metadata records?
  7. How do I decide if I should implement a static repository or a dynamic repository?

Implementing a static repository

  1. How would I create and maintain a static repository by hand?

Registering and improving a repository

  1. How do I register my repository with OLAC?
  2. How do I improve the quality of the metadata in my repository?
  3. What do I do when I want to update the information in my repository?

General questions

Some general questions are answered in the general OLAC FAQ.


Is it required that an OLAC metadata repository describe an archive?

In the prototypical case, a participating institution is an archive that curates language resources. In this case, the OLAC metadata repository it implements is a catalog of its archival holdings. (Participants that operate such archives can be identified by the presence of the element in the description that is part of the Identify response of their repository.) But operating an archive is not a requirement. The mission of OLAC is to create a “worldwide virtual library of language resources” and anyone who can contribute useful information to the catalog of known language resources is invited to do so. This may include contributions from individuals rather than institutions. It may also include metadata repositories that are indexes to language resources supplied by others or that describe entry points into an online database of language-related information.

What do the records in an OLAC metadata repository represent?

Each record in an OLAC metadata repository represents a language resource that the participating archive wants to inform the world about. The resource could be a physical object like a book, a wax cylinder or a box of unpublished field notes. In such cases, the metadata record allows potential users to discover that the resource exists. When the resource is a digital object that is posted on the web (such as a document, a corpus of recordings, a database or a software program), then the metadata record can go a step further to provide access to the resource by supplying the URL in the dc:identifier element. The record need not describe resources that the contributor actually has under archival control. For instance, a record could be an annotated bibliography entry in which the contributor has added value to the basic citations by supplying a description and subject classification. Or a record could describe a web page that is an index page giving links to language resources that are posted on other websites.

How do I get started on implementing an OLAC metadata repository?

An OLAC metadata repository is essentially a set of language resource descriptions. A good place to start is to look at the OLAC Metadata Usage Guidelines to learn how OLAC describes language resources. That document defines and illustrates each of the possible elements of a language resource description. It will be helpful at the same time to be looking at examples of complete metadata records from existing OLAC participants. A key decision you must make before you can begin implementing is to decide what to treat as an individual item. As you are looking at examples from other OLAC participants, make note of records that match your situation and which you could use as models for resource description in your repository. However, rather than simply using an existing record as a template for your own records, you should evaluate it against OLAC’s best practice recommendations for language resource description. In the process you may discover ways to improve the quality of the metadata records you will produce.

Once you have a good idea of what the records in your repository will be like, the next step is to read carefully the OLAC Repositories standard. You will see that it defines two approaches, implementing a static repository versus a dynamic repository. You need to decide which kind of repository to implement, then focus on the corresponding section of the OLAC standard. If you are implementing a static repository, you will want to look at the more complete Specification for an OAI Static Repository which is the standard from the digital library community that the OLAC standard is based on. When you are ready to begin implementing, you may follow the instructions for creating a repository by hand.

Similarly, if you are implementing a dynamic repository, you will need to consult the complete specification of the Open Archives Initiative Protocol for Metadata Harvesting.

How do I decide what to treat as an individual item?

The OLAC Repositories standard addresses this issue in a section on Guidelines concerning relevance and granularity. The basic guideline is this: “A metadata repository should treat resources with a single provenance as constituting a single unit with respect to OLAC metadata and should, therefore, describe them within a single record.” For published resources, the publication unit typically constitutes the appropriate unit for the OLAC metadata record. For unpublished papers presenting findings of research, these closely parallel typical published works, and can be treated at a comparable level in an OLAC metadata record. For primary source materials (e.g., recordings, transcriptions, annotations, notes, data sets), the typical practice of archivists is to gather such materials into collections based on shared provenance—this is, based on having a common origin and history. These collections are then the primary units for metadata description, resulting in OLAC records of DCMI Type Collection. See the section on Granularity of resources in the OLAC Metadata Usage Guidelines for a more in-depth discussion of the principle of provenance as applied to collections and metadata within the OLAC context.

How do I create records for a web database?

There are many valuable language resources that are underused because they are part of the Deep web (that is, the portion of the Internet that is obscured from discovery by general search engines because the resources are in a database that is accessible only via a search interface on its host site). Such resources can be brought to the indexable web by creating OLAC records for them, since it is a built-in service of OLAC to convert every record into a page that gets crawled by web spiders.

The only requirement on a web database for using an OLAC repository to expose and access its language resources is that it have publicly accessible URLs for the resources. These often involve a base URL that uses parameters to provide arguments to a query. For instance, the resources in the LINGUIST List Language Resources repository and the ODIN: Online Database of Interlinear Text repository are dynamic pages that generate a listing of everything held in the database about a particular language; the ISO 639-3 code for the language is a parameter to the URL that is given in the dc:identifier element of each record. (Click the “Records in Archive” link on the referenced Archive Details pages to see sample records.)

Where can I find good examples of sample metadata records?

The following are good examples of records for different kinds of resources:

The Metadata Usage Survey tool may be used to see examples of how individual metadata elements have been used throughout the OLAC catalog. Note, however, that many uses do not conform to best practice recommendations. A good way to use the tool is to identify ways of using elements that do conform to best practice and then click on the link for the number of occurrences to see a list of the records in which it has been used in this way. It is often helpful to see these elements in context to get ideas of how best to use them in complete metadata records.

How do I decide if I should implement a static repository or a dynamic repository?

There are two basic approaches as laid out in the OLAC Repositories standard. The first is to build a static repository. In a static repository, the entire catalog for the repository is expressed in a single XML file that contains all of the metadata records. This is the simpler of the two approaches and can be used when the repository is relatively small—up to approximately 5,000 records. When there is no existing catalog database, the implementer can use an XML editor to create and maintain a repository by hand.

The second approach is to implement a dynamic repository. This approach can be used for a catalog of any size, but when the catalog is larger than 5,000 records, it becomes necessary to use this approach. In a dynamic repository, the implementer writes program code that resides at a base URL on a web site and responds to the requests of the OAI Protocol for Metadata Harvesting in order to provide dynamic access to information in an existing catalog database. The trickiest part about implementing a dynamic repository is that it is necessary to implement flow control using a resumption token mechanism in order to ensure that the responses to individual protocol requests are not exceedingly large. The OAI community considers half a megabyte to be a reasonable response size (which corresponds to about 500 records in a typical repository).

Implementing a static repository

How would I create and maintain a static repository by hand?

For a repository that has only a few records, it is very straightforward to create it from scratch using an XML editor. It also makes sense to build and maintain a larger repository by hand if there is no existing database for the metadata. In essence, an XML editor can be used to create and maintain a static repository as the database.

Implementing a dynamic repository

Set up an OAI-PMH compliant server for you archive’s data and contact us.

Registering and improving a repository

How do I register my repository with OLAC?

Contact us.

How do I improve the quality of the metadata in my repository?

OLAC has defined best practice recommendations for language resource description. You should review a few records from your repository against this list of recommendations to see if there are things you could change in the implementation of your repository (or of the underlying database on which it is based) to follow even more of the recommendations. It is not possible to automate tests for compliance to all the recommendations, so a complete review must be done by hand. If you would like help doing such an audit of metadata quality, contact the OLAC Coordinators.

OLAC has defined metadata metrics to give implementers feedback on how well they have followed those recommendations. The automatic computation of a metadata quality score is subject of the next development phase.

What do I do when I want to update the information in my repository?

Contact us.