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.
This commit is contained in:
Daniel Hernandez 2026-03-01 12:20:40 +01:00
parent 58a725a3d7
commit c79ae45859
10 changed files with 148766 additions and 12 deletions

View file

@ -23,6 +23,10 @@ path = "src/map/step_04.rs"
name = "step-05"
path = "src/map/step_05.rs"
[[bin]]
name = "step-06"
path = "src/map/step_06.rs"
[dependencies]
sophia = "0.9"
oxigraph = "*"

View file

@ -91,6 +91,12 @@ file 'data/graph-05.ttl' => ['data/graph-04.ttl'] + UPDATE_QUERIES_STEP05 do
sh 'step-05'
end
CONSTRUCT_QUERIES_STEP06 = FileList['constructs_step06/*.rq']
file 'data/graph-06.ttl' => ['data/graph-05.ttl'] + CONSTRUCT_QUERIES_STEP06 do
sh 'step-06'
end
# ── Examples ─────────────────────────────────────────────────────────────────
SPARQL = File.expand_path('~/.cargo/bin/sparql')
@ -135,6 +141,14 @@ file 'data_examples/step_05_2hop.ttl' => ['data/graph-05.ttl', 'queries/step_05_
sh "#{SPARQL} queries/step_05_2hop_example.rq --graph data/graph-05.ttl --prettify > data_examples/step_05_2hop.ttl"
end
file 'data_examples/step_06_1hop.ttl' => ['data/graph-06.ttl', 'queries/step_06_1hop_example.rq'] do
sh "#{SPARQL} queries/step_06_1hop_example.rq --graph data/graph-06.ttl --prettify > data_examples/step_06_1hop.ttl"
end
file 'data_examples/step_06_2hop.ttl' => ['data/graph-06.ttl', 'queries/step_06_2hop_example.rq'] do
sh "#{SPARQL} queries/step_06_2hop_example.rq --graph data/graph-06.ttl --prettify > data_examples/step_06_2hop.ttl"
end
# ── Aggregate tasks ──────────────────────────────────────────────────────────
GENERATED = %w[
@ -159,6 +173,7 @@ GRAPHS = %w[
data/graph-03.ttl
data/graph-04.ttl
data/graph-05.ttl
data/graph-06.ttl
].freeze
EXAMPLES = %w[
@ -172,6 +187,8 @@ EXAMPLES = %w[
data_examples/step_04_2hop.ttl
data_examples/step_05_1hop.ttl
data_examples/step_05_2hop.ttl
data_examples/step_06_1hop.ttl
data_examples/step_06_2hop.ttl
].freeze
task examples: EXAMPLES

View file

@ -0,0 +1,12 @@
# Construct occupation instances: pass through existing schema:Occupation.
PREFIX schema: <https://schema.org/>
CONSTRUCT {
?s a schema:Occupation .
?s schema:name ?name .
}
WHERE {
?s a schema:Occupation .
OPTIONAL { ?s schema:name ?name }
}

View file

@ -1,21 +1,10 @@
# Construct occupation instances.
# Existing schema:Occupation instances pass through.
# migrants:Profession instances are retyped as schema:Occupation.
# Construct occupation instances: retype migrants:Profession as schema:Occupation.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <https://schema.org/>
PREFIX migrants: <http://example.org/migrants/>
CONSTRUCT {
?s a schema:Occupation .
?s schema:name ?name .
}
WHERE {
?s a schema:Occupation .
OPTIONAL { ?s schema:name ?name }
}
;
CONSTRUCT {
?s a schema:Occupation .
?s a skos:Concept .

147687
data/graph-06.ttl Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,303 @@
Loading data/graph-06.ttl...
Loaded 148985 triples.
Running queries/step_06_1hop_example.rq...
Constructed 259 triples.
@prefix tm: <https://daniel.degu.cl/ontologies/theatre-migrants/> .
@prefix wdtn: <http://www.wikidata.org/prop/direct-normalized/> .
@prefix wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix person: <http://example.org/migrants/person/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix schema: <https://schema.org/> .
person:AbeIre-00 a schema:Person ;
rdfs:label "Irene Abendroth" ;
schema:givenName "Irene" ;
schema:familyName "Abendroth" ;
schema:birthDate "1872-07-14"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:deathDate "1932-09-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:gender schema:Female ;
schema:birthPlace <http://example.org/migrants/location/UA-Lv-00> ;
schema:deathPlace <http://example.org/migrants/location/AT-Weid-00> ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/FS_PK267702alt.jpg> ;
schema:citation "Karl-Josef Kutsch, Leo Riemens: Großes Sängerlexikon, Bern: Saur 2003, pp. 3-4. \nWiener Staatsoper: Aufführungsarchiv, https://archiv.wiener-staatsoper.at/search/person/7243\nFremdenblatt - Organ für die böhmischen Kurorte, 8th July 1888, p. 2: https://anno.onb.ac.at/cgi-content/anno?aid=fbl&amp;datum=18880708&amp;query=%22Abendroth+Karlsbad%22~25&amp;ref=anno-search&amp;seite=2\n\n" ;
schema:hasOccupation <http://example.org/migrants/occupation/Opera%20singer> ;
schema:sameAs <https://en.wikipedia.org/wiki/Irene_Abendroth> ;
owl:sameAs <https://www.wikidata.org/wiki/Q79002> ;
wdtn:P214 <https://viaf.org/viaf/39572476> ;
wdtn:P227 <https://d-nb.info/gnd/116002506> ;
wdtn:P213 <https://isni.org/isni/0000000035722792> ;
wdtn:P244 <https://worldcat.org/identities/lccn-n97053925/> ;
wdtn:P3430 <https://snaccooperative.org/ark:/99166/w6bt189x#resources> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> ;
tm:birthDateMax "1872-07-14"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:deathDateMax "1932-09-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:religionLabel "Christian" ;
tm:imageSource <https://www.theatermuseum.at/online-sammlung/detail/546808/> .
<http://example.org/migrants/person_profession/5120> a tm:PersonProfession ;
tm:personProfessionPerson person:AbeIre-00 ;
tm:professionLabel "Singer" .
<http://example.org/migrants/relationship/2> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:MamEmm-00 ;
tm:relationshipLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/3> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:WilAur-00 ;
tm:relationshipLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/38> a tm:Relationship ;
tm:activePerson person:MamEmm-00 ;
tm:passivePerson person:AbeIre-00 .
<http://example.org/migrants/relationship/93> a tm:Relationship ;
tm:activePerson person:WilAur-00 ;
tm:passivePerson person:AbeIre-00 ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/16834> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:LamFra-00 ;
tm:relationshipLocation <http://example.org/migrants/location/IT-Mila-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/16839> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:AbeMir-00 ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> ;
tm:relationshipTypePrecise <http://example.org/migrants/RelationshipTypePrecise-Sister> .
<http://example.org/migrants/relationship/16844> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:CamCle-00 ;
tm:relationshipLocation <http://example.org/migrants/location/IT-Mila-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/21686> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:MamEmm-00 ;
tm:relationshipLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/work/1> a org:Membership ;
org:member person:AbeIre-00 ;
tm:workLocation <http://example.org/migrants/location/CZ-Karlsb-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:employment "Permanent" ;
tm:dateStartMin "1888-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1888-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1888" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/2> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/71> ;
tm:workLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1889-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1889-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1889" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/3> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/72> ;
tm:workLocation <http://example.org/migrants/location/LV-RIX-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1890-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1890-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1891-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1891-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1890" ;
tm:dateEndFuzzy "1891" .
<http://example.org/migrants/work/4> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/73> ;
tm:workLocation <http://example.org/migrants/location/GER-MUC-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1891-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1891-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1894-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1894-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1891" ;
tm:dateEndFuzzy "1894" .
<http://example.org/migrants/work/5> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/71> ;
tm:workLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1894-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1894-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1897-03-22"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1897-03-22"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1894" ;
tm:dateEndFuzzy "1897" .
<http://example.org/migrants/work/6> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/450> ;
tm:workLocation <http://example.org/migrants/location/GER-Dresd-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
rdfs:comment "she left Vienna because of disagreements with Gustav Mahler (Director" ;
tm:dateStartMin "1899-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1899-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1909-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1909-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1899" ;
tm:dateEndFuzzy "1909" .
<http://example.org/migrants/work/7> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/75> ;
tm:workLocation <http://example.org/migrants/location/GER-BER-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
rdfs:comment "Between 1905 and 1907 guest engagements at Berliner Hofoper" ;
tm:dateStartMin "1905-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1905-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1905" ;
tm:dateEndFuzzy "1907" .
<http://example.org/migrants/work/8> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/76> ;
tm:workLocation <http://example.org/migrants/location/GER-STR-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1905-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1905-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1905" ;
tm:dateEndFuzzy "1907" .
<http://example.org/migrants/work/9> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/77> ;
tm:workLocation <http://example.org/migrants/location/GER-Ffm-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1907" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/10> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/78> ;
tm:workLocation <http://example.org/migrants/location/GER-Leip-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1907" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/11> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/79> ;
tm:workLocation <http://example.org/migrants/location/CZ-Prag-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
rdfs:comment "Deutsches Theater Prag" ;
tm:dateStartMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1907" .
<http://example.org/migrants/migration_table/5> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/UA-Lv-00> ;
tm:destinationPlace <http://example.org/migrants/location/IT-Mila-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Education> .
<http://example.org/migrants/migration_table/6> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/CZ-Karlsb-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1889-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1889-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1889" .
<http://example.org/migrants/migration_table/7> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/LV-RIX-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1890-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1890-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1890" .
<http://example.org/migrants/migration_table/8> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/LV-RIX-00> ;
tm:destinationPlace <http://example.org/migrants/location/GER-MUC-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1891-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1891-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1891" .
<http://example.org/migrants/migration_table/9> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/GER-MUC-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1894-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1894-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1894" .
<http://example.org/migrants/migration_table/10> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/GER-Dresd-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1899-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1899-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1899" .
<http://example.org/migrants/migration_table/11> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/GER-Dresd-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1909-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1909-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1909" .
<http://example.org/migrants/migration_table/2114> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/IT-Mila-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Education> .
<http://example.org/migrants/migration_table/2117> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/CZ-Karlsb-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> .
<http://example.org/migrants/migration_table/2118> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-Weid-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Other> ;
tm:dateStartMin "1909-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1909-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1909" .

View file

@ -0,0 +1,575 @@
Loading data/graph-06.ttl...
Loaded 148985 triples.
Running queries/step_06_2hop_example.rq...
Constructed 503 triples.
@prefix tm: <https://daniel.degu.cl/ontologies/theatre-migrants/> .
@prefix wdtn: <http://www.wikidata.org/prop/direct-normalized/> .
@prefix wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix person: <http://example.org/migrants/person/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix schema: <https://schema.org/> .
<http://example.org/migrants/occupation/Opera%20singer> a schema:Occupation ;
schema:name "Opera singer"@en .
<http://example.org/migrants/ImportSource-Own> a skos:Concept , tm:ImportSource ;
rdfs:label "Own"@en .
person:AbeIre-00 a schema:Person ;
rdfs:label "Irene Abendroth" ;
schema:givenName "Irene" ;
schema:familyName "Abendroth" ;
schema:birthDate "1872-07-14"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:deathDate "1932-09-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:gender schema:Female ;
schema:birthPlace <http://example.org/migrants/location/UA-Lv-00> ;
schema:deathPlace <http://example.org/migrants/location/AT-Weid-00> ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/FS_PK267702alt.jpg> ;
schema:citation "Karl-Josef Kutsch, Leo Riemens: Großes Sängerlexikon, Bern: Saur 2003, pp. 3-4. \nWiener Staatsoper: Aufführungsarchiv, https://archiv.wiener-staatsoper.at/search/person/7243\nFremdenblatt - Organ für die böhmischen Kurorte, 8th July 1888, p. 2: https://anno.onb.ac.at/cgi-content/anno?aid=fbl&amp;datum=18880708&amp;query=%22Abendroth+Karlsbad%22~25&amp;ref=anno-search&amp;seite=2\n\n" ;
schema:hasOccupation <http://example.org/migrants/occupation/Opera%20singer> ;
schema:sameAs <https://en.wikipedia.org/wiki/Irene_Abendroth> ;
owl:sameAs <https://www.wikidata.org/wiki/Q79002> ;
wdtn:P214 <https://viaf.org/viaf/39572476> ;
wdtn:P227 <https://d-nb.info/gnd/116002506> ;
wdtn:P213 <https://isni.org/isni/0000000035722792> ;
wdtn:P244 <https://worldcat.org/identities/lccn-n97053925/> ;
wdtn:P3430 <https://snaccooperative.org/ark:/99166/w6bt189x#resources> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> ;
tm:birthDateMax "1872-07-14"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:deathDateMax "1932-09-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:religionLabel "Christian" ;
tm:imageSource <https://www.theatermuseum.at/online-sammlung/detail/546808/> .
<http://example.org/migrants/person_profession/5120> a tm:PersonProfession ;
tm:personProfessionPerson person:AbeIre-00 ;
tm:professionLabel "Singer" .
<http://example.org/migrants/relationship/2> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:MamEmm-00 ;
tm:relationshipLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/3> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:WilAur-00 ;
tm:relationshipLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/38> a tm:Relationship ;
tm:activePerson person:MamEmm-00 ;
tm:passivePerson person:AbeIre-00 .
<http://example.org/migrants/relationship/93> a tm:Relationship ;
tm:activePerson person:WilAur-00 ;
tm:passivePerson person:AbeIre-00 ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/16834> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:LamFra-00 ;
tm:relationshipLocation <http://example.org/migrants/location/IT-Mila-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/16839> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:AbeMir-00 ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> ;
tm:relationshipTypePrecise <http://example.org/migrants/RelationshipTypePrecise-Sister> .
<http://example.org/migrants/relationship/16844> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:CamCle-00 ;
tm:relationshipLocation <http://example.org/migrants/location/IT-Mila-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/relationship/21686> a tm:Relationship ;
tm:activePerson person:AbeIre-00 ;
tm:passivePerson person:MamEmm-00 ;
tm:relationshipLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:relationshipType <http://example.org/migrants/RelationshipType-> .
<http://example.org/migrants/work/1> a org:Membership ;
org:member person:AbeIre-00 ;
tm:workLocation <http://example.org/migrants/location/CZ-Karlsb-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:employment "Permanent" ;
tm:dateStartMin "1888-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1888-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1888" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/2> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/71> ;
tm:workLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1889-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1889-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1889" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/3> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/72> ;
tm:workLocation <http://example.org/migrants/location/LV-RIX-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1890-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1890-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1891-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1891-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1890" ;
tm:dateEndFuzzy "1891" .
<http://example.org/migrants/work/4> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/73> ;
tm:workLocation <http://example.org/migrants/location/GER-MUC-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1891-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1891-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1894-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1894-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1891" ;
tm:dateEndFuzzy "1894" .
<http://example.org/migrants/work/5> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/71> ;
tm:workLocation <http://example.org/migrants/location/AT-VIE-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1894-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1894-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1897-03-22"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1897-03-22"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1894" ;
tm:dateEndFuzzy "1897" .
<http://example.org/migrants/work/6> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/450> ;
tm:workLocation <http://example.org/migrants/location/GER-Dresd-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
rdfs:comment "she left Vienna because of disagreements with Gustav Mahler (Director" ;
tm:dateStartMin "1899-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1899-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1909-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1909-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1899" ;
tm:dateEndFuzzy "1909" .
<http://example.org/migrants/work/7> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/75> ;
tm:workLocation <http://example.org/migrants/location/GER-BER-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
rdfs:comment "Between 1905 and 1907 guest engagements at Berliner Hofoper" ;
tm:dateStartMin "1905-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1905-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1905" ;
tm:dateEndFuzzy "1907" .
<http://example.org/migrants/work/8> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/76> ;
tm:workLocation <http://example.org/migrants/location/GER-STR-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1905-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1905-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateEndMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1905" ;
tm:dateEndFuzzy "1907" .
<http://example.org/migrants/work/9> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/77> ;
tm:workLocation <http://example.org/migrants/location/GER-Ffm-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1907" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/10> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/78> ;
tm:workLocation <http://example.org/migrants/location/GER-Leip-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
tm:dateStartMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1907" ;
tm:dateEndFuzzy "-" .
<http://example.org/migrants/work/11> a org:Membership ;
org:member person:AbeIre-00 ;
org:organization <http://example.org/migrants/organisation/79> ;
tm:workLocation <http://example.org/migrants/location/CZ-Prag-00> ;
tm:profession <http://example.org/migrants/Profession-Singer> ;
tm:employmentType <http://example.org/migrants/EmploymentType-Tour> ;
rdfs:comment "Deutsches Theater Prag" ;
tm:dateStartMin "1907-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1907-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1907" .
<http://example.org/migrants/migration_table/5> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/UA-Lv-00> ;
tm:destinationPlace <http://example.org/migrants/location/IT-Mila-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Education> .
<http://example.org/migrants/migration_table/6> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/CZ-Karlsb-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1889-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1889-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1889" .
<http://example.org/migrants/migration_table/7> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/LV-RIX-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1890-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1890-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1890" .
<http://example.org/migrants/migration_table/8> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/LV-RIX-00> ;
tm:destinationPlace <http://example.org/migrants/location/GER-MUC-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1891-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1891-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1891" .
<http://example.org/migrants/migration_table/9> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/GER-MUC-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1894-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1894-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1894" .
<http://example.org/migrants/migration_table/10> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/GER-Dresd-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1899-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1899-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1899" .
<http://example.org/migrants/migration_table/11> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/GER-Dresd-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> ;
tm:dateStartMin "1909-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1909-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1909" .
<http://example.org/migrants/migration_table/2114> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/IT-Mila-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Education> .
<http://example.org/migrants/migration_table/2117> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/CZ-Karlsb-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Labour> .
<http://example.org/migrants/migration_table/2118> a tm:Migration ;
tm:migrant person:AbeIre-00 ;
tm:startPlace <http://example.org/migrants/location/AT-VIE-00> ;
tm:destinationPlace <http://example.org/migrants/location/AT-Weid-00> ;
tm:reason <http://example.org/migrants/MigrationReason-Other> ;
tm:dateStartMin "1909-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartMax "1909-12-31"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:dateStartFuzzy "1909" .
person:WilAur-00 a schema:Person ;
rdfs:label "Aurelie Wilczek" ;
rdfs:comment "born Strusin[e]/Galizien (Strussiw/UA)\n" ;
schema:givenName "Aurelie" ;
schema:familyName "Wilczek" ;
schema:birthDate "1845-01-20"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:deathDate "1927-08-06"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:gender schema:Female ;
schema:birthPlace <http://example.org/migrants/location/PL-Galz-00> ;
schema:deathPlace <http://example.org/migrants/location/AT-Gois-00> ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
schema:citation "Andrea Harrandt: Jäger (-Wilczek), Familie, in: Oesterreichisches Musiklexikon. Online-Ausgabe, Wien 2002 ff., OEML: http://www.musiklexikon.ac.at/ml/musik_J/Jaeger_Familie_2.xmlKarl-Josef Kutsch, Leo Riemens: Großes Sängerlexikon, Bern: Saur 2003, p. 2217.&nbsp;Ludwig Eisenberg: Großes biographisches Lexikon der deutschen Bühne im XIX. Jahrhundert.&nbsp; Leipzig: List 1903, pp. 468- 469." ;
schema:hasOccupation <http://example.org/migrants/occupation/Singer%2C%20Singing%20Teacher> ;
schema:sameAs <https://de.wikipedia.org/wiki/Aurelie_Wilczek> ;
owl:sameAs <https://www.wikidata.org/wiki/Q18018523> ;
wdtn:P214 <https://viaf.org/viaf/304930607> ;
wdtn:P227 <https://d-nb.info/gnd/1037100972> ;
wdtn:P1871 <https://data.cerl.org/thesaurus/cnp02080470> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> ;
tm:birthDateMax "1845-01-20"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:deathDateMax "1927-08-06"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:imageSource "-" .
person:LamFra-00 a schema:Person ;
rdfs:label "Francesco Lamperti Lamperti" ;
schema:givenName "Francesco Lamperti" ;
schema:familyName "Lamperti" ;
schema:gender schema:Male ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> .
person:AbeMir-00 a schema:Person ;
rdfs:label "Mira Abendroth" ;
schema:givenName "Mira" ;
schema:familyName "Abendroth" ;
schema:gender schema:Female ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> .
<http://example.org/migrants/RelationshipTypePrecise-Sister> a skos:Concept , tm:RelationshipTypePrecise ;
rdfs:label "Sister"@en ;
skos:prefLabel "Sister"@en .
person:CamCle-00 a schema:Person ;
rdfs:label "Cleofonte Campanini" ;
schema:givenName "Cleofonte" ;
schema:familyName "Campanini" ;
schema:gender schema:Female ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> .
person:MamEmm-00 a schema:Person ;
rdfs:label "Emma Mampé-Babnigg" ;
schema:givenName "Emma" ;
schema:familyName "Mampé-Babnigg" ;
schema:birthDate "1825-02-25"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:deathDate "1904-05-05"^^<http://www.w3.org/2001/XMLSchema#date> ;
schema:gender schema:Female ;
schema:birthPlace <http://example.org/migrants/location/HU-Pest-00> ;
schema:deathPlace <http://example.org/migrants/location/AT-VIE-00> ;
schema:image <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
schema:hasOccupation <http://example.org/migrants/occupation/Opera%20Singer%2CSoprano%2C%20Singing%20Teacher> ;
schema:sameAs <https://de.wikipedia.org/wiki/Emma_Mampe-Babnigg> ;
owl:sameAs <https://www.wikidata.org/wiki/Q17425396> ;
wdtn:P214 <https://viaf.org/viaf/62289633> ;
wdtn:P227 <https://d-nb.info/gnd/116021799> ;
wdtn:P1871 <https://data.cerl.org/thesaurus/cnp01075147> ;
tm:importSource <http://example.org/migrants/ImportSource-Own> ;
tm:birthDateMax "1825-02-25"^^<http://www.w3.org/2001/XMLSchema#date> ;
tm:deathDateMax "1904-05-05"^^<http://www.w3.org/2001/XMLSchema#date> .
<http://example.org/migrants/RelationshipType-> a skos:Concept , tm:RelationshipType .
<http://example.org/migrants/organisation/72> a schema:Organization ;
schema:name "Oper Riga" ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/organisation/73> a schema:Organization ;
schema:name "Königl. Hoftheater in München" ;
schema:location <http://example.org/migrants/location/GER-MUC-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/organisation/71> a schema:Organization ;
schema:name "Hofoper Wien" ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/organisation/450> a schema:Organization ;
schema:name "Hofoper Dresden" ;
schema:location <http://example.org/migrants/location/GER-Dresd-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/organisation/75> a schema:Organization ;
schema:name "Königliche Oper, Berlin" ;
schema:location <http://example.org/migrants/location/GER-BER-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/location/GER-BER-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q64> ;
schema:sameAs <https://en.wikipedia.org/wiki/Berlin> ;
wgs84:lat "52.52"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "13.405"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2950159 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Germany> ;
tm:city <http://example.org/migrants/City-Berlin> .
<http://example.org/migrants/organisation/76> a schema:Organization ;
schema:name "Hofoper Stuttgart" ;
schema:location <http://example.org/migrants/location/GER-STR-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/location/GER-STR-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1022> ;
schema:sameAs <https://en.wikipedia.org/wiki/Stuttgart> ;
wgs84:lat "48.782"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "9.184"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2825297 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Germany> ;
tm:city <http://example.org/migrants/City-Stuttgart> .
<http://example.org/migrants/organisation/77> a schema:Organization ;
schema:name "Oper Frankfurt" ;
schema:location <http://example.org/migrants/location/GER-Ffm-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/location/GER-Ffm-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1794> ;
schema:sameAs <https://en.wikipedia.org/wiki/Frankfurt> ;
wgs84:lat "50.1167"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "8.68333"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2925533 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Germany> ;
tm:city <http://example.org/migrants/City-Frankfurt> .
<http://example.org/migrants/organisation/78> a schema:Organization ;
schema:name "Oper Leipzig" ;
schema:location <http://example.org/migrants/location/GER-Leip-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/location/GER-Leip-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q2079> ;
schema:sameAs <https://en.wikipedia.org/wiki/Leipzig> ;
wgs84:lat "51.3333"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "12.3833"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2879139 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Germany> ;
tm:city <http://example.org/migrants/City-Leipzig> .
<http://example.org/migrants/organisation/79> a schema:Organization ;
schema:name "Deutsches Theater Prag" ;
schema:location <http://example.org/migrants/location/CZ-Prag-00> ;
tm:institutionType <http://example.org/migrants/InstitutionType-Theatre> .
<http://example.org/migrants/location/CZ-Prag-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1085> ;
schema:sameAs <https://en.wikipedia.org/wiki/Prague> ;
wgs84:lat "50.0833"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "14.4167"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 3067696 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-CzechRepublic> ;
tm:city <http://example.org/migrants/City-Prague> .
<http://example.org/migrants/Profession-Singer> a schema:Occupation , skos:Concept ;
rdfs:label "Singer"@en ;
skos:prefLabel "Singer"@en ;
schema:name "Singer"@en .
<http://example.org/migrants/EmploymentType-Tour> a skos:Concept , tm:EmploymentType ;
rdfs:label "Tour"@en ;
skos:prefLabel "Tour"@en .
<http://example.org/migrants/location/UA-Lv-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q36036> ;
schema:sameAs <https://en.wikipedia.org/wiki/Lviv> ;
wgs84:lat "49.83"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "24.0142"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 702550 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Ukraine> ;
tm:city <http://example.org/migrants/City-Lviv> .
<http://example.org/migrants/location/LV-RIX-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1773> ;
schema:sameAs <https://en.wikipedia.org/wiki/Riga> ;
wgs84:lat "56.9489"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "24.1064"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 456172 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Latvia> ;
tm:city <http://example.org/migrants/City-Riga> .
<http://example.org/migrants/location/GER-MUC-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1726> ;
schema:sameAs <https://en.wikipedia.org/wiki/Munich> ;
wgs84:lat "48.1333"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "11.5667"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2867714 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Germany> ;
tm:city <http://example.org/migrants/City-Munich> .
<http://example.org/migrants/location/GER-Dresd-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1731> ;
schema:sameAs <https://en.wikipedia.org/wiki/Dresden> ;
wgs84:lat "51.05"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "13.74"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2935022 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Germany> ;
tm:city <http://example.org/migrants/City-Dresden> .
<http://example.org/migrants/location/IT-Mila-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q490> ;
schema:sameAs <https://en.wikipedia.org/wiki/Milan> ;
wgs84:lat "45.4669"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "9.19"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 3173435 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Italy> ;
tm:city <http://example.org/migrants/City-Milan> .
<http://example.org/migrants/MigrationReason-Education> a skos:Concept , tm:MigrationReason ;
rdfs:label "Education"@en ;
skos:prefLabel "Education"@en .
<http://example.org/migrants/location/CZ-Karlsb-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q384544> ;
schema:sameAs <https://en.wikipedia.org/wiki/Karlovy_Vary> ;
wgs84:lat "50.2306"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "12.8725"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 3073803 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-CzechRepublic> ;
tm:city <http://example.org/migrants/City-KarlovyVary> .
<http://example.org/migrants/MigrationReason-Labour> a skos:Concept , tm:MigrationReason ;
rdfs:label "Labour"@en ;
skos:prefLabel "Labour"@en .
<http://example.org/migrants/location/AT-VIE-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q1741> ;
schema:sameAs <https://en.wikipedia.org/wiki/Vienna> ;
wgs84:lat "48.21"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "16.3634"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:geoNamesID 2761369 ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Austria> ;
tm:city <http://example.org/migrants/City-Vienna> .
<http://example.org/migrants/location/AT-Weid-00> a schema:Place ;
owl:sameAs <http://www.wikidata.org/entity/Q484858> ;
wgs84:lat "48.3081"^^<http://www.w3.org/2001/XMLSchema#float> ;
wgs84:long "15.6408"^^<http://www.w3.org/2001/XMLSchema#float> ;
tm:continent <http://example.org/migrants/Continent-Europe> ;
tm:country <http://example.org/migrants/Country-Austria> ;
tm:state <http://example.org/migrants/State-Statzendorf> ;
tm:city <http://example.org/migrants/City-Weidling> .
<http://example.org/migrants/MigrationReason-Other> a skos:Concept , tm:MigrationReason ;
rdfs:label "Other"@en ;
skos:prefLabel "Other"@en .

View file

@ -0,0 +1,26 @@
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <https://schema.org/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX wdtn: <http://www.wikidata.org/prop/direct-normalized/>
PREFIX tm: <https://daniel.degu.cl/ontologies/theatre-migrants/>
PREFIX person: <http://example.org/migrants/person/>
CONSTRUCT {
?s ?p ?o .
}
WHERE {
{
# Triples about Irene Abendroth (as subject)
?s ?p ?o .
FILTER(?s = person:AbeIre-00)
}
UNION
{
# Triples from other entities referencing Irene Abendroth
?s ?p ?o .
?s ?ref person:AbeIre-00 .
}
}

View file

@ -0,0 +1,41 @@
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <https://schema.org/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX wdtn: <http://www.wikidata.org/prop/direct-normalized/>
PREFIX tm: <https://daniel.degu.cl/ontologies/theatre-migrants/>
PREFIX person: <http://example.org/migrants/person/>
CONSTRUCT {
?s ?p ?o .
}
WHERE {
{
# Hop 0: Triples about Irene Abendroth (as subject)
?s ?p ?o .
FILTER(?s = person:AbeIre-00)
}
UNION
{
# Hop 1 (incoming): Triples about nodes referencing the anchor
?s ?p ?o .
?s ?ref person:AbeIre-00 .
}
UNION
{
# Hop 1 (outgoing): Triples about IRI nodes referenced by the anchor
?s ?p ?o .
person:AbeIre-00 ?ref ?s .
FILTER(isIRI(?s))
}
UNION
{
# Hop 2: Triples about IRI nodes referenced by hop-1 nodes
?s ?p ?o .
?hop1 ?r1 person:AbeIre-00 .
?hop1 ?r2 ?s .
FILTER(isIRI(?s) && ?s != person:AbeIre-00)
}
}

100
src/map/step_06.rs Normal file
View file

@ -0,0 +1,100 @@
/// Step 6: Map to Theatre Migrants ontology (tm: namespace).
///
/// Loads `data/graph-05.ttl`, runs all SPARQL CONSTRUCT queries from
/// `constructs_step06/` (sorted alphabetically), collects the resulting
/// triples into a new graph, and writes it to `data/graph-06.ttl`.
///
/// Usage: Run from the mapping project directory:
/// cargo run --release --bin step-06
use std::fs;
use oxigraph::io::{RdfFormat, RdfParser};
use oxigraph::model::{GraphNameRef, QuadRef};
use oxigraph::sparql::QueryResults;
use oxigraph::store::Store;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let input_path = "data/graph-05.ttl";
let output_path = "data/graph-06.ttl";
let constructs_dir = "constructs_step06";
// Create in-memory store and load input graph
let source = Store::new()?;
eprintln!("Loading graph from {}...", input_path);
let input = fs::File::open(input_path)?;
let reader = std::io::BufReader::new(input);
let parser = RdfParser::from_format(RdfFormat::Turtle)
.without_named_graphs()
.with_default_graph(GraphNameRef::DefaultGraph);
source.load_from_reader(parser, reader)?;
let initial_count = count_triples(&source);
eprintln!("Loaded {} triples.", initial_count);
// Output store collects all CONSTRUCT results
let output = Store::new()?;
// Read and sort SPARQL CONSTRUCT files
let mut query_files: Vec<_> = fs::read_dir(constructs_dir)?
.filter_map(|e| e.ok())
.map(|e| e.path())
.filter(|p| {
p.extension()
.and_then(|e| e.to_str())
.map_or(false, |e| e == "rq")
})
.collect();
query_files.sort();
// Run each CONSTRUCT query and collect results
for query_file in &query_files {
let query = fs::read_to_string(query_file)?;
let name = query_file
.file_name()
.and_then(|n| n.to_str())
.unwrap_or("unknown");
let before = count_triples(&output);
match source.query(&query)? {
QueryResults::Graph(triples) => {
for triple in triples {
let triple = triple?;
output.insert(QuadRef::new(
triple.subject.as_ref(),
triple.predicate.as_ref(),
triple.object.as_ref(),
GraphNameRef::DefaultGraph,
))?;
}
}
_ => {
eprintln!("Warning: {} did not return a graph", name);
}
}
let after = count_triples(&output);
let diff = after as i64 - before as i64;
eprintln!(" {}: +{} triples (total: {})", name, diff, after);
}
let final_count = count_triples(&output);
eprintln!("Writing {} triples to {}...", final_count, output_path);
// Dump output store to Turtle
fs::create_dir_all("data")?;
let out_file = fs::File::create(output_path)?;
let writer = std::io::BufWriter::new(out_file);
output.dump_graph_to_writer(GraphNameRef::DefaultGraph, RdfFormat::Turtle, writer)?;
eprintln!("Done.");
Ok(())
}
fn count_triples(store: &Store) -> usize {
store
.quads_for_pattern(None, None, None, None)
.count()
}