API Week 10: Implementing Linked Data Mappings

by Lars Willighagen


Deliverable: HTML pages with microdata and metadata

Week Summary

This week I finished the CIDOC-CRM mappings and implemented them as well in the API. The mapping was amended based on initial work by Chiarcos et al. (2018). I presented the results in my weekly mentor meeting, where we discussed difficulties in the mapping and any problems with the database that arose. We also discussed finishing the Inscription API, which I did the day after.

The specific mappings will be discussed in a later week, since I made some amendments since.

In the weekend I started implementing the CIDOC-CRM mappings in the framework. Earlier in the project, I had posted a question in the CakePHP forum about where such mappings should be implemented. I was tempted to make views, since the mappings are about presenting the data, in a way. However, at least in CakePHP the code structure is not suited for mapping in-memory data in model-specific ways.

Naturally, I ended up implementing the mappings as part of the models instead. This worked well, and the code still seems proper, at least to me. For some of the mappings I had to implement additional associations between models, specifically composites and witnesses belonging together, and seals and impressions. This took some time as a result of the nature of how this information is stored in the database.

The deliverable of this week is not complete, but I made substantial progress on the ones for week 5, 6 and 7.


Chiarcos, C., Pagé-Perron, É., Khait, I., Schenk, N., & Reckling, L. (2018, May). Towards a Linked Open Data Edition of Sumerian Corpora. Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC 2018). https://www.aclweb.org/anthology/L18-1387

Daily Work Update

# Day Date A short description of the work done
1 Mon 2020/08/03 Work on CIDOC CRMarchaeo mappings for CDLI; fix seal number resolving (!160); implement image authorization (!159)
2 Tue 2020/08/04 Finish CIDOC CRMarchaeo mappings; have !159 merged
3 Wed 2020/08/05 Present CIDOC-CRM mappings
4 Thu 2020/08/06 Finish Inscription API (!149)
5 Fri 2020/08/07 Suggest composite browsing design; update CakePHP (!133)
6 Sat 2020/08/08 Start implementing CIDOC-CRM mappings
7 Sun 2020/08/09 Map seals and composites to CIDOC-CRM