MLZ: citation-to-case in two clicks

Zotero Opensearch page

In preparation for a short talk at the upcoming Code4Lib Japan meeting, I have been easing back from several years of (perhaps excusable) obsession with citation patterns and screen scraping, and reflecting on how to pitch MLZ to a local audience of information professionals. It’s a real shift of gears. The immediate objective is to avoid coming across as a hobby programmer with a bee in his bonnet, but I will very soon be back at the research chalkface myself, so there is also some more mature self-interest in the mix. The Code4Lib event will be attended by trained library programmers,[1] and I will want to learn as much as I can from their experience. Getting a loose grip on what the world of published resources looks like to a librarian seems like a prudent place to start with that plan.

These ruminations drew me back to an idea that I had several years ago, to explore ways of supporting legal research through Zotero’s Locate Manager. This is essentially just a small amount of clever glue code that allows MLZ or Zotero to import a predefined openSearch template, and use that as the basis of automated queries based on the metadata of a specific item in the local database. The query is fired off, and the browser takes care of the rest. I hadn’t taken the time to figure this out, and it struck me at the time that harnessing it for legal resources would be one of those Big Projects—something calling for Fundraising, Team Building Efforts, Management Skills and Serious Knowledge of XML—something to be addressed at an ill-defined point in the future, when nature blesses me with ample free time and a skill set well beyond anything I am likely to muster in this lifetime.

Zotero search engine menu

To my vast and utter surprise, it was actually quite simple to set up a basic openSearch resolver bridge in MLZ. You are looking at one now, in fact: if you have Firefox with Zotero or MLZ installed, open the client browser pane over this page using Shift-Ctrl-Z [2] and click the Locate Manager button as shown in the illustration to the right. The Add “Google Scholar (court judgments)” menu item will extend the Locate Manager with a simple resolver that searches for cases on Google Scholar based on their title. A bit of a letdown after the buildup in the first two paragraphs of this post, I know, but that really is all there is to it.

Zotero search engine use

Using the newly added resolver is another dose of anti-climax. Click on the Locate button after selecting a Case item in MLZ and choose the Google Scholar (Law) option from the pulldown menu. If there is a case by that name in Google Scholar, it will open in the browser. The resolver is defined according to the openSearch standard, and it’s not particularly an MLZ thing: it can be installed in mainstream Zotero as well, following exactly the same steps.

Since the existing MLZ site translators for case collections (Google Scholar, Fastcase, BaiLII) already fetch a copy of scraped judgments, you might be wondering what there is to be excited about here (other than the fact that it is easy and, you know, that it works). Taken by itself, it’s not much: but combined with developments afoot in other projects, it could get interesting quite quickly.

JuriScraper (by Mike Lissner), and on the CourtListener service for which it was built, seem natural companions to MLZ with openSearch resolver support. JurisScraper is able to reliably extract citations from the plain text of court judgments. The code is in Python, but if recast in JavaScript to run in the browser, MLZ could apply it locally to build a menu of cited cases from any text, using a resolver pointed at CourtListener (and elsewhere) to obtain the text behind the cites. Some extension work in MLZ would be needed to make that happen, but it is definitely doable. This would effectively convert any US court judgment from any source into a document with live links to the text of cited cases, and that, I think, might be useful.

Building out MLZ resolver support along the lines described above may help to forward the purposes of the UniversalCitation.Org discussions of 2011. Even the very simple title-only openSearch bridge provided by this page has immediate utility to users. A practical desktop tool that leverages available public resolvers shows their value in a way that most users can readily understand. There are powerful countervailing interests, of course, but a trouble-free demo or two may help renew the push toward vendor-neutral citation and direct-from-government publication of judgments. In the meantime, each openSearch bridge that covers a particular service is a building block toward the construction of a more general resolver service down the road.

At this point, the core features of MLZ are getting pretty stable, and I’m starting to feel (myself, privately, here in my cubicle) that there may be a real prospect of contributions by others, particularly on site translators, resolver support, and style development. We’ll see how it goes, but for today, I feel that we’ve taken a little step forward.


[1] Including Dan Chudnov, whom I have long followed, and who I now notice is a member the Zotero Advisory Board.
[2] Ctrl-Alt-Z if not using the very latest version of Zotero or MLZ.
This entry was posted in Announcements. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>