EM Data Architecture and the Python Library

▶ EM Data Architecture and the Python Library (~~7 min)

Clip: 11 | Duration: ~7 min | Recording segment: ~50:00 → 57:29

Prerequisites

Combining Sources: The Grey Zone

Overview

Under the hood: EM stores data as a JSON property graph (not a relational database). The Python library reads and writes this graph, exposes a REST API, and connects Blender with the Heriverse web platform. Node types and qualia vocabularies are defined in JSON files bundled with the code — offline-first.

EM architecture: Blender → Python library → JSON graph → Heriverse.

EM architecture: Blender → Python library → JSON graph → Heriverse.

Key Concepts

  • EM data = JSON property graph, not a relational database.

  • The Python library mediates between Blender, yEd, and the Heriverse web platform.

  • Node types and qualia are defined in JSON — changing one file propagates to all tools.

  • Vocabularies (Getty, CIDOC) are bundled for offline use — no internet required.

  • A REST API exposes the graph for external tools and automation.

Screenshots

The node declaration JSON file defining all node types and connectors.

The node declaration JSON file defining all node types and connectors.

Qualia definitions with linked Getty vocabulary URIs.

Qualia definitions with linked Getty vocabulary URIs.

The EM Python library REST API documentation.

The EM Python library REST API documentation.

Try It Yourself

Open the EM node types JSON in a text editor and add a new qualia property to the ‘construction’ node type.

Note

A video walkthrough for this tutorial will be available on the Extended Matrix YouTube channel.

See also

Installing EM Tools: yEd and Blender