MARC catalogers have a long history of leveraging Discogs (https://www.discogs.com/), a marketplace and online community of music aficionados, as a trusted source of information to describe music recordings. We are excited to inform our LD4P3 partners and the LD4 community about the integration of Discogs metadata into item views of audio recordings in the Cornell production catalog. We began this work as part of the LD4P2 discovery Discogs exploration and made modifications based on discussions with our library catalog user representatives and the Discovery and Access team, the group responsible for our Blacklight catalog. The current version dynamically integrates Discogs data into item views using the Discogs search API based on existing MARC descriptions in the catalog Solr index.
When present, Discogs identifiers in the Solr index are used to retrieve information about that item. Otherwise, the Discogs search API will search for item matches using a combination of different metadata fields. The information is interleaved into the page in the same order that equivalent catalog metadata fields are displayed. A link on the page enables users to highlight which fields are retrieved from Discogs. The link to the Discogs release is also included at the bottom of the page. An example catalog item supplemented by Discogs data can be found here: https://newcatalog.library.cornell.edu/catalog/8058246.
Given the importance and relevance of the Discogs data, we hope that this API-based integration, which uses identifiers when available, will provide benefit to our end users. Special thanks to Tim Worrall, our lead developer on this work, our library catalog user representatives, and the Discovery and Access team.
- The code is set up to override the item search when an identifier is available in the MARC 024 field for Discogs, specifically 024 7# $a <discogs identifier> $2discogs. Currently, there are only a handful of Discogs identifiers in the 024 but planning is underway to continue adding these data as part of various workflows and possibly also to copy over any Discogs identifiers that already exist in other fields in the metadata. In the meantime, we have the ability to add an identifier to the metadata for any items where the API search may not yield a preferred match.
- Code and description:
- As explained above, the presence of an identifier in the 024 field will prioritize the use of that identifier to retrieve Discogs information.
- There is a separate module for making a call to Discogs and processing results: https://github.com/cul-it/blacklight-cornell/blob/dev/lib/blacklight_cornell/discogs.rb
- Search requests to Discogs use either the identifier or a query which is generated using information from multiple fields in the metadata including title, record label or publisher, and artist
- Results are parsed and information such as authors, notes, contents, and publication information are packaged. Styles are mapped to genres.
- The display for Discogs data is generated using this code: https://github.com/cul-it/blacklight-cornell/blob/2bc9050b63cc331534de6e169cf97c91b900ac44/app/views/catalog/get_discogs.js.erb
- Additional relevant files may be linked here later
- Where is Discogs information used in the search experience?
- Currently, Discogs information is used to supplement the item view and is not being used in the indexing process. As such, keyword searches or facet queries will not utilize this information. We hope to suggest future discussions on how to bring this information into the index and to additional parts of the search experience. We have had some discussions around how bringing in this information for search may be helpful for end-users, but have not planned for this process yet.
References: Using Discogs to Enhance Discovery