Add Step 4: remove empty string literals representing missing data.

This commit is contained in:
Daniel Hernandez 2026-02-28 19:07:36 +01:00
parent 1c15bc8cf7
commit 28eb1e7cfd
10 changed files with 163119 additions and 2 deletions

View file

@ -15,6 +15,10 @@ path = "src/map/step_02.rs"
name = "step-03" name = "step-03"
path = "src/map/step_03.rs" path = "src/map/step_03.rs"
[[bin]]
name = "step-04"
path = "src/map/step_04.rs"
[dependencies] [dependencies]
sophia = "0.9" sophia = "0.9"
oxigraph = "*" oxigraph = "*"

View file

@ -156,6 +156,6 @@ work:4 workp:EmploymentType workp:comment "" .
does not intended to mean a comment "", but the lack of a comment. So, write a query that exclude these comments from the next generated graph. does not intended to mean a comment "", but the lack of a comment. So, write a query that exclude these comments from the next generated graph.
### Step 5 - Use Schema.org ### Step 5 - Use well-known vocabularies
For some classes, properties and individuals we can be represented with Schema.org. For example, the class `migrants:person` can be represented with the class `schema:Person`. Please propose what of these elements could use the Schema.org vocabulary and generate an SPARQL to generate the next graph. For some classes, properties, and individuals we can be represented with Schema.org. For example, the class `migrants:person` can be represented with the class `schema:Person`. Please propose what of these elements could use the Schema.org vocabulary and generate an SPARQL to generate the next graph. Consider using other vocabularies beyond Schema.org, if you consider them appropiate to represent the information on this dataset.

View file

