Skip to content

multilingualprogramming/MotusArtium

Repository files navigation

MotusArtium

MotusArtium is a GraphQL-first art history observatory built on top of Wikidata and the Multilingual programming language.

It combines a browser shell, a Multilingual runtime, and dedicated Wikidata query documents to let users explore:

  • art movements
  • artists
  • artworks
  • museums and galleries
  • depicted subjects

Current Features

  • Graph-first exploration with a central constellation view.
  • Search-based entry through Wikidata REST search, followed by GraphQL-driven expansion.
  • Dedicated entity loading for movements, artists, artworks, museums, and subjects.
  • Query-aware UI with visible active document, variables, response shape, and status.
  • Footer context for selected entity, exploration trail, temporal rail, and live query preview.
  • URL deep-linking such as ?entity=Q40415&type=movement and ?entity=Q160112&type=museum.
  • Multilingual-oriented shell and runtime integration built around the French-first Multilingual language source.

How It Works

The app is intentionally GraphQL-first.

  • Query documents live in graphql/.
  • The main data path uses Wikidata's wbgraphql endpoint.
  • REST is used only where it is the better tool:
    • free-text search via wbsearchentities
    • entity claim lookup for search-result type disambiguation via wbgetentities

That means GraphQL remains the core retrieval model for expansion, relationships, and UI state, while REST supports discovery and classification around the edges.

Main Entry Points

  • src/principal.multi: Multilingual application entrypoint
  • src/ui/etat.multi: reactive state and loading logic in Multilingual
  • app.js: browser-side shell adapter, live GraphQL instrumentation, graph state, and loaders
  • bootstrap.js: startup, URL bootstrapping, REST search wiring, and detail-panel fallback logic
  • index.html: static shell layout
  • styles.css: shell styling
  • graphql/: dedicated Wikidata query documents

Query Inventory

Current query documents include:

  • movement_details.graphql
  • artists_by_movement.graphql
  • artist_details.graphql
  • artist_influences.graphql
  • artworks_by_artist.graphql
  • artwork_details.graphql
  • artworks_by_museum.graphql
  • artworks_by_subject.graphql
  • movements_catalog.graphql
  • movement_diffusion.graphql
  • movement_evolution.graphql
  • entity_label.graphql
  • countries_coordinates.graphql

Local Build

Requirements:

  • Python 3.12+
  • a local checkout of the Multilingual toolchain

Build:

git clone https://github.com/multilingualprogramming/multilingual
cd multilingual
pip install -e ".[wasm]"


https://github.com/multilingualprogramming/MotusArtium
cd MotusArtium
python -m multilingualprogramming build-ui-bundle src/principal.multi --lang fr --out-dir _build
copy _build\\bundle.js bundle.js
python -m http.server 8000

Then open http://localhost:8000.

Repository Layout

Documentation

About

an interactive semantic atlas exploring the evolution, connections, and movements of art across time, and ideas

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors