Just for fun, try Ockham Spell just before it is retired and taken off the 'Net 
-- http://spell.ockham.org/?word=origami

In 2005 I worked with Jeremy Frumkin, Martin Halbert, and Ed Fox on a NSF grant 
to implement a set of Web Services for libraries. I implemented three services: 
an alerting service, an implementation of MyLibrary, and a spelling suggestion 

Well, for various reasons it is long past time to take these services down, but 
before they go I'd like to highlight the spell service. Given a string (a 
word), the service will query locally configured dictionaries and return 
alternative spellings for the given word. Some of the dictionaries were 
pre-created. Others were generated from collected OAI-PMH servers. We used 
swish-e as an underlying indexer, and we used dict as the data store. What's 
really cool is that after all these years -- and with zero maintenance -- the 
service is still functional. Sure, no body ever uses it, but it works just the 

The code for the three services is located on Google code, and a couple of the 
services are documented in DLIB Magazine:

  * Ockham Alert (http://code.google.com/p/ockham-alert/) - Ockham Alert is 
written in Perl and prefers MySQL as its database back-end and swish-e as its 
indexer. Access to the index is through a Web Services protocol called SRU 
(Search/Retrieve via URL). Outputs from the service include HTML, RSS, and 
email messages. This system was implemented as a part of National Science 
Foundation grant (DUE-0333601) called OCKHAM Library Network, Integrating the 
NSDL into Traditional Library Services.

  * Ockham MyLibrary (http://code.google.com/p/ockham-mylibrary/) - 
Mylibrary@Ockham is a system for providing access to indexes of OAI-accessible 
content. It is written in Perl in conjunction with a number of other open 
source technologies including MySQL, GNU Aspell, and Wordnet. In a nutshell it 
works by harvesting data from OAI repositories, saving the resulting data to a 
(Mylibrary) database, indexing the content using Plucene, enhancing the 
database through a term frequency-inverse document frequency (TF-IDF) 
technique, providing access to the index via an SRU (Search/Retrieve via URL) 
server, and enhancing search results by providing alternative spellings and 
synonyms to query words. 

  * Ockham Spell (http://code.google.com/p/ockham-spell/) - Given a word and 
the name of a domain-specific dictionary, this system will return alternative 
spellings for the word. Results are returned in an XML stream, and they are 
expected to be fed to the front-end of an index for query expansion. This 
system was implemented as a part of National Science Foundation grant 
(DUE-0333601) called OCKHAM Library Network, Integrating the NSDL into 
Traditional Library Services.

  * Exploiting "Light-weight" Protocols and Open Source Tools to Implement 
Digital Library Collections and Services by Xiaorong Xiang and Eric Lease 
Morgan (http://www.dlib.org/dlib/october05/morgan/10morgan.html) - This article 
describes the design and implementation of two digital library collections and 
services using a number of "light-weight" protocols and open source tools. 
These protocols and tools include OAI-PMH (Open Archives Initiative-Protocol 
for Metadata Harvesting), SRU (Search/Retrieve via URL), Perl, MyLibrary, 
Swish-e, Plucene, ASPELL, and WordNet. More specifically, we describe how these 
protocols and tools are employed in the Ockham Alerting service and 
MyLibrary@Ockham. The services are illustrative examples of how the library 
community can actively contribute to the scholarly communications process by 
systematically and programmatically collecting, organizing, archiving, and 
disseminating information freely available on the Internet. Using the same tech!
 niques described here, other libraries could expose their own particular 
content for their specific needs and audiences.

Fun with code!

Eric Lease Morgan

Reply via email to