Open Context integrates 100% open-source technologies to publish archaeological data via the Web. These technologies inlcude:
This page provides an initial introduction to Open Context's technology stack and how you can use it and contribute to it.
Internally, Open Context has a highly abstracted and generalized global schema for representing data. This general approach takes its inspiration from the data structure developed by the OCHRE project (originally called "ArchaeoML"). However, to reduce development and maintenance costs, we opted to implement simplified versions of these generalized models in common and easily deployed relational database systems (in our case PostgreSQL).
Over the years, Open Context has evolved from ArchaeoML and moved toward Linked Open Data approaches to data organization. In essense, the current internal data model of Open Context largely looks like a graph-database structure commonly used for RDF triple-stores. However, we do not actually use a triple-store. Our experience managing data from many sources over the past 10 years has shown us that we often need additional attributes describing data provenance, context, etc. We decided that our day-to-day reliance on these additional attributes would make RDF-only triple-stores a bit awkward and cumbersome for our typical information management needs. Thus, Open Context mainly emphasizes RDF and Linked Open Data to relate the data it publishes with the data curated by external sources.
Open Context is a Python 3 application built on the Django project. Where feasible, we try to keep to "plain vanilla" coding patterns and use of Django components. Because Open Context emphasizes Web interoperability, it uses its own APIs to generate views of individual item records and search results. As described here most of Open Context's APIs provide JSON-LD formatted data.
The source code for Open Context carries a GNU General Public License (Version 3). We use GitHub for software version control, issue tracking, documentation and collaboration. Relevant code repostories are:
To ensure longevity and long-term citability, Open Context archives data with the University of California's California Digital Library (CDL) Merritt repository and Zenodo, and uses the Internet Archive for image hosting. To promote data citation, Open Context uses the EZID service to issue persistent and globally unique identifiers to individual data records as well as larger aggregations of data. As is common practice with most digital repositories, Open Context issues DOIs (Document Object Identifiers) to facilitate the identification and citation of aggregate datasets. However, unlike most repositories, Open Context's editorial and publishing workflow also includes the creation of persistent identifiers at much more granular and specific levels. To facilitate the identification and citation of specific individual records of data, Open Context uses EZID to mint ARK (Archival Resource Keys) identifiers.