Odeuropa Visualization: A Platform for Visualizing Scent Data Using SKOS Vocabularies and SPARQL

Introduction Odeuropa is a project that studies the history of scents in Europe, collecting and analyzing representations of scents depicted in paintings, literature, and other historical sources. This article introduces the implementation of a web application for visualizing scent data based on SKOS (Simple Knowledge Organization System) vocabulary systems, utilizing Odeuropa’s SPARQL endpoint. https://odeuropa-seven.vercel.app/ja/ Project Overview Technology Stack Frontend: Next.js 15 (App Router) UI: Material-UI v5 Internationalization: next-intl Data Retrieval: SPARQL queries (Odeuropa SPARQL endpoint) Language: TypeScript Hosting: Static Site Generation (SSG) Main Features 1. Scent Search (/odeuropa-sources) The core feature of the application, allowing users to search and browse smell perception events collected by the Odeuropa project. ...

October 24, 2025 · 18 min · Nakamura

How to Build an Independent Author Database in Omeka S

Introduction A common challenge in digital archives for museums and libraries is the need to “properly manage the relationship between works and their creators.” Especially when a single author has created multiple works, or when multiple authors have collaborated on a single work, it is important to clearly express these relationships and make them searchable. This article explains how to build an independent author database in Omeka S and link it with works. ...

October 20, 2025 · 6 min · Nakamura

Complete Guide to Annotation Coordinate Conversion in Leaflet-IIIF

Overview This article explains how to accurately display annotation coordinates (xywh format) from IIIF (International Image Interoperability Framework) Presentation API v3 manifests on a map viewer using Leaflet-IIIF. This problem may seem simple at first glance, but accurate coordinate conversion is not possible without understanding the internal workings of Leaflet-IIIF. Background IIIF Manifest Annotation Format In IIIF Presentation API v3, the target area of an annotation is specified in xywh format as follows: ...

October 19, 2025 · 22 min · Nakamura

Complete Guide to Migrating an Omeka-S Docker Environment to Another Server

Introduction This article explains the procedure for migrating an Omeka-S environment set up with Docker Compose, including volume data, to another server. You can proceed with the migration safely while maintaining data integrity. Environment Source server: Ubuntu 22.04 Destination server: Ubuntu 22.04 (new setup) Stack: Omeka-S + MariaDB + phpMyAdmin + Traefik + Mailpit Migration Flow Backup on the source server Download to local machine Docker environment setup on the destination server Data restoration and startup Step 1: Backup on the Source Server 1.1 Check the Current Environment # d # d o o C c C c h k h k e e e e c r c r k k p r s D o u o l n c u n k m i e e n r g l s c o o l n u t m a e i s n e r s Output example: ...

October 16, 2025 · 31 min · Nakamura

Distinguishing Between RDFS and SHACL: Understanding the Relationship Between range and propertyShape

Introduction When working with data in RDF (Resource Description Framework), two mechanisms come up: “RDFS (RDF Schema)” and “SHACL (Shapes Constraint Language)”. Both can define constraints on properties and classes, but their purposes and behavior are completely different. This article answers the following questions that are particularly prone to confusion: What is the difference between rdfs:domain / rdfs:range and SHACL’s sh:class / sh:datatype? Is it acceptable to set SHACL constraints that differ from the RDFS range? Is it problematic if the range is a class (foaf:Person) but SHACL specifies a datatype (xsd:string)? 1. The Fundamental Difference Between RDFS and SHACL RDFS: For Inference RDFS is a declaration that states “if this property is used, the following knowledge can be derived”. ...

October 15, 2025 · 22 min · Nakamura

Developing an RDF Metadata Management System Integrating GakuNin RDM and Dydra

Introduction This article describes the development of a metadata management system for research data that integrates GakuNin RDM (Research Data Management) with the Dydra RDF database. This system can handle file management for research projects and the registration and search of Dublin Core metadata in an integrated manner. System Overview Architecture ┌ │ │ └ ┌ │ │ │ └ ─ ─ ─ G ─ ─ ─ ─ a ─ ─ ─ ─ k R A ─ ─ N ( ─ ┌ │ ▼ u D P ─ ─ e A ─ ─ ─ N M I ─ ─ x p ─ ─ ─ i ─ ─ t p ─ ─ ─ n ─ ─ . ─ ─ ┐ │ │ │ ┘ ─ j R ┬ │ ┴ ─ s o ─ ─ ┌ │ │ │ └ ─ u ─ ─ ─ ─ ─ 1 t ─ ─ ─ D ─ ─ 4 e ─ ─ ▼ y R ─ ─ r ─ ┐ │ ─ d D D ─ ─ ) ─ ─ r F B ─ ─ ─ ─ a ─ ─ ─ ─ ─ ┐ │ │ ┘ ─ ─ ┐ │ │ │ ┘ Main Technology Stack: ...