@ -79,6 +79,12 @@ file 'data/graph-03.ttl' => ['data/graph-02.ttl'] + UPDATE_QUERIES_STEP03 do
sh 'step-03' sh 'step-03'
end end
UPDATE_QUERIES_STEP04 = FileList['updates_step04/*.rq']
file 'data/graph-04.ttl' => ['data/graph-03.ttl'] + UPDATE_QUERIES_STEP04 do
sh 'step-04'
end
# ── Examples ───────────────────────────────────────────────────────────────── # ── Examples ─────────────────────────────────────────────────────────────────
SPARQL = File.expand_path('~/.cargo/bin/sparql') SPARQL = File.expand_path('~/.cargo/bin/sparql')
@ -107,6 +113,14 @@ file 'data_examples/step_03_2hop.ttl' => ['data/graph-03.ttl', 'queries/step_03_
sh "#{SPARQL} queries/step_03_2hop_example.rq --graph data/graph-03.ttl --prettify > data_examples/step_03_2hop.ttl" sh "#{SPARQL} queries/step_03_2hop_example.rq --graph data/graph-03.ttl --prettify > data_examples/step_03_2hop.ttl"
end end
file 'data_examples/step_04_1hop.ttl' => ['data/graph-04.ttl', 'queries/step_04_1hop_example.rq'] do
sh "#{SPARQL} queries/step_04_1hop_example.rq --graph data/graph-04.ttl --prettify > data_examples/step_04_1hop.ttl"
end
file 'data_examples/step_04_2hop.ttl' => ['data/graph-04.ttl', 'queries/step_04_2hop_example.rq'] do
sh "#{SPARQL} queries/step_04_2hop_example.rq --graph data/graph-04.ttl --prettify > data_examples/step_04_2hop.ttl"
end
# ── Aggregate tasks ────────────────────────────────────────────────────────── # ── Aggregate tasks ──────────────────────────────────────────────────────────
GENERATED = %w[ GENERATED = %w[
@ -129,6 +143,7 @@ GRAPHS = %w[
data/graph-01.ttl data/graph-01.ttl
data/graph-02.ttl data/graph-02.ttl
data/graph-03.ttl data/graph-03.ttl
data/graph-04.ttl
].freeze ].freeze
EXAMPLES = %w[ EXAMPLES = %w[
@ -138,6 +153,8 @@ EXAMPLES = %w[
data_examples/step_02_2hop.ttl data_examples/step_02_2hop.ttl
data_examples/step_03_1hop.ttl data_examples/step_03_1hop.ttl
data_examples/step_03_2hop.ttl data_examples/step_03_2hop.ttl
data_examples/step_04_1hop.ttl
data_examples/step_04_2hop.ttl
].freeze ].freeze
task examples: EXAMPLES task examples: EXAMPLES

162092
data/graph-04.ttl Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,298 @@
@prefix location: <http://example.org/migrants/location/> .
@prefix locationp: <http://example.org/migrants/location#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix person: <http://example.org/migrants/person/> .
@prefix personp: <http://example.org/migrants/person#> .
@prefix work: <http://example.org/migrants/work/> .
@prefix workp: <http://example.org/migrants/work#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix migrants: <http://example.org/migrants/> .
person:AbeIre-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-female ;
personp:Source "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" ;
personp:ref-IDDeathPlace location:AT-Weid-00 ;
personp:ref-IDBirthPlace location:UA-Lv-00 ;
personp:profession "Opera singer" ;
personp:religion "Christian" ;
personp:family_name "Abendroth" ;
personp:first_name "Irene" ;
personp:IDPerson "AbeIre-00" ;
a migrants:person ;
personp:birthdate "1872-07-14"^^xsd:date ;
personp:birthdate_max "1872-07-14"^^xsd:date ;
personp:deathdate "1932-09-01"^^xsd:date ;
personp:deathdate_max "1932-09-01"^^xsd:date ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/FS_PK267702alt.jpg> ;
personp:image_source <https://www.theatermuseum.at/online-sammlung/detail/546808/> ;
personp:Wikipedia <https://en.wikipedia.org/wiki/Irene_Abendroth> ;
personp:Wikidata <https://www.wikidata.org/wiki/Q79002> ;
personp:GND <https://d-nb.info/gnd/116002506> ;
personp:LCCN <https://worldcat.org/identities/lccn-n97053925/> ;
personp:VIAF <https://viaf.org/viaf/39572476> ;
personp:ISNI <https://isni.org/isni/0000000035722792> ;
personp:SNAC <https://snaccooperative.org/ark:/99166/w6bt189x#resources> .
work:11 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:comment "Deutsches Theater Prag" ;
workp:DateStart_Fuzzy "1907" ;
workp:ref-IDOrganisation migrants:organisation\/79 ;
workp:ref-IDLocation location:CZ-Prag-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1907-01-01"^^xsd:date ;
workp:DateStart_Max "1907-12-31"^^xsd:date ;
workp:IDWork 11 .
work:10 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1907" ;
workp:ref-IDOrganisation migrants:organisation\/78 ;
workp:ref-IDLocation location:GER-Leip-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1907-01-01"^^xsd:date ;
workp:DateStart_Max "1907-12-31"^^xsd:date ;
workp:IDWork 10 .
work:9 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1907" ;
workp:ref-IDOrganisation migrants:organisation\/77 ;
workp:ref-IDLocation location:GER-Ffm-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1907-01-01"^^xsd:date ;
workp:DateStart_Max "1907-12-31"^^xsd:date ;
workp:IDWork 9 .
work:8 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1907" ;
workp:DateStart_Fuzzy "1905" ;
workp:ref-IDOrganisation migrants:organisation\/76 ;
workp:ref-IDLocation location:GER-STR-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1905-01-01"^^xsd:date ;
workp:DateStart_Max "1905-12-31"^^xsd:date ;
workp:DateEnd_Min "1907-01-01"^^xsd:date ;
workp:DateEnd_Max "1907-12-31"^^xsd:date ;
workp:IDWork 8 .
work:7 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:comment "Between 1905 and 1907 guest engagements at Berliner Hofoper" ;
workp:DateEnd_Fuzzy "1907" ;
workp:DateStart_Fuzzy "1905" ;
workp:ref-IDOrganisation migrants:organisation\/75 ;
workp:ref-IDLocation location:GER-BER-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1905-01-01"^^xsd:date ;
workp:DateStart_Max "1905-12-31"^^xsd:date ;
workp:DateEnd_Min "1907-01-01"^^xsd:date ;
workp:DateEnd_Max "1907-12-31"^^xsd:date ;
workp:IDWork 7 .
work:6 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:comment "she left Vienna because of disagreements with Gustav Mahler (Director" ;
workp:DateEnd_Fuzzy "1909" ;
workp:DateStart_Fuzzy "1899" ;
workp:ref-IDOrganisation migrants:organisation\/450 ;
workp:ref-IDLocation location:GER-Dresd-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1899-01-01"^^xsd:date ;
workp:DateStart_Max "1899-12-31"^^xsd:date ;
workp:DateEnd_Min "1909-01-01"^^xsd:date ;
workp:DateEnd_Max "1909-12-31"^^xsd:date ;
workp:IDWork 6 .
work:5 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1897" ;
workp:DateStart_Fuzzy "1894" ;
workp:ref-IDOrganisation migrants:organisation\/71 ;
workp:ref-IDLocation location:AT-VIE-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1894-01-01"^^xsd:date ;
workp:DateStart_Max "1894-12-31"^^xsd:date ;
workp:DateEnd_Min "1897-03-22"^^xsd:date ;
workp:DateEnd_Max "1897-03-22"^^xsd:date ;
workp:IDWork 5 .
work:4 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1894" ;
workp:DateStart_Fuzzy "1891" ;
workp:ref-IDOrganisation migrants:organisation\/73 ;
workp:ref-IDLocation location:GER-MUC-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1891-01-01"^^xsd:date ;
workp:DateStart_Max "1891-12-31"^^xsd:date ;
workp:DateEnd_Min "1894-01-01"^^xsd:date ;
workp:DateEnd_Max "1894-12-31"^^xsd:date ;
workp:IDWork 4 .
work:3 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1891" ;
workp:DateStart_Fuzzy "1890" ;
workp:ref-IDOrganisation migrants:organisation\/72 ;
workp:ref-IDLocation location:LV-RIX-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1890-01-01"^^xsd:date ;
workp:DateStart_Max "1890-12-31"^^xsd:date ;
workp:DateEnd_Min "1891-01-01"^^xsd:date ;
workp:DateEnd_Max "1891-12-31"^^xsd:date ;
workp:IDWork 3 .
work:2 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1889" ;
workp:ref-IDOrganisation migrants:organisation\/71 ;
workp:ref-IDLocation location:AT-VIE-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1889-01-01"^^xsd:date ;
workp:DateStart_Max "1889-12-31"^^xsd:date ;
workp:IDWork 2 .
work:1 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:Employment "Permanent" ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1888" ;
workp:ref-IDLocation location:CZ-Karlsb-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1888-01-01"^^xsd:date ;
workp:DateStart_Max "1888-12-31"^^xsd:date ;
workp:IDWork 1 .
migrants:relationship\/21686 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:AT-VIE-00 ;
migrants:relationship\#ref-IDPerson_passive person:MamEmm-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 21686 .
migrants:relationship\/16844 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:IT-Mila-00 ;
migrants:relationship\#ref-IDPerson_passive person:CamCle-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 16844 .
migrants:relationship\/16839 migrants:relationship\#relationshiptype_precise migrants:RelationshipTypePrecise-Sister ;
migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDPerson_passive person:AbeMir-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 16839 .
migrants:relationship\/16834 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:IT-Mila-00 ;
migrants:relationship\#ref-IDPerson_passive person:LamFra-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 16834 .
migrants:relationship\/93 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDPerson_passive person:AbeIre-00 ;
migrants:relationship\#ref-IDPerson_active person:WilAur-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 93 .
migrants:relationship\/38 migrants:relationship\#ref-IDPerson_passive person:AbeIre-00 ;
migrants:relationship\#ref-IDPerson_active person:MamEmm-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 38 .
migrants:relationship\/3 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:AT-VIE-00 ;
migrants:relationship\#ref-IDPerson_passive person:WilAur-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 3 .
migrants:relationship\/2 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:AT-VIE-00 ;
migrants:relationship\#ref-IDPerson_passive person:MamEmm-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 2 .
migrants:person_profession\/5120 migrants:person_profession\#profession "Singer" ;
migrants:person_profession\#ref-IDPerson person:AbeIre-00 ;
a migrants:person_profession ;
migrants:person_profession\#IDProfPerson 5120 .
migrants:migration_table\/2118 migrants:migration_table\#reason migrants:MigrationReason-Other ;
migrants:migration_table\#DateStart_Fuzzy "1909" ;
migrants:migration_table\#ref-IDDestPlace location:AT-Weid-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1909-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1909-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 2118 .
migrants:migration_table\/2117 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#ref-IDDestPlace location:CZ-Karlsb-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#IDMig 2117 .
migrants:migration_table\/2114 migrants:migration_table\#reason migrants:MigrationReason-Education ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:IT-Mila-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#IDMig 2114 .
migrants:migration_table\/11 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1909" ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:GER-Dresd-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1909-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1909-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 11 .
migrants:migration_table\/10 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1899" ;
migrants:migration_table\#ref-IDDestPlace location:GER-Dresd-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1899-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1899-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 10 .
migrants:migration_table\/9 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1894" ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:GER-MUC-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1894-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1894-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 9 .
migrants:migration_table\/8 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1891" ;
migrants:migration_table\#ref-IDDestPlace location:GER-MUC-00 ;
migrants:migration_table\#ref-IDStartPlace location:LV-RIX-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1891-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1891-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 8 .
migrants:migration_table\/7 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1890" ;
migrants:migration_table\#ref-IDDestPlace location:LV-RIX-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1890-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1890-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 7 .
migrants:migration_table\/6 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1889" ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:CZ-Karlsb-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1889-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1889-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 6 .
migrants:migration_table\/5 migrants:migration_table\#reason migrants:MigrationReason-Education ;
migrants:migration_table\#ref-IDDestPlace location:IT-Mila-00 ;
migrants:migration_table\#ref-IDStartPlace location:UA-Lv-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#IDMig 5 .

View file

@ -0,0 +1,549 @@
@prefix location: <http://example.org/migrants/location/> .
@prefix locationp: <http://example.org/migrants/location#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix person: <http://example.org/migrants/person/> .
@prefix personp: <http://example.org/migrants/person#> .
@prefix work: <http://example.org/migrants/work/> .
@prefix workp: <http://example.org/migrants/work#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix migrants: <http://example.org/migrants/> .
migrants:ImportSource-Own rdfs:label "Own"@en ;
a migrants:ImportSource .
migrants:Gender-female rdfs:label "female"@en ;
a migrants:Gender .
person:AbeIre-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-female ;
personp:Source "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" ;
personp:ref-IDDeathPlace location:AT-Weid-00 ;
personp:ref-IDBirthPlace location:UA-Lv-00 ;
personp:profession "Opera singer" ;
personp:religion "Christian" ;
personp:family_name "Abendroth" ;
personp:first_name "Irene" ;
personp:IDPerson "AbeIre-00" ;
a migrants:person ;
personp:birthdate "1872-07-14"^^xsd:date ;
personp:birthdate_max "1872-07-14"^^xsd:date ;
personp:deathdate "1932-09-01"^^xsd:date ;
personp:deathdate_max "1932-09-01"^^xsd:date ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/FS_PK267702alt.jpg> ;
personp:image_source <https://www.theatermuseum.at/online-sammlung/detail/546808/> ;
personp:Wikipedia <https://en.wikipedia.org/wiki/Irene_Abendroth> ;
personp:Wikidata <https://www.wikidata.org/wiki/Q79002> ;
personp:GND <https://d-nb.info/gnd/116002506> ;
personp:LCCN <https://worldcat.org/identities/lccn-n97053925/> ;
personp:VIAF <https://viaf.org/viaf/39572476> ;
personp:ISNI <https://isni.org/isni/0000000035722792> ;
personp:SNAC <https://snaccooperative.org/ark:/99166/w6bt189x#resources> .
work:11 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:comment "Deutsches Theater Prag" ;
workp:DateStart_Fuzzy "1907" ;
workp:ref-IDOrganisation migrants:organisation\/79 ;
workp:ref-IDLocation location:CZ-Prag-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1907-01-01"^^xsd:date ;
workp:DateStart_Max "1907-12-31"^^xsd:date ;
workp:IDWork 11 .
work:10 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1907" ;
workp:ref-IDOrganisation migrants:organisation\/78 ;
workp:ref-IDLocation location:GER-Leip-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1907-01-01"^^xsd:date ;
workp:DateStart_Max "1907-12-31"^^xsd:date ;
workp:IDWork 10 .
work:9 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1907" ;
workp:ref-IDOrganisation migrants:organisation\/77 ;
workp:ref-IDLocation location:GER-Ffm-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1907-01-01"^^xsd:date ;
workp:DateStart_Max "1907-12-31"^^xsd:date ;
workp:IDWork 9 .
work:8 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1907" ;
workp:DateStart_Fuzzy "1905" ;
workp:ref-IDOrganisation migrants:organisation\/76 ;
workp:ref-IDLocation location:GER-STR-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1905-01-01"^^xsd:date ;
workp:DateStart_Max "1905-12-31"^^xsd:date ;
workp:DateEnd_Min "1907-01-01"^^xsd:date ;
workp:DateEnd_Max "1907-12-31"^^xsd:date ;
workp:IDWork 8 .
work:7 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:comment "Between 1905 and 1907 guest engagements at Berliner Hofoper" ;
workp:DateEnd_Fuzzy "1907" ;
workp:DateStart_Fuzzy "1905" ;
workp:ref-IDOrganisation migrants:organisation\/75 ;
workp:ref-IDLocation location:GER-BER-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1905-01-01"^^xsd:date ;
workp:DateStart_Max "1905-12-31"^^xsd:date ;
workp:DateEnd_Min "1907-01-01"^^xsd:date ;
workp:DateEnd_Max "1907-12-31"^^xsd:date ;
workp:IDWork 7 .
work:6 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:comment "she left Vienna because of disagreements with Gustav Mahler (Director" ;
workp:DateEnd_Fuzzy "1909" ;
workp:DateStart_Fuzzy "1899" ;
workp:ref-IDOrganisation migrants:organisation\/450 ;
workp:ref-IDLocation location:GER-Dresd-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1899-01-01"^^xsd:date ;
workp:DateStart_Max "1899-12-31"^^xsd:date ;
workp:DateEnd_Min "1909-01-01"^^xsd:date ;
workp:DateEnd_Max "1909-12-31"^^xsd:date ;
workp:IDWork 6 .
work:5 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1897" ;
workp:DateStart_Fuzzy "1894" ;
workp:ref-IDOrganisation migrants:organisation\/71 ;
workp:ref-IDLocation location:AT-VIE-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1894-01-01"^^xsd:date ;
workp:DateStart_Max "1894-12-31"^^xsd:date ;
workp:DateEnd_Min "1897-03-22"^^xsd:date ;
workp:DateEnd_Max "1897-03-22"^^xsd:date ;
workp:IDWork 5 .
work:4 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1894" ;
workp:DateStart_Fuzzy "1891" ;
workp:ref-IDOrganisation migrants:organisation\/73 ;
workp:ref-IDLocation location:GER-MUC-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1891-01-01"^^xsd:date ;
workp:DateStart_Max "1891-12-31"^^xsd:date ;
workp:DateEnd_Min "1894-01-01"^^xsd:date ;
workp:DateEnd_Max "1894-12-31"^^xsd:date ;
workp:IDWork 4 .
work:3 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "1891" ;
workp:DateStart_Fuzzy "1890" ;
workp:ref-IDOrganisation migrants:organisation\/72 ;
workp:ref-IDLocation location:LV-RIX-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1890-01-01"^^xsd:date ;
workp:DateStart_Max "1890-12-31"^^xsd:date ;
workp:DateEnd_Min "1891-01-01"^^xsd:date ;
workp:DateEnd_Max "1891-12-31"^^xsd:date ;
workp:IDWork 3 .
work:2 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1889" ;
workp:ref-IDOrganisation migrants:organisation\/71 ;
workp:ref-IDLocation location:AT-VIE-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1889-01-01"^^xsd:date ;
workp:DateStart_Max "1889-12-31"^^xsd:date ;
workp:IDWork 2 .
work:1 workp:EmploymentType migrants:EmploymentType-Tour ;
workp:Profession migrants:Profession-Singer ;
workp:Employment "Permanent" ;
workp:DateEnd_Fuzzy "-" ;
workp:DateStart_Fuzzy "1888" ;
workp:ref-IDLocation location:CZ-Karlsb-00 ;
workp:ref-IDPerson person:AbeIre-00 ;
a migrants:work ;
workp:DateStart_Min "1888-01-01"^^xsd:date ;
workp:DateStart_Max "1888-12-31"^^xsd:date ;
workp:IDWork 1 .
migrants:relationship\/21686 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:AT-VIE-00 ;
migrants:relationship\#ref-IDPerson_passive person:MamEmm-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 21686 .
migrants:relationship\/16844 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:IT-Mila-00 ;
migrants:relationship\#ref-IDPerson_passive person:CamCle-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 16844 .
migrants:relationship\/16839 migrants:relationship\#relationshiptype_precise migrants:RelationshipTypePrecise-Sister ;
migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDPerson_passive person:AbeMir-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 16839 .
migrants:relationship\/16834 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:IT-Mila-00 ;
migrants:relationship\#ref-IDPerson_passive person:LamFra-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 16834 .
migrants:relationship\/93 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDPerson_passive person:AbeIre-00 ;
migrants:relationship\#ref-IDPerson_active person:WilAur-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 93 .
migrants:relationship\/38 migrants:relationship\#ref-IDPerson_passive person:AbeIre-00 ;
migrants:relationship\#ref-IDPerson_active person:MamEmm-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 38 .
migrants:relationship\/3 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:AT-VIE-00 ;
migrants:relationship\#ref-IDPerson_passive person:WilAur-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 3 .
migrants:relationship\/2 migrants:relationship\#Relationshiptype migrants:RelationshipType- ;
migrants:relationship\#ref-IDLocation location:AT-VIE-00 ;
migrants:relationship\#ref-IDPerson_passive person:MamEmm-00 ;
migrants:relationship\#ref-IDPerson_active person:AbeIre-00 ;
a migrants:relationship ;
migrants:relationship\#IDRel 2 .
migrants:person_profession\/5120 migrants:person_profession\#profession "Singer" ;
migrants:person_profession\#ref-IDPerson person:AbeIre-00 ;
a migrants:person_profession ;
migrants:person_profession\#IDProfPerson 5120 .
migrants:migration_table\/2118 migrants:migration_table\#reason migrants:MigrationReason-Other ;
migrants:migration_table\#DateStart_Fuzzy "1909" ;
migrants:migration_table\#ref-IDDestPlace location:AT-Weid-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1909-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1909-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 2118 .
migrants:migration_table\/2117 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#ref-IDDestPlace location:CZ-Karlsb-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#IDMig 2117 .
migrants:migration_table\/2114 migrants:migration_table\#reason migrants:MigrationReason-Education ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:IT-Mila-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#IDMig 2114 .
migrants:migration_table\/11 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1909" ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:GER-Dresd-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1909-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1909-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 11 .
migrants:migration_table\/10 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1899" ;
migrants:migration_table\#ref-IDDestPlace location:GER-Dresd-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1899-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1899-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 10 .
migrants:migration_table\/9 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1894" ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:GER-MUC-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1894-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1894-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 9 .
migrants:migration_table\/8 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1891" ;
migrants:migration_table\#ref-IDDestPlace location:GER-MUC-00 ;
migrants:migration_table\#ref-IDStartPlace location:LV-RIX-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1891-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1891-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 8 .
migrants:migration_table\/7 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1890" ;
migrants:migration_table\#ref-IDDestPlace location:LV-RIX-00 ;
migrants:migration_table\#ref-IDStartPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1890-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1890-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 7 .
migrants:migration_table\/6 migrants:migration_table\#reason migrants:MigrationReason-Labour ;
migrants:migration_table\#DateStart_Fuzzy "1889" ;
migrants:migration_table\#ref-IDDestPlace location:AT-VIE-00 ;
migrants:migration_table\#ref-IDStartPlace location:CZ-Karlsb-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#DateStart_Min "1889-01-01"^^xsd:date ;
migrants:migration_table\#DateStart_Max "1889-12-31"^^xsd:date ;
migrants:migration_table\#IDMig 6 .
migrants:migration_table\/5 migrants:migration_table\#reason migrants:MigrationReason-Education ;
migrants:migration_table\#ref-IDDestPlace location:IT-Mila-00 ;
migrants:migration_table\#ref-IDStartPlace location:UA-Lv-00 ;
migrants:migration_table\#ref-IDPerson person:AbeIre-00 ;
a migrants:migration_table ;
migrants:migration_table\#IDMig 5 .
migrants:organisation\/79 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:CZ-Prag-00 ;
migrants:organisation\#inst_name "Deutsches Theater Prag" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 79 .
location:CZ-Prag-00 locationp:City migrants:City-Prague ;
locationp:Country migrants:Country-CzechRepublic ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1085" ;
locationp:IDLocation "CZ-Prag-00" ;
a migrants:location ;
locationp:latitude "50.0833"^^xsd:float ;
locationp:longitude "14.4167"^^xsd:float ;
locationp:GeoNamesID 3067696 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Prague> .
migrants:organisation\/78 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:GER-Leip-00 ;
migrants:organisation\#inst_name "Oper Leipzig" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 78 .
location:GER-Leip-00 locationp:City migrants:City-Leipzig ;
locationp:Country migrants:Country-Germany ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q2079" ;
locationp:IDLocation "GER-Leip-00" ;
a migrants:location ;
locationp:latitude "51.3333"^^xsd:float ;
locationp:longitude "12.3833"^^xsd:float ;
locationp:GeoNamesID 2879139 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Leipzig> .
migrants:organisation\/77 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:GER-Ffm-00 ;
migrants:organisation\#inst_name "Oper Frankfurt" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 77 .
location:GER-Ffm-00 locationp:City migrants:City-Frankfurt ;
locationp:Country migrants:Country-Germany ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1794" ;
locationp:IDLocation "GER-Ffm-00" ;
a migrants:location ;
locationp:latitude "50.1167"^^xsd:float ;
locationp:longitude "8.68333"^^xsd:float ;
locationp:GeoNamesID 2925533 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Frankfurt> .
migrants:organisation\/76 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:GER-STR-00 ;
migrants:organisation\#inst_name "Hofoper Stuttgart" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 76 .
location:GER-STR-00 locationp:City migrants:City-Stuttgart ;
locationp:Country migrants:Country-Germany ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1022" ;
locationp:IDLocation "GER-STR-00" ;
a migrants:location ;
locationp:latitude "48.782"^^xsd:float ;
locationp:longitude "9.184"^^xsd:float ;
locationp:GeoNamesID 2825297 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Stuttgart> .
migrants:organisation\/75 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:GER-BER-00 ;
migrants:organisation\#inst_name "Königliche Oper, Berlin" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 75 .
location:GER-BER-00 locationp:City migrants:City-Berlin ;
locationp:Country migrants:Country-Germany ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q64" ;
locationp:IDLocation "GER-BER-00" ;
a migrants:location ;
locationp:latitude "52.52"^^xsd:float ;
locationp:longitude "13.405"^^xsd:float ;
locationp:GeoNamesID 2950159 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Berlin> .
migrants:organisation\/450 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:GER-Dresd-00 ;
migrants:organisation\#inst_name "Hofoper Dresden" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 450 .
migrants:organisation\/73 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#ref-IDLocation location:GER-MUC-00 ;
migrants:organisation\#inst_name "Königl. Hoftheater in München" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 73 .
migrants:organisation\/72 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#inst_name "Oper Riga" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 72 .
migrants:organisation\/71 migrants:organisation\#InstType migrants:InstitutionType-Theatre ;
migrants:organisation\#inst_name "Hofoper Wien" ;
a migrants:organisation ;
migrants:organisation\#IDOrganisation 71 .
migrants:EmploymentType-Tour rdfs:label "Tour"@en ;
a migrants:EmploymentType .
migrants:Profession-Singer rdfs:label "Singer"@en ;
a migrants:Profession .
person:CamCle-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-female ;
personp:family_name "Campanini" ;
personp:first_name "Cleofonte" ;
personp:IDPerson "CamCle-00" ;
a migrants:person ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> .
migrants:RelationshipTypePrecise-Sister rdfs:label "Sister"@en ;
a migrants:RelationshipTypePrecise .
person:AbeMir-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-female ;
personp:family_name "Abendroth" ;
personp:first_name "Mira" ;
personp:IDPerson "AbeMir-00" ;
a migrants:person ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> .
person:LamFra-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-male ;
personp:family_name "Lamperti" ;
personp:first_name "Francesco Lamperti" ;
personp:IDPerson "LamFra-00" ;
a migrants:person ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> .
person:WilAur-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-female ;
personp:Source "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." ;
personp:comment "born Strusin[e]/Galizien (Strussiw/UA)\n" ;
personp:ref-IDDeathPlace location:AT-Gois-00 ;
personp:ref-IDBirthPlace location:PL-Galz-00 ;
personp:profession "Singer, Singing Teacher" ;
personp:image_source "-" ;
personp:family_name "Wilczek" ;
personp:first_name "Aurelie" ;
personp:IDPerson "WilAur-00" ;
a migrants:person ;
personp:birthdate "1845-01-20"^^xsd:date ;
personp:birthdate_max "1845-01-20"^^xsd:date ;
personp:deathdate "1927-08-06"^^xsd:date ;
personp:deathdate_max "1927-08-06"^^xsd:date ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
personp:Wikipedia <https://de.wikipedia.org/wiki/Aurelie_Wilczek> ;
personp:Wikidata <https://www.wikidata.org/wiki/Q18018523> ;
personp:GND <https://d-nb.info/gnd/1037100972> ;
personp:VIAF <https://viaf.org/viaf/304930607> ;
personp:CERL <https://data.cerl.org/thesaurus/cnp02080470> .
migrants:RelationshipType- a migrants:RelationshipType .
person:MamEmm-00 personp:Importsource migrants:ImportSource-Own ;
personp:gender migrants:Gender-female ;
personp:ref-IDDeathPlace location:AT-VIE-00 ;
personp:ref-IDBirthPlace location:HU-Pest-00 ;
personp:profession "Opera Singer,Soprano, Singing Teacher" ;
personp:family_name "Mampé-Babnigg" ;
personp:first_name "Emma" ;
personp:IDPerson "MamEmm-00" ;
a migrants:person ;
personp:birthdate "1825-02-25"^^xsd:date ;
personp:birthdate_max "1825-02-25"^^xsd:date ;
personp:deathdate "1904-05-05"^^xsd:date ;
personp:deathdate_max "1904-05-05"^^xsd:date ;
personp:imageURL <https://www.t-migrants.gwi.uni-muenchen.de/wp-content/uploads/images/placeholder_t_mig_2024.png> ;
personp:Wikipedia <https://de.wikipedia.org/wiki/Emma_Mampe-Babnigg> ;
personp:Wikidata <https://www.wikidata.org/wiki/Q17425396> ;
personp:GND <https://d-nb.info/gnd/116021799> ;
personp:VIAF <https://viaf.org/viaf/62289633> ;
personp:CERL <https://data.cerl.org/thesaurus/cnp01075147> .
migrants:MigrationReason-Other rdfs:label "Other"@en ;
a migrants:MigrationReason .
location:AT-Weid-00 locationp:City migrants:City-Weidling ;
locationp:State migrants:State-Statzendorf ;
locationp:Country migrants:Country-Austria ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q484858" ;
locationp:IDLocation "AT-Weid-00" ;
a migrants:location ;
locationp:latitude "48.3081"^^xsd:float ;
locationp:longitude "15.6408"^^xsd:float .
location:GER-Dresd-00 locationp:City migrants:City-Dresden ;
locationp:Country migrants:Country-Germany ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1731" ;
locationp:IDLocation "GER-Dresd-00" ;
a migrants:location ;
locationp:latitude "51.05"^^xsd:float ;
locationp:longitude "13.74"^^xsd:float ;
locationp:GeoNamesID 2935022 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Dresden> .
location:GER-MUC-00 locationp:City migrants:City-Munich ;
locationp:Country migrants:Country-Germany ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1726" ;
locationp:IDLocation "GER-MUC-00" ;
a migrants:location ;
locationp:latitude "48.1333"^^xsd:float ;
locationp:longitude "11.5667"^^xsd:float ;
locationp:GeoNamesID 2867714 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Munich> .
location:LV-RIX-00 locationp:City migrants:City-Riga ;
locationp:Country migrants:Country-Latvia ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1773" ;
locationp:IDLocation "LV-RIX-00" ;
a migrants:location ;
locationp:latitude "56.9489"^^xsd:float ;
locationp:longitude "24.1064"^^xsd:float ;
locationp:GeoNamesID 456172 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Riga> .
migrants:MigrationReason-Labour rdfs:label "Labour"@en ;
a migrants:MigrationReason .
location:AT-VIE-00 locationp:City migrants:City-Vienna ;
locationp:Country migrants:Country-Austria ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q1741" ;
locationp:IDLocation "AT-VIE-00" ;
a migrants:location ;
locationp:latitude "48.21"^^xsd:float ;
locationp:longitude "16.3634"^^xsd:float ;
locationp:GeoNamesID 2761369 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Vienna> .
location:CZ-Karlsb-00 locationp:City migrants:City-KarlovyVary ;
locationp:Country migrants:Country-CzechRepublic ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q384544" ;
locationp:IDLocation "CZ-Karlsb-00" ;
a migrants:location ;
locationp:latitude "50.2306"^^xsd:float ;
locationp:longitude "12.8725"^^xsd:float ;
locationp:GeoNamesID 3073803 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Karlovy_Vary> .
migrants:MigrationReason-Education rdfs:label "Education"@en ;
a migrants:MigrationReason .
location:IT-Mila-00 locationp:City migrants:City-Milan ;
locationp:Country migrants:Country-Italy ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q490" ;
locationp:IDLocation "IT-Mila-00" ;
a migrants:location ;
locationp:latitude "45.4669"^^xsd:float ;
locationp:longitude "9.19"^^xsd:float ;
locationp:GeoNamesID 3173435 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Milan> .
location:UA-Lv-00 locationp:City migrants:City-Lviv ;
locationp:Country migrants:Country-Ukraine ;
locationp:Continent migrants:Continent-Europe ;
locationp:wikidata "Q36036" ;
locationp:IDLocation "UA-Lv-00" ;
a migrants:location ;
locationp:latitude "49.83"^^xsd:float ;
locationp:longitude "24.0142"^^xsd:float ;
locationp:GeoNamesID 702550 ;
locationp:wikipedia <https://en.wikipedia.org/wiki/Lviv> .

View file

@ -0,0 +1,26 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX migrants: <http://example.org/migrants/>
PREFIX person: <http://example.org/migrants/person/>
PREFIX personp: <http://example.org/migrants/person#>
PREFIX work: <http://example.org/migrants/work/>
PREFIX workp: <http://example.org/migrants/work#>
PREFIX location: <http://example.org/migrants/location/>
PREFIX locationp: <http://example.org/migrants/location#>
CONSTRUCT {
?s ?p ?o .
}
WHERE {
{
# Triples about Irene Abendroth (as subject)
?s ?p ?o .
FILTER(?s = person:AbeIre-00)
}
UNION
{
# Triples from other tables referencing Irene Abendroth
?s ?p ?o .
?s ?ref person:AbeIre-00 .
}
}

View file

@ -0,0 +1,41 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX migrants: <http://example.org/migrants/>
PREFIX person: <http://example.org/migrants/person/>
PREFIX personp: <http://example.org/migrants/person#>
PREFIX work: <http://example.org/migrants/work/>
PREFIX workp: <http://example.org/migrants/work#>
PREFIX location: <http://example.org/migrants/location/>
PREFIX locationp: <http://example.org/migrants/location#>
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)
}
}

