We’re excited to start sharing more information about the projects created at Developer House in December. This first project comes to you from: Bilal Khalid, Emily Flynn, Francis Kayiwa, Rachel Maderik, Scott Hanrath, and Shawn Denny.
During Developer House week our team worked on a project to find external data that could be automatically fed into OCLC's WorldCat Discovery API (DAPI) to showcase holdings related to a topical theme. We had in mind something like a "this day in history" widget that would feature holdings relevant to a given day. We named the project DAPI Diem.
With six people we took a divide and conquer approach with a goal of having a working demo at the end of the week. First we looked at possible data sources for the input. After exploring a few options we ended up going with DBPedia for a couple of reasons. First, it holds a very broad range of content. Second, it's all available as structured linked data through a SPARQL endpoint. Once we had an idea of what we wanted back from DBpedia the group divided into two groups, one focused on creating queries for DBpedia and one focused on the building a framework to bring the data together with the DAPI.
The group working on DBpedia quickly got themselves up to speed on SPARQL, with some much-appreciated help from OCLC staff. They created various queries to determine the best candidate entities in DBPedia, for our purposes basically anything with a statement relating an entity with a date (e.g., an author's birthday, a country's founding date). For the backend development, particular challenges included sorting and ranking the input returned by DBPedia -- we ended up using statistics about the DBPedia entity's Wikipeida article, retrieved via Wikipedia's API -- and setting a configuration-driven pipeline to map the SPARQ input to Discovery API queries for holdings hopefully relevant to the results.
Late Thursday afternoon, we created a simple Bootstrap frontend to display some contextual information about the entities relevant to a date, such as descriptions and thumbnails from Wikipedia, along with the holdings returned from DBpedia. By Friday morning, with tens of minutes to spare, we had a functioning demo to present.
DAPI Diem was a team effort that included much brainstorming and lots of trial and error. We are fortunate that everyone in the group both brought in expertise to contribute and quickly learned some new skills along the way. The demo we presented is by no means a complete, polished project. With more time we would have loved to better refine the DBpedia queries and explore more precise ways of mapping them to calls to the DAPI, possibility by reconciling subject and author terms against something like FAST. Likewise, we would have loved to explore where and how a finished product could be deployed.
Check out the Show & Tell presentation of this project and then take a look at it in the Gallery for more info.
The WorldCat Discovery API is currently available as a beta for a select number of libraries using WorldCat Discovery Services. Interested in participating in the beta? Contact us today.
Stay tuned to Developer Network for more projects from Developer House.