October 14, 2025 · 46 min · Nakamura

Investigating the Vocabulary Hierarchy of Odeuropa Explorer

Introduction Odeuropa Explorer is a fascinating project that digitizes Europe’s olfactory heritage. Funded by the EU’s Horizon 2020 research program, it provides a platform for cross-searching and exploring historical smell experiences. This project classifies smell-related information into three main categories: Smell sources: Objects and substances that emit odors Fragrant Spaces: Places and spaces associated with smells Gestures and Allegories: Gestures and allegorical expressions related to smell This article reports the results of investigating the hierarchical structure of these vocabularies using SKOS (Simple Knowledge Organization System) format data published in the Odeuropa vocabularies repository. ...

October 13, 2025 · 39 min · Nakamura

Guide to Registering RDF Data to Dydra via API

Introduction Dydra is a cloud-based RDF database service that provides a SPARQL endpoint and REST API. This article explains how to programmatically register RDF data using the Dydra API. Prerequisites Dydra account API key Node.js environment (v16 or higher recommended, when using Node.js) Note: The code examples in this article use the following as samples: Account name: your-account Repository name: your-repository API key: your_api_key_here When actually using these, replace them with your own Dydra account information. ...

October 10, 2025 · 13 min · Nakamura

Declarative Multi-Format Conversion with TEI Processing Model

Introduction TEI (Text Encoding Initiative) is a widely used standard for digitizing humanities texts. This article introduces a case study of using the Processing Model feature introduced in TEI P5 to achieve conversion from TEI XML to multiple formats (HTML, LaTeX/PDF, EPUB3). https://www.tei-c.org/Vault/P5/3.0.0/doc/tei-p5-doc/en/html/TD.html#TDPM The target project uses texts published in the “Koui Genji Monogatari” (Collated Tale of Genji) as an example. https://kouigenjimonogatari.github.io/ Background Previously, conversion processes were performed individually, as introduced in the following articles. ...

October 8, 2025 · 19 min · Nakamura

How to Control the Viewing Direction of Mirador from External Parameters

Overview This article explains the implementation for dynamically specifying the viewingDirection of the Mirador viewer via URL parameters. This feature allows the same manifest to be displayed left-to-right or right-to-left. Implementation 1. Retrieving URL Parameters Retrieve the viewingDirection parameter from the URL and set a default value: c c o o n n G s s e t t t u v v r i i l e e P w w a i i r n n a g g m D s i d r i = e r c e n t c e i t w o i n o U n R = L f S u r e r o a l m r P c a U h r R P a L a m r s p a . a m g r s e a ( t m w ( e i ' t n v e d i r o e s w w . i l n o g c D a i t r i e o c n t . i s o e n a ' r ) c h ; ' r i g h t - t o - l e f t ' ; In this implementation, when no parameter is specified, 'right-to-left' is used as the default. ...

October 6, 2025 · 6 min · Nakamura

Odeuropa: The World of Linked Data for Extracting Scents from Historical Documents

Introduction Odeuropa is a unique project that extracts descriptions of “scent” from European historical documents and structures them as Linked Data. In this article, we explore the actual data through the SPARQL endpoint, revealing its structure and design philosophy. What is Odeuropa? Project name: Odeuropa (Odeurs d’Europe = European scents) Database URL: https://data.odeuropa.eu/ SPARQL endpoint: https://data.odeuropa.eu/repositories/odeuropa Web interface: https://explorer.odeuropa.eu/ Overall Data Model Odeuropa uses an extended ontology specialized for scent, based on CIDOC-CRM (Conceptual Reference Model for Cultural Heritage). ...

October 4, 2025 · 17 min · Nakamura

Achieving Japanese Full-Text Search with the MroongaSearch Module for Omeka-S

Introduction Omeka-S is a powerful digital archive system, but by default, Japanese full-text search barely functions. This article explains how to achieve Japanese full-text search by introducing the MroongaSearch module. Why the MroongaSearch Module is Essential Problems with Omeka-S Standard Search Omeka-S’s standard full-text search (FullTextSearch module) uses the InnoDB engine, which has the following critical issues: Example of Japanese word search: D S R a e e t a s a r u : c l h t " : 東 t 京 e ❌ 大 r 学 m N で : o 人 工 " h 知 人 i 能 工 t を 知 s 研 能 究 " す る " Since InnoDB’s full-text search assumes space-delimited languages like English, for Japanese: ...

October 2, 2025 · 22 min · Nakamura