Heurist is an online database designed for digital research objects including bibliographic records, web bookmarks, historical events, document annotations, images, contemporary stories and other data which is rich in text and classification data, and often heterogeneous. Heurist was originally designed by Ian Johnson and developed by the Arts eResearch unit at the University of Sydney. It continues to be developed within the Faculty of Arts. It was released as Open Source software in May 2013, originally on Google Code, later moved to GitHub, and a free web service for low-demand academic databases is available at https://heuristplus.sydney.edu.au/ - other free services are listed in the project web site. Heurist was developed to overcome two problems identified as common to researchers in the Humanities :
the technical expertise required to set up rich heterogeneous databases with relationships between entities, and to publish data selectively to the web
the fragmentation of research data across many separate incompatible databases
It aims to tackle the first issue by providing a web service supporting the on-demand creation and configuration of new databases through a web interface. It aims to tackle the second issue by allowing the storage and interlinking of a wide variety of research data, notes, annotations and digital attachments in a single shared database, while providing individual ‘views’ on this data and workgroup-owned and private areas for research in progress.
Methodology
Heurist is written in PHP and JavaScript, on top of a fixed MySQL data structure. Entities/record types, fields and terms are defined within the database rather than being hardcoded in the software or database structure. Heurist uses a key-value pair approach linked to a primary data table instantiating typed entities, allowing variant data structures and repeating value fields. Relationships between entities are implemented as a relationship record which is no different from any other record type, apart from a few special behaviours. Heurist has the following field types:
Numeric
Text
Term lists
Date / time fields
Geographic
Pointer fields allowing lookup of another record in the database
Relationship fields allowing the creation of typed, constrained, directional, dated and annotated relationships between records
File attachments - this field type also allows remote files to be referenced through a URL
Heurist uses Smarty templates for user-defined reporting, and generates maps and timelines directly in the interface for any items which have geographic or time fields; embedding code is provided to generate the same reports /maps / timelines in a web page using JavaScript or within an iframe. Network diagrams and schema diagrams are available in Heurist version 4. Other functions include a bookmarklet for capturing web references, WYSIWYG formatted text and threaded discussions within records, user and workgroup tags, personal and shared saved searches, search expansion rules to pull in related records, workgroup ownership of records, group notifications, and blogging. There is a Zotero bibliography synchronisation function. For developers there is a JavaScript programming API - HAPI - allowing direct read and write access to Heurist records independent of internal storage structure, and functions for transforming XML output to other forms using XSLT stored in records within the database. Heurist source code is available under GNU GPL from the GitHub repository at https://github.com/HeuristNetwork/heurist and can be installed on any LAMP server, including virtual servers in the Research cloud, Amazon AWS and virtual servers from most ISPs..
Applicability
Heurist was conceived as a digital knowledgebase for managing heterogeneous and relatively unstructured data, in small to medium collections of data such as those typically found in the Arts and Humanities, and in personal research spaces. It is not suitable for large, structured, homogeneous, numerical datasets typical of the Sciences. Heurist allows management of information with spatial and temporal components. Spatial components include the ability to enter georeferenced points, polygons etc. directly into an editor, as well as the ability to upload spatial data such as KML and Shapefiles. Spatial data is displayed on a map view within the database. Temporal components include the ability to enter dates as calendar dates, ranges, fuzzy dates or radiocarbon dates, with confidence levels. Dates are displayed on a timeline within the database. Heurist has been used to provide a database for research for a number of PhD research projects, primarily in Humanities disciplines, including Archaeology, Classics and Art History. Heurist was also used as the database to manage the cultural heritage information for nomination of the World Heritage SiteBahrain Pearling Trail, which was successfully inscribed on the UNESCO World Heritage List in 2012. Cultural Heritage Managers at the former Ministry of Culture in Bahrain used Heurist to collate, analyse, manage and assist with the vast array of data associated with the nomination. This data included spatial polygons defining the properties to be included in the World Heritage Site, details of the properties, details of people associated with the properties, associated photographs, documents and plans, including architectural plans and legal documents. These items were all cross-referenced with intuitive relationships defining how they were associated with each other. This database was referred to in the Nomination file, accepted by UNESCO in 2012.
Example applications
Beyond 1914 and Expert Nation - records of university staff and students involved in WWI
Virtual Museum of Balinese Paintings - research into 20thC Balinese paintings which links to works scattered across multiple collections in various countries
Digital Harlem - search and mapping of events from 1915-1930 Harlem