OpenURL is a standardized format for encoding a description of a resource within a Uniform Resource Locator (URL), intended to help Internet users to find a copy of the resource that they are allowed to access. Although OpenURL could be used with any kind of resource on the Internet, it is usually used by libraries to help connect patrons with such content as articles, books, or patents held in their collections or available by subscription. The National Information Standards Organization has developed standards for OpenURL and its data container (the ContextObject) as American National Standards Institute standard ANSI/NISO Z39.88-2004.
The OpenURL standard is designed to enable linking from information resources such as abstracting and indexing databases (sources) to library services (targets), such as academic journals, whether online or in printed or other formats. The linking is mediated by "link resolvers", or "link-servers", which parse the elements of an OpenURL and provide links to appropriate targets available through a library by the use of an OpenURL knowledge base.
The source that generates an OpenURL is typically a bibliographic citation or bibliographic record in a database that indexes the information resources often found in libraries. Examples of such databases include Ovid, Web of Science, SciFinder, Modern Languages Association Bibliography and Google Scholar.
A target is a resource or service that helps satisfy a user's information needs. Examples of targets include full-text repositories, online journals, online library catalogs and other Web resources and services.
OpenURL was created by Herbert Van de Sompel, a librarian at the University of Ghent, in the late 1990s. His link-server software, SFX, was purchased by the library automation company Ex Libris Group which popularized OpenURL in the information industry.
In 2005, a revised version of OpenURL (version 1.0) became ANSI/NISO standard Z39.88-2004, with Van de Sompel's version designated as version 0.1. The new standard provided a framework for describing new formats, as well as defining XML versions of the various formats. The Online Computer Library Center (OCLC) was named the maintenance agency for the standard on 22 June 2006.
In 2006 a research report found some problems affecting the efficiency of OpenURL linking and recommended the creation of a group to establish best practice solutions. The KBART (Knowledge Bases And Related Tools) working group has been set up to progress the recommendations of the research report. OpenURL standards and reporting work continues with NISO's IOTA (Improving OpenURLs Through Analytics) project, which produced a reporting tool and research summary in 2013 noting the benefits of data analysis to improve link resolution.
The most common application of OpenURL is to assist in the resolution of a request for a web resource (such as an online article). An OpenURL includes information about the referenced resource itself, and context information — both the context in which the OpenURL occurs (for example, a page of search results from a library catalog) and the context of the request (for example, the particular user making the request). If a different context is expressed in the URL, a different copy ends up resolved to. Changes in context are predictable, and do not require the original creator of the hyperlink (for example, the journal publisher) to handcraft different URLs for different contexts.
For example, changing either the base URL or a parameter in the query string can mean that the OpenURL resolves to a copy of a resource in a different library. So the same OpenURL, contained for instance in an electronic journal, can be adjusted by any library to provide access to their own copy of the resource, without completely overwriting the journal's hyperlink. The journal provider, in turn, is no longer required to provide a different version of the journal, with different hyperlinks, for each subscribing library (See also COinS).
An OpenURL consists of a base URL, which contains the address of the user's institutional link-server, followed by a query string, consisting of key-value pairs serializing a ContextObject. The ContextObject is most often bibliographic data, but as of version 1.0 OpenURL can also include information about the requester, the resource containing the hyperlink, the type of service required, and so forth. For example:
is a version 0.1 OpenURL describing a book.
http://resolver.example.edu/cgi is the base URL of an example link-server.
In version 1.0, this same link becomes somewhat longer:
The above query string consists of the following key-value pairs:
ctx_ver=Z39.88-2004– specifying the ContextObject version
rft_val_fmt=info:ofi/fmt:kev:mtx:book– specifying the metadata format for the referent (in this case, a book)
rft.isbn=0836218310– the ISBN identifying the book
rft.btitle=The+Far+Side+Gallery+3– the title of the book
Keys always consist of safe characters and are not encoded, but values are URL-encoded.
Several companies market link server systems. Some proprietary options include OCLC (as part of WorldCat Local), Ex Libris (SFX and Alma UResolver), Serials Solutions (360 Link, formerly known as Article Linker), Innovative Interfaces, Inc. (WebBridge), EBSCO Information Services (Full Text Finder), Ovid (LinkSolver), SirsiDynix (Resolver), Fretwell-Downing (OL2), TDNet, Inc. (TOUResolver), WT Cox Information Services (Journal Finder), R.R. Bowker (Ulrichs Resource Linker) and Infor (Vlink).
OpenURL is usually implemented by information providers by dynamically inserting an appropriate base URL into web pages sent to an authenticated user. OpenURL COinS is a specification that allows free services like Wikipedia to provide OpenURLs by cooperating with client side software agents. Federated search software presents OpenURL links in record fields by employing the library's subscriber links to link servers facilitating access to full-text resources from bibliographic record hyperlinks.