Home Articles Books Search About
日本語
Odeuropa Visualization: A Platform for Visualizing Scent Data Using SKOS Vocabularies and SPARQL

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 the SKOS (Simple Knowledge Organization System) vocabulary, 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) This is the core feature of the application, allowing users to search and browse smell perception events collected by the Odeuropa project. ...

How to Build an Independent Author Database in Omeka S

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. ...

Complete Guide to Annotation Coordinate Conversion in Leaflet-IIIF

Complete Guide to Annotation Coordinate Conversion in Leaflet-IIIF

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

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

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 a different server. You can proceed with the migration safely while maintaining data integrity. Environment Source server: Ubuntu 22.04 Target server: Ubuntu 22.04 (fresh setup) Stack: Omeka-S + MariaDB + phpMyAdmin + Traefik + Mailpit Migration Flow Backup on the source server Download to local machine Set up Docker environment on the target server Restore data and start up Step 1: Backup on the Source Server 1.1 Check Current Environment # Check running containers docker ps # Check Docker volumes docker volume ls Example output: ...

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

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

Overview When working with data in RDF (Resource Description Framework), two mechanisms come into play: “RDFS (RDF Schema)” and “SHACL (Shapes Constraint Language)”. Both can define constraints on properties and classes, but their purposes and behaviors are completely different. This article answers the following commonly confused questions: 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 to specify a datatype (xsd:string) in SHACL when the range is a class (foaf:Person)? 1. The Fundamental Difference Between RDFS and SHACL RDFS: For Inference RDFS is a declaration that says “if this property is used, the following knowledge can be derived.” ...

Developing an RDF Metadata Management System Integrating GakuNin RDM and Dydra

Developing an RDF Metadata Management System Integrating GakuNin RDM and Dydra

Overview 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 a unified manner. System Overview Architecture ┌─────────────────┐ │ Next.js 14 │ │ (App Router) │ └────────┬────────┘ │ ┌────┴────┐ │ │ ┌───▼───┐ ┌──▼─────┐ │GakuNin│ │ Dydra │ │ RDM │ │ RDF │ │ API │ │ DB │ └───────┘ └────────┘ Technology stack: ...

Investigating the Vocabulary Hierarchy of Odeuropa Explorer

Investigating the Vocabulary Hierarchy of Odeuropa Explorer

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

Guide to Registering RDF Data to Dydra via API

Guide to Registering RDF Data to Dydra via API

Background 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 A Dydra account An API key A Node.js environment (v16 or later recommended, when using Node.js) Note: The code examples in this article use the following sample values: Account name: your-account Repository name: your-repository API key: your_api_key_here When using them in practice, replace these with your own Dydra account information. ...

Declarative Multi-Format Conversion with TEI Processing Model

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. ...

How to Control the Viewing Direction of Mirador from External Parameters

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: // Get viewing direction from URL parameters const urlParams = new URLSearchParams(window.location.search); const viewingDirection = urlParams.get('viewingDirection') || 'right-to-left'; In this implementation, when no parameter is specified, 'right-to-left' is used as the default. ...

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

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

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

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

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

Overview Omeka-S is a powerful digital archive system, but Japanese full-text search barely works by default. This article explains how to achieve Japanese full-text search by installing the MroongaSearch module. Background: Why the MroongaSearch Module is Needed 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: Data: "Studying artificial intelligence at the University of Tokyo" (東京大学で人工知能を研究する) Search term: "artificial intelligence" (人工知能) Result: No hits Since InnoDB’s full-text search assumes space-delimited languages like English, the following problems occur with Japanese: ...