84
src/map/step_04.rs Normal file
View file

@ -0,0 +1,84 @@
/// Step 4: Remove empty string literals.
///
/// Loads `data/graph-03.ttl`, applies all SPARQL UPDATE queries from the
/// `updates_step04/` directory (sorted alphabetically), and writes the
/// result to `data/graph-04.ttl`.
///
/// Usage: Run from the mapping project directory:
/// cargo run --release --bin step-04
use std::fs;
use oxigraph::io::{RdfFormat, RdfParser};
use oxigraph::model::GraphNameRef;
use oxigraph::store::Store;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let input_path = "data/graph-03.ttl";
let output_path = "data/graph-04.ttl";
let updates_dir = "updates_step04";
// Create in-memory store and load input graph
let store = 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);
store.load_from_reader(parser, reader)?;
let initial_count = count_triples(&store);
eprintln!("Loaded {} triples.", initial_count);
// Read and sort SPARQL UPDATE files
let mut update_files: Vec<_> = fs::read_dir(updates_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();
update_files.sort();
// Apply each SPARQL UPDATE query
for query_file in &update_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(&store);
store.update(&query)?;
let after = count_triples(&store);
let diff = after as i64 - before as i64;
let sign = if diff >= 0 { "+" } else { "" };
eprintln!(
"Applied {}: {} -> {} triples ({}{})",
name, before, after, sign, diff
);
}
let final_count = count_triples(&store);
eprintln!("Writing {} triples to {}...", final_count, output_path);
// Dump store to Turtle
fs::create_dir_all("data")?;
let output = fs::File::create(output_path)?;
let writer = std::io::BufWriter::new(output);
store.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()
}

View file

@ -0,0 +1,6 @@
DELETE { ?s ?p ?val . }
WHERE {
?s ?p ?val .
FILTER(isLiteral(?val) && STR(?val) = "")
}