Commit graph

49 commits

Author SHA1 Message Date
c454189645 Extract shared notations to figures/notations.drawio and restyle Step 6
Move legend and namespace note into a standalone notations.drawio file
shared across all figures. Regenerate Step 6 figures with stacked
datatype property boxes (UML-like) matching the Step 5 style, instead
of separate connected nodes.
2026-03-01 13:46:43 +01:00
541b272bd7 Copy Step 5 draw.io figures from paper/figures 2026-03-01 12:58:15 +01:00
d09d809b2a Rename figure files with step-06 prefix 2026-03-01 12:50:16 +01:00
5c2d235093 Add draw.io figures for Step 6 ontology and example data
Ontology overview diagram shows all tm: classes, object/datatype
properties, schema:/org:/skos: external classes, subClassOf
relationships, and namespace color coding using Chowlk notation.
Example subgraph diagram shows Irene Abendroth instance data with
representative memberships, migrations, relationships, and places.
Includes Chowlk library for draw.io.
2026-03-01 12:46:24 +01:00
c79ae45859 Add Step 6: map to Theatre Migrants ontology (tm: namespace)
SPARQL CONSTRUCT queries transform graph-05 into graph-06 using the tm:
vocabulary. Persons keep schema:Person properties, works become
org:Membership, professions become schema:Occupation, enumerations
become skos:Concept with tm: subtypes. Split 010-occupations into two
query files (passthrough + retype). Includes step-06 binary, Rakefile
tasks, and example data for Irene Abendroth.
2026-03-01 12:20:40 +01:00
58a725a3d7 Add Step 6 SPARQL CONSTRUCT queries for tm: namespace mapping
11 CONSTRUCT queries transform graph-05 data from migrants: namespace
to the Theatre Migrants ontology (tm:) vocabulary: persons, places,
organisations, migrations, memberships (org:Membership), relationships,
person-professions, person-names, religion affiliations, occupations
(schema:Occupation), and enumeration instances (skos:Concept).
2026-03-01 12:07:18 +01:00
3d0829aa9d Add Step 5: use well-known vocabularies (Schema.org, OWL, WGS84, SKOS)
SPARQL UPDATE queries add standard vocabulary properties alongside
existing custom predicates: schema:Person/Place/Organization types,
schema:givenName/familyName/birthDate, owl:sameAs for authority links,
wgs84:lat/long for coordinates, skos:Concept/prefLabel for enumerations,
and rdfs:label for persons.
2026-03-01 12:07:01 +01:00
01ad6d2ca0 Replace tm:Work with org:Membership and tm:Profession with schema:Occupation
Use W3C Organization Ontology for work engagements (org:member,
org:organization). Profession instances become schema:Occupation.
Custom properties (workLocation, employmentType, etc.) are kept
with updated domains/ranges.
2026-03-01 09:21:14 +01:00
b3661c0c22 Add Theatre Migrants OWL ontology with tm: namespace
Define domain-specific classes and properties not covered by well-known
vocabularies (Schema.org, SKOS, WGS84). Uses namespace
https://daniel.degu.cl/ontologies/theatre-migrants/ with prefix tm:.
2026-03-01 07:40:02 +01:00
cde2097923 Regenerate examples with rdf:type first in each subject block. 2026-02-28 20:02:28 +01:00
87e6ca0000 Regenerate example files with blank lines between subject blocks. 2026-02-28 19:26:47 +01:00
28eb1e7cfd Add Step 4: remove empty string literals representing missing data. 2026-02-28 19:07:36 +01:00
1c15bc8cf7 Add Step 3: annotate literal datatypes (xsd:date, xsd:float, xsd:integer, IRIs). 2026-02-28 18:49:35 +01:00
fadf063d3a Update README to reference Rust programs instead of Ruby scripts.
Also add task descriptions for steps 3, 4, and 5.
2026-02-28 18:07:38 +01:00
0813192990 Add Step 2 example queries and Rake tasks.
Same 1-hop and 2-hop CONSTRUCT queries as Step 1, but run against
graph-02.ttl to show the result of literal-to-IRI transformations.
2026-02-28 17:50:26 +01:00
0c1da570bb Add prefixes to SPARQL queries and prettify example Turtle output.
Add namespace prefixes (rdfs, migrants, person, personp, work, workp,
location, locationp) to query files. Use --prettify in Rake tasks so
example files use abbreviated IRIs. Fix 2hop task to use graph-02.
2026-02-28 17:37:52 +01:00
6870f9b726 Add Rake tasks to generate 1-hop and 2-hop example extracts. 2026-02-28 09:06:36 +01:00
02f0260625 Add 1-hop and 2-hop example CONSTRUCT queries for step-01 graph. 2026-02-28 08:52:12 +01:00
e81120d353 Add pipeline steps (graph-01, graph-02) to Rakefile. 2026-02-28 08:18:04 +01:00
aa6f46bfc2 Fix IRI generation by sanitizing column names with spaces.
Regenerate graph-01.ttl and graph-02.ttl with the corrected output.
2026-02-28 06:20:18 +01:00
34754cc68a Reimplement mapping scripts (step-01, step-02) in Rust.
step-01 performs W3C Direct Mapping from MariaDB to Turtle using sophia.
step-02 applies SPARQL UPDATE queries using oxigraph.
2026-02-28 06:08:38 +01:00
cd85a66c46 Add schema inspection queries and script.
SPARQL queries to list classes and properties, and src/schema.rb
CLI to run them against any graph file. Includes bundler/setup
for compatibility with Ruby 4.0 without bundle exec.
2026-02-26 20:49:35 +01:00
d2481d6e80 Add Step 2: SPARQL UPDATE queries to transform literals into objects.
19 queries in updates/ convert categorical columns (continent, country,
city, gender, profession, etc.) from literals to typed RDF objects with
rdfs:label. map/step-02.rb applies them to produce data/graph-02.ttl.
Also fix step-01.rb to sanitize column names with spaces and avoid
prefix serialization issues with fragment IRIs.
2026-02-26 19:45:08 +01:00
da22d312a9 Add Step 1: Direct mapping from MariaDB to RDF.
Dockerfile and docker-compose.yml for MariaDB container,
map/step-01.rb implementing the W3C Direct Mapping for all 9 tables.
2026-02-26 16:42:30 +01:00
87dcd4d65c Include the input SQL file.
This is a file that can be loaded in a MariaDB database.
2026-02-26 15:29:50 +01:00
0f6a7d4a94 Making test pass. 2026-02-22 21:11:19 +01:00
16eb0f9e69 Remove redundant schema information. 2026-02-22 20:27:17 +01:00
37aa504767 Adding an RSpec test. 2026-02-22 20:26:08 +01:00
abe70062a8 Adding an example data. 2026-02-22 19:52:06 +01:00
aaab3d352c Renaming files 2026-02-22 19:06:30 +01:00
df9f12365c Rename Turtle file. 2026-02-22 18:55:29 +01:00
0d607f4dff Separate the ontology from the data files. 2026-02-22 18:42:24 +01:00
eb255df64a Create a Rakefile. 2026-02-22 18:40:33 +01:00
e5747acc61 Print records when linking them to Wikidata. 2026-02-22 18:27:13 +01:00
38ce175b5b Mapping countries. 2026-02-22 18:04:55 +01:00
c9c768aa17 Create multiple mapping files. 2026-02-22 17:25:48 +01:00
a7d3ad3f62 Generating a single Markdown file describing the tables. 2026-02-22 11:57:04 +01:00
75a0c5de79 Rename prefix mig to tm. 2026-02-22 11:36:18 +01:00
ff33e77fb4 Reformating Turtle files. 2026-02-22 11:33:59 +01:00
eba9136962 List defined regions. 2026-02-22 11:11:11 +01:00
84d4e16d7b Minor refactoring 2026-02-22 10:44:02 +01:00
6bf5b40990 Add religion vocabulary to the ontology. 2026-02-22 10:36:43 +01:00
f025be2e60 Mapping persons religions. 2026-02-22 10:18:45 +01:00
5b6b16c90e Refactoring for readability. 2026-02-22 09:20:35 +01:00
32ef100fdc Add scripts for tables person and religions. 2026-02-22 08:20:48 +01:00
c97a0778c1 Add GeoNames 2026-02-22 07:00:39 +01:00
Daniel
351529c8ee Script to generate countries. 2026-02-22 05:34:45 +01:00
Daniel
cd6ea52f07 Inspect locations 2026-02-14 15:41:11 +01:00
6b1c6a2e58 Initial commit 2026-02-14 12:08:05 +00:00