Dublin Core is for initial discovery

I have heard people say, “MyLibrary is cool, but I can’t stuff all my data into its Dublin Core-based database structure.” When I hear I feel people don’t get the point; MyLibrary is not intended to contain all of your metadata, just the metadata primarily useful for initial discovery.

Once again, the framework of MyLibrary supports resources, people (librarians and patrons), and a simple controlled vocabulary scheme of your own design (facet and terms). The structure of resource objects is very Dublin Core-esque. There are additional attributes of resource objects that lend themselves very well as pointers to outside objects. FKey attributes and location objects come to mind. Save much of your metadata in MyLibrary, and point to the full record somewhere else.

Suppose then you had a set of MARC records (or XML files) and you wanted to use them as the foundation of our resource objects. You could implement a cross-walk from MARC to Dublin Core to MyLibrary. This would only give you some of the rich MARC data. Suppose too you knew exactly where an individual MARC record resided on your file system. You could then save this location as an FKey attribute. Next, you could full-text index your MARC records. Search results could return what ever you desired (titles, authors, etc.) or they could return MyLibrary resource ids or FKey values. Given this you could retrieve the full MARC record from the file system for final display.

“Okay,” you say, “but why, in this case, use MyLibrary at all?” The answer lies in the fact that there is more to digital libraries than search (indexing). You might want to create a browsable interface to your collection. That is a report against your database, not your index. You might want to create an OAI repository against your collection. That is another report against your database. You might want to transform your entire collection into another format, say for example, a printed catalog. (Heresy!) You might want to create relationships between different objects (resources to resources, resources to patrons, patrons to librarians, librarians to resources, etc.). All of these things are data manipulation function — functions for your database.

MyLibrary is not expected to be container for all your data. It is intended to save information about resources and people. Yes, the Dublin Core elements are limiting, but they are not useless. You do not need to save each and every metadata element of each and every resource object in a MyLibrary resource object, just the most important ones, and I assert those important once will almost always boil down to Dublin Core elements.

Discussion Area - Leave a Comment

You must be logged in to post a comment.