From c97a0778c10efa42f31e87c1cd1763f20aaa7f56 Mon Sep 17 00:00:00 2001 From: Daniel Hernandez Date: Sun, 22 Feb 2026 07:00:39 +0100 Subject: [PATCH] Add GeoNames --- data/000-found_countries_one.ttl | 248 ++++++++++++++--------------- data/001-found_countries_many.ttl | 7 + data/001-found_countries_one.ttl | 251 ++++++++++++++++++++++++++++++ data/001-found_countries_zero.ttl | 30 ++++ src/000-found-countries.rb | 26 ++-- src/database.rb | 6 +- src/vocabularies.rb | 12 +- 7 files changed, 446 insertions(+), 134 deletions(-) create mode 100644 data/001-found_countries_many.ttl create mode 100644 data/001-found_countries_one.ttl create mode 100644 data/001-found_countries_zero.ttl mode change 100644 => 100755 src/000-found-countries.rb diff --git a/data/000-found_countries_one.ttl b/data/000-found_countries_one.ttl index 8e78803..73bce54 100644 --- a/data/000-found_countries_one.ttl +++ b/data/000-found_countries_one.ttl @@ -1,183 +1,187 @@ -country:Argentina a mig:Country ; +@prefix schema: . +@prefix country: . +@prefix mig: . + +country:Argentina a schema:Country ; rdfs:label "Argentina"@en ; - mig:wikidataID wd:Q414 . -country:Austria a mig:Country ; + mig:wikidataEntity wd:Q414 . +country:Austria a schema:Country ; rdfs:label "Austria"@en ; - mig:wikidataID wd:Q40 . -country:Australia a mig:Country ; + mig:wikidataEntity wd:Q40 . +country:Australia a schema:Country ; rdfs:label "Australia"@en ; - mig:wikidataID wd:Q408 . -country:Azerbaijan a mig:Country ; + mig:wikidataEntity wd:Q408 . +country:Azerbaijan a schema:Country ; rdfs:label "Azerbaijan"@en ; - mig:wikidataID wd:Q227 . -country:Belgium a mig:Country ; + mig:wikidataEntity wd:Q227 . +country:Belgium a schema:Country ; rdfs:label "Belgium"@en ; - mig:wikidataID wd:Q31 . -country:Belarus a mig:Country ; + mig:wikidataEntity wd:Q31 . +country:Belarus a schema:Country ; rdfs:label "Belarus"@en ; - mig:wikidataID wd:Q184 . -country:Bulgaria a mig:Country ; + mig:wikidataEntity wd:Q184 . +country:Bulgaria a schema:Country ; rdfs:label "Bulgaria"@en ; - mig:wikidataID wd:Q219 . -country:Brazil a mig:Country ; + mig:wikidataEntity wd:Q219 . +country:Brazil a schema:Country ; rdfs:label "Brazil"@en ; - mig:wikidataID wd:Q155 . -country:Canada a mig:Country ; + mig:wikidataEntity wd:Q155 . +country:Canada a schema:Country ; rdfs:label "Canada"@en ; - mig:wikidataID wd:Q16 . -country:Switzerland a mig:Country ; + mig:wikidataEntity wd:Q16 . +country:Switzerland a schema:Country ; rdfs:label "Switzerland"@en ; - mig:wikidataID wd:Q39 . -country:Chile a mig:Country ; + mig:wikidataEntity wd:Q39 . +country:Chile a schema:Country ; rdfs:label "Chile"@en ; - mig:wikidataID wd:Q298 . -country:Ukraine a mig:Country ; + mig:wikidataEntity wd:Q298 . +country:Ukraine a schema:Country ; rdfs:label "Ukraine"@en ; - mig:wikidataID wd:Q212 . -country:Costa_Rica a mig:Country ; + mig:wikidataEntity wd:Q212 . +country:Costa_Rica a schema:Country ; rdfs:label "Costa Rica"@en ; - mig:wikidataID wd:Q800 . -country:Cuba a mig:Country ; + mig:wikidataEntity wd:Q800 . +country:Cuba a schema:Country ; rdfs:label "Cuba"@en ; - mig:wikidataID wd:Q241 . -country:Czech_Republic a mig:Country ; + mig:wikidataEntity wd:Q241 . +country:Czech_Republic a schema:Country ; rdfs:label "Czech Republic"@en ; - mig:wikidataID wd:Q213 . -country:Denmark a mig:Country ; + mig:wikidataEntity wd:Q213 . +country:Denmark a schema:Country ; rdfs:label "Denmark"@en ; - mig:wikidataID wd:Q35 . -country:Algeria a mig:Country ; + mig:wikidataEntity wd:Q35 . +country:Algeria a schema:Country ; rdfs:label "Algeria"@en ; - mig:wikidataID wd:Q262 . -country:Egypt a mig:Country ; + mig:wikidataEntity wd:Q262 . +country:Egypt a schema:Country ; rdfs:label "Egypt"@en ; - mig:wikidataID wd:Q79 . -country:El_Salvador a mig:Country ; + mig:wikidataEntity wd:Q79 . +country:El_Salvador a schema:Country ; rdfs:label "El Salvador"@en ; - mig:wikidataID wd:Q792 . -country:Spain a mig:Country ; + mig:wikidataEntity wd:Q792 . +country:Spain a schema:Country ; rdfs:label "Spain"@en ; - mig:wikidataID wd:Q29 . -country:Fiji a mig:Country ; + mig:wikidataEntity wd:Q29 . +country:Fiji a schema:Country ; rdfs:label "Fiji"@en ; - mig:wikidataID wd:Q712 . -country:France a mig:Country ; + mig:wikidataEntity wd:Q712 . +country:France a schema:Country ; rdfs:label "France"@en ; - mig:wikidataID wd:Q142 . -country:United_Kingdom a mig:Country ; + mig:wikidataEntity wd:Q142 . +country:United_Kingdom a schema:Country ; rdfs:label "United Kingdom"@en ; - mig:wikidataID wd:Q145 . -country:Germany a mig:Country ; + mig:wikidataEntity wd:Q145 . +country:Germany a schema:Country ; rdfs:label "Germany"@en ; - mig:wikidataID wd:Q183 . -country:Greece a mig:Country ; + mig:wikidataEntity wd:Q183 . +country:Greece a schema:Country ; rdfs:label "Greece"@en ; - mig:wikidataID wd:Q41 . -country:Croatia a mig:Country ; + mig:wikidataEntity wd:Q41 . +country:Croatia a schema:Country ; rdfs:label "Croatia"@en ; - mig:wikidataID wd:Q224 . -country:Hungary a mig:Country ; + mig:wikidataEntity wd:Q224 . +country:Hungary a schema:Country ; rdfs:label "Hungary"@en ; - mig:wikidataID wd:Q28 . -country:Slovakia a mig:Country ; + mig:wikidataEntity wd:Q28 . +country:Slovakia a schema:Country ; rdfs:label "Slovakia"@en ; - mig:wikidataID wd:Q214 . -country:Indonesia a mig:Country ; + mig:wikidataEntity wd:Q214 . +country:Indonesia a schema:Country ; rdfs:label "Indonesia"@en ; - mig:wikidataID wd:Q252 . -country:Ireland a mig:Country ; + mig:wikidataEntity wd:Q252 . +country:Ireland a schema:Country ; rdfs:label "Ireland"@en ; - mig:wikidataID wd:Q27 . -country:India a mig:Country ; + mig:wikidataEntity wd:Q27 . +country:India a schema:Country ; rdfs:label "India"@en ; - mig:wikidataID wd:Q668 . -country:Israel a mig:Country ; + mig:wikidataEntity wd:Q668 . +country:Israel a schema:Country ; rdfs:label "Israel"@en ; - mig:wikidataID wd:Q801 . -country:Italy a mig:Country ; + mig:wikidataEntity wd:Q801 . +country:Italy a schema:Country ; rdfs:label "Italy"@en ; - mig:wikidataID wd:Q38 . -country:Japan a mig:Country ; + mig:wikidataEntity wd:Q38 . +country:Japan a schema:Country ; rdfs:label "Japan"@en ; - mig:wikidataID wd:Q17 . -country:Latvia a mig:Country ; + mig:wikidataEntity wd:Q17 . +country:Latvia a schema:Country ; rdfs:label "Latvia"@en ; - mig:wikidataID wd:Q211 . -country:Lithuania a mig:Country ; + mig:wikidataEntity wd:Q211 . +country:Lithuania a schema:Country ; rdfs:label "Lithuania"@en ; - mig:wikidataID wd:Q37 . -country:Sri_Lanka a mig:Country ; + mig:wikidataEntity wd:Q37 . +country:Sri_Lanka a schema:Country ; rdfs:label "Sri Lanka"@en ; - mig:wikidataID wd:Q854 . -country:Monaco a mig:Country ; + mig:wikidataEntity wd:Q854 . +country:Monaco a schema:Country ; rdfs:label "Monaco"@en ; - mig:wikidataID wd:Q235 . -country:Myanmar a mig:Country ; + mig:wikidataEntity wd:Q235 . +country:Myanmar a schema:Country ; rdfs:label "Myanmar"@en ; - mig:wikidataID wd:Q836 . -country:Moldova a mig:Country ; + mig:wikidataEntity wd:Q836 . +country:Moldova a schema:Country ; rdfs:label "Moldova"@en ; - mig:wikidataID wd:Q217 . -country:Mexico a mig:Country ; + mig:wikidataEntity wd:Q217 . +country:Mexico a schema:Country ; rdfs:label "Mexico"@en ; - mig:wikidataID wd:Q96 . -country:Netherlands a mig:Country ; + mig:wikidataEntity wd:Q96 . +country:Netherlands a schema:Country ; rdfs:label "Netherlands"@en ; - mig:wikidataID wd:Q55 . -country:Norway a mig:Country ; + mig:wikidataEntity wd:Q55 . +country:Norway a schema:Country ; rdfs:label "Norway"@en ; - mig:wikidataID wd:Q20 . -country:New_Zealand a mig:Country ; + mig:wikidataEntity wd:Q20 . +country:New_Zealand a schema:Country ; rdfs:label "New Zealand"@en ; - mig:wikidataID wd:Q664 . -country:Panama a mig:Country ; + mig:wikidataEntity wd:Q664 . +country:Panama a schema:Country ; rdfs:label "Panama"@en ; - mig:wikidataID wd:Q804 . -country:Peru a mig:Country ; + mig:wikidataEntity wd:Q804 . +country:Peru a schema:Country ; rdfs:label "Peru"@en ; - mig:wikidataID wd:Q419 . -country:Poland a mig:Country ; + mig:wikidataEntity wd:Q419 . +country:Poland a schema:Country ; rdfs:label "Poland"@en ; - mig:wikidataID wd:Q36 . -country:Paraguay a mig:Country ; + mig:wikidataEntity wd:Q36 . +country:Paraguay a schema:Country ; rdfs:label "Paraguay"@en ; - mig:wikidataID wd:Q733 . -country:Palestine a mig:Country ; + mig:wikidataEntity wd:Q733 . +country:Palestine a schema:Country ; rdfs:label "Palestine"@en ; - mig:wikidataID wd:Q219060 . -country:Portugal a mig:Country ; + mig:wikidataEntity wd:Q219060 . +country:Portugal a schema:Country ; rdfs:label "Portugal"@en ; - mig:wikidataID wd:Q45 . -country:Romania a mig:Country ; + mig:wikidataEntity wd:Q45 . +country:Romania a schema:Country ; rdfs:label "Romania"@en ; - mig:wikidataID wd:Q218 . -country:Russia a mig:Country ; + mig:wikidataEntity wd:Q218 . +country:Russia a schema:Country ; rdfs:label "Russia"@en ; - mig:wikidataID wd:Q159 . -country:Sweden a mig:Country ; + mig:wikidataEntity wd:Q159 . +country:Sweden a schema:Country ; rdfs:label "Sweden"@en ; - mig:wikidataID wd:Q34 . -country:Singapore a mig:Country ; + mig:wikidataEntity wd:Q34 . +country:Singapore a schema:Country ; rdfs:label "Singapore"@en ; - mig:wikidataID wd:Q334 . -country:Slovenia a mig:Country ; + mig:wikidataEntity wd:Q334 . +country:Slovenia a schema:Country ; rdfs:label "Slovenia"@en ; - mig:wikidataID wd:Q215 . -country:Serbia a mig:Country ; + mig:wikidataEntity wd:Q215 . +country:Serbia a schema:Country ; rdfs:label "Serbia"@en ; - mig:wikidataID wd:Q403 . -country:Turkey a mig:Country ; + mig:wikidataEntity wd:Q403 . +country:Turkey a schema:Country ; rdfs:label "Turkey"@en ; - mig:wikidataID wd:Q43 . -country:United_States a mig:Country ; + mig:wikidataEntity wd:Q43 . +country:United_States a schema:Country ; rdfs:label "United States"@en ; - mig:wikidataID wd:Q30 . -country:Uruguay a mig:Country ; + mig:wikidataEntity wd:Q30 . +country:Uruguay a schema:Country ; rdfs:label "Uruguay"@en ; - mig:wikidataID wd:Q77 . -country:Vietnam a mig:Country ; + mig:wikidataEntity wd:Q77 . +country:Vietnam a schema:Country ; rdfs:label "Vietnam"@en ; - mig:wikidataID wd:Q881 . -country:South_Africa a mig:Country ; + mig:wikidataEntity wd:Q881 . +country:South_Africa a schema:Country ; rdfs:label "South Africa"@en ; - mig:wikidataID wd:Q258 . + mig:wikidataEntity wd:Q258 . diff --git a/data/001-found_countries_many.ttl b/data/001-found_countries_many.ttl new file mode 100644 index 0000000..66e6596 --- /dev/null +++ b/data/001-found_countries_many.ttl @@ -0,0 +1,7 @@ +@prefix wd: . +@prefix wdt: . +@prefix rdfs: . +@prefix mig: . +@prefix schema: . +@prefix country: . + diff --git a/data/001-found_countries_one.ttl b/data/001-found_countries_one.ttl new file mode 100644 index 0000000..f16bb42 --- /dev/null +++ b/data/001-found_countries_one.ttl @@ -0,0 +1,251 @@ +@prefix wd: . +@prefix wdt: . +@prefix rdfs: . +@prefix mig: . +@prefix schema: . +@prefix country: . + +country:Argentina a schema:Country ; + rdfs:label "Argentina"@en ; + mig:wikidataEntity wd:Q414 ; + mig:geonamesEntiy geo:3865483 . +country:Austria a schema:Country ; + rdfs:label "Austria"@en ; + mig:wikidataEntity wd:Q40 ; + mig:geonamesEntiy geo:2782113 . +country:Australia a schema:Country ; + rdfs:label "Australia"@en ; + mig:wikidataEntity wd:Q408 ; + mig:geonamesEntiy geo:2077456 . +country:Azerbaijan a schema:Country ; + rdfs:label "Azerbaijan"@en ; + mig:wikidataEntity wd:Q227 ; + mig:geonamesEntiy geo:587116 . +country:Belgium a schema:Country ; + rdfs:label "Belgium"@en ; + mig:wikidataEntity wd:Q31 ; + mig:geonamesEntiy geo:2802361 . +country:Belarus a schema:Country ; + rdfs:label "Belarus"@en ; + mig:wikidataEntity wd:Q184 ; + mig:geonamesEntiy geo:630336 . +country:Bulgaria a schema:Country ; + rdfs:label "Bulgaria"@en ; + mig:wikidataEntity wd:Q219 ; + mig:geonamesEntiy geo:732800 . +country:Brazil a schema:Country ; + rdfs:label "Brazil"@en ; + mig:wikidataEntity wd:Q155 ; + mig:geonamesEntiy geo:3469034 . +country:Canada a schema:Country ; + rdfs:label "Canada"@en ; + mig:wikidataEntity wd:Q16 ; + mig:geonamesEntiy geo:6251999 . +country:Switzerland a schema:Country ; + rdfs:label "Switzerland"@en ; + mig:wikidataEntity wd:Q39 ; + mig:geonamesEntiy geo:2658434 . +country:Chile a schema:Country ; + rdfs:label "Chile"@en ; + mig:wikidataEntity wd:Q298 ; + mig:geonamesEntiy geo:3895114 . +country:Ukraine a schema:Country ; + rdfs:label "Ukraine"@en ; + mig:wikidataEntity wd:Q212 ; + mig:geonamesEntiy geo:690791 . +country:Costa_Rica a schema:Country ; + rdfs:label "Costa Rica"@en ; + mig:wikidataEntity wd:Q800 ; + mig:geonamesEntiy geo:3624060 . +country:Cuba a schema:Country ; + rdfs:label "Cuba"@en ; + mig:wikidataEntity wd:Q241 ; + mig:geonamesEntiy geo:3562981 . +country:Czech_Republic a schema:Country ; + rdfs:label "Czech Republic"@en ; + mig:wikidataEntity wd:Q213 ; + mig:geonamesEntiy geo:3077311 . +country:Denmark a schema:Country ; + rdfs:label "Denmark"@en ; + mig:wikidataEntity wd:Q35 ; + mig:geonamesEntiy geo:2623032 . +country:Algeria a schema:Country ; + rdfs:label "Algeria"@en ; + mig:wikidataEntity wd:Q262 ; + mig:geonamesEntiy geo:2589581 . +country:Egypt a schema:Country ; + rdfs:label "Egypt"@en ; + mig:wikidataEntity wd:Q79 ; + mig:geonamesEntiy geo:357994 . +country:El_Salvador a schema:Country ; + rdfs:label "El Salvador"@en ; + mig:wikidataEntity wd:Q792 ; + mig:geonamesEntiy geo:3585968 . +country:Spain a schema:Country ; + rdfs:label "Spain"@en ; + mig:wikidataEntity wd:Q29 ; + mig:geonamesEntiy geo:2510769 . +country:Fiji a schema:Country ; + rdfs:label "Fiji"@en ; + mig:wikidataEntity wd:Q712 ; + mig:geonamesEntiy geo:2205218 . +country:France a schema:Country ; + rdfs:label "France"@en ; + mig:wikidataEntity wd:Q142 ; + mig:geonamesEntiy geo:3017382 . +country:United_Kingdom a schema:Country ; + rdfs:label "United Kingdom"@en ; + mig:wikidataEntity wd:Q145 ; + mig:geonamesEntiy geo:2635167 . +country:Germany a schema:Country ; + rdfs:label "Germany"@en ; + mig:wikidataEntity wd:Q183 ; + mig:geonamesEntiy geo:2921044 . +country:Greece a schema:Country ; + rdfs:label "Greece"@en ; + mig:wikidataEntity wd:Q41 ; + mig:geonamesEntiy geo:390903 . +country:Croatia a schema:Country ; + rdfs:label "Croatia"@en ; + mig:wikidataEntity wd:Q224 ; + mig:geonamesEntiy geo:3202326 . +country:Hungary a schema:Country ; + rdfs:label "Hungary"@en ; + mig:wikidataEntity wd:Q28 ; + mig:geonamesEntiy geo:719819 . +country:Slovakia a schema:Country ; + rdfs:label "Slovakia"@en ; + mig:wikidataEntity wd:Q214 ; + mig:geonamesEntiy geo:3057568 . +country:Indonesia a schema:Country ; + rdfs:label "Indonesia"@en ; + mig:wikidataEntity wd:Q252 ; + mig:geonamesEntiy geo:1643084 . +country:Ireland a schema:Country ; + rdfs:label "Ireland"@en ; + mig:wikidataEntity wd:Q27 ; + mig:geonamesEntiy geo:2963597 . +country:India a schema:Country ; + rdfs:label "India"@en ; + mig:wikidataEntity wd:Q668 ; + mig:geonamesEntiy geo:1269750 . +country:Israel a schema:Country ; + rdfs:label "Israel"@en ; + mig:wikidataEntity wd:Q801 ; + mig:geonamesEntiy geo:294640 . +country:Italy a schema:Country ; + rdfs:label "Italy"@en ; + mig:wikidataEntity wd:Q38 ; + mig:geonamesEntiy geo:3175395 . +country:Japan a schema:Country ; + rdfs:label "Japan"@en ; + mig:wikidataEntity wd:Q17 ; + mig:geonamesEntiy geo:1861060 . +country:Latvia a schema:Country ; + rdfs:label "Latvia"@en ; + mig:wikidataEntity wd:Q211 ; + mig:geonamesEntiy geo:458258 . +country:Lithuania a schema:Country ; + rdfs:label "Lithuania"@en ; + mig:wikidataEntity wd:Q37 ; + mig:geonamesEntiy geo:597427 . +country:Sri_Lanka a schema:Country ; + rdfs:label "Sri Lanka"@en ; + mig:wikidataEntity wd:Q854 ; + mig:geonamesEntiy geo:1227603 . +country:Monaco a schema:Country ; + rdfs:label "Monaco"@en ; + mig:wikidataEntity wd:Q235 ; + mig:geonamesEntiy geo:2993457 . +country:Myanmar a schema:Country ; + rdfs:label "Myanmar"@en ; + mig:wikidataEntity wd:Q836 ; + mig:geonamesEntiy geo:1327865 . +country:Moldova a schema:Country ; + rdfs:label "Moldova"@en ; + mig:wikidataEntity wd:Q217 ; + mig:geonamesEntiy geo:617790 . +country:Mexico a schema:Country ; + rdfs:label "Mexico"@en ; + mig:wikidataEntity wd:Q96 ; + mig:geonamesEntiy geo:3996063 . +country:Netherlands a schema:Country ; + rdfs:label "Netherlands"@en ; + mig:wikidataEntity wd:Q55 ; + mig:geonamesEntiy geo:2750405 . +country:Norway a schema:Country ; + rdfs:label "Norway"@en ; + mig:wikidataEntity wd:Q20 ; + mig:geonamesEntiy geo:3144096 . +country:New_Zealand a schema:Country ; + rdfs:label "New Zealand"@en ; + mig:wikidataEntity wd:Q664 ; + mig:geonamesEntiy geo:2186224 . +country:Panama a schema:Country ; + rdfs:label "Panama"@en ; + mig:wikidataEntity wd:Q804 ; + mig:geonamesEntiy geo:3703430 . +country:Peru a schema:Country ; + rdfs:label "Peru"@en ; + mig:wikidataEntity wd:Q419 ; + mig:geonamesEntiy geo:3932488 . +country:Poland a schema:Country ; + rdfs:label "Poland"@en ; + mig:wikidataEntity wd:Q36 ; + mig:geonamesEntiy geo:798544 . +country:Paraguay a schema:Country ; + rdfs:label "Paraguay"@en ; + mig:wikidataEntity wd:Q733 ; + mig:geonamesEntiy geo:3437598 . +country:Palestine a schema:Country ; + rdfs:label "Palestine"@en ; + mig:wikidataEntity wd:Q219060 ; + mig:geonamesEntiy geo:6254930 . +country:Portugal a schema:Country ; + rdfs:label "Portugal"@en ; + mig:wikidataEntity wd:Q45 ; + mig:geonamesEntiy geo:2264397 . +country:Romania a schema:Country ; + rdfs:label "Romania"@en ; + mig:wikidataEntity wd:Q218 ; + mig:geonamesEntiy geo:798549 . +country:Russia a schema:Country ; + rdfs:label "Russia"@en ; + mig:wikidataEntity wd:Q159 ; + mig:geonamesEntiy geo:2017370 . +country:Sweden a schema:Country ; + rdfs:label "Sweden"@en ; + mig:wikidataEntity wd:Q34 ; + mig:geonamesEntiy geo:2661886 . +country:Singapore a schema:Country ; + rdfs:label "Singapore"@en ; + mig:wikidataEntity wd:Q334 ; + mig:geonamesEntiy geo:1880251 . +country:Slovenia a schema:Country ; + rdfs:label "Slovenia"@en ; + mig:wikidataEntity wd:Q215 ; + mig:geonamesEntiy geo:3190538 . +country:Serbia a schema:Country ; + rdfs:label "Serbia"@en ; + mig:wikidataEntity wd:Q403 ; + mig:geonamesEntiy geo:6290252 . +country:Turkey a schema:Country ; + rdfs:label "Turkey"@en ; + mig:wikidataEntity wd:Q43 ; + mig:geonamesEntiy geo:298795 . +country:United_States a schema:Country ; + rdfs:label "United States"@en ; + mig:wikidataEntity wd:Q30 ; + mig:geonamesEntiy geo:6252001 . +country:Uruguay a schema:Country ; + rdfs:label "Uruguay"@en ; + mig:wikidataEntity wd:Q77 ; + mig:geonamesEntiy geo:3439705 . +country:Vietnam a schema:Country ; + rdfs:label "Vietnam"@en ; + mig:wikidataEntity wd:Q881 ; + mig:geonamesEntiy geo:1562822 . +country:South_Africa a schema:Country ; + rdfs:label "South Africa"@en ; + mig:wikidataEntity wd:Q258 ; + mig:geonamesEntiy geo:953987 . diff --git a/data/001-found_countries_zero.ttl b/data/001-found_countries_zero.ttl new file mode 100644 index 0000000..9b71569 --- /dev/null +++ b/data/001-found_countries_zero.ttl @@ -0,0 +1,30 @@ +@prefix wd: . +@prefix wdt: . +@prefix rdfs: . +@prefix mig: . +@prefix schema: . +@prefix country: . + +Channel Islands +China +Columbia +Eastern Europe +England +Estland +Europe +Northern Ireland (UK) +ITaly +Korea +USA +North America +Poland / Ukraine +Prussia +Scandinavia +Scotland +Soviet Union +England (UK) +Wales (UK) +USa +UAS +West Europe +Yugoslavia diff --git a/src/000-found-countries.rb b/src/000-found-countries.rb old mode 100644 new mode 100755 index 846b4ba..6d99408 --- a/src/000-found-countries.rb +++ b/src/000-found-countries.rb @@ -4,13 +4,14 @@ require_relative 'database' require_relative 'vocabularies' # Output files of this step -found_one = File.open(File.join('data', '000-found_countries_one.ttl'), 'w') -found_zero = File.open(File.join('data', '000-found_countries_zero.ttl'), 'w') -found_many = File.open(File.join('data', '000-found_countries_many.ttl'), 'w') +found_one = File.open(File.join('data', '001-found_countries_one.ttl'), 'w') +found_zero = File.open(File.join('data', '001-found_countries_zero.ttl'), 'w') +found_many = File.open(File.join('data', '001-found_countries_many.ttl'), 'w') files = [found_one, found_zero, found_many] files.each do |file| - file.puts prefixes(:wd, :wdt, :rdfs) + file.puts prefixes(:wd, :wdt, :rdfs, :mig, :schema, :country) + file.puts end countries = {} @@ -24,21 +25,26 @@ DB[:location].each do |location| end def country_definition(country_name_literal, wd_solutions) - wd_ids = wd_solutions.map do |solution| + wd_ids = [] + geo_ids = [] + wd_solutions.map do |solution| country_uri = solution[:country].to_s - get_wd_name(country_uri) + wd_ids << get_wd_name(country_uri) + geo_ids << "geo:#{solution[:GeoNamesID]}" end - "country:#{toName(country_name_literal.to_s)} a mig:Country ;\n" \ + "country:#{toName(country_name_literal.to_s)} a schema:Country ;\n" \ " rdfs:label #{country_name_literal.to_ntriples} ;\n" \ - " mig:wikidataID #{wd_ids.join(' , ')} .\n" + " mig:wikidataEntity #{wd_ids.join(' , ')} ;\n" \ + " mig:geonamesEntiy #{geo_ids.join(' , ')} .\n" end countries.each do |country_name, country_attrs| p country_name country_name_literal = RDF::Literal.new(country_name, language: :en) - query = wikidata.select + query = WIKIDATA.select .where([:country, RDFS.label, country_name_literal]) .where([:country, WDT.P31, WD.Q6256]) + .where([:country, WDT.P1566, :GeoNamesID]) solutions = query.solutions case solutions.size when 0 @@ -48,6 +54,6 @@ countries.each do |country_name, country_attrs| else found_many << country_definition(country_name_literal, solutions) end - sleep(1) + # sleep(1) end diff --git a/src/database.rb b/src/database.rb index 6662c5d..36ee316 100644 --- a/src/database.rb +++ b/src/database.rb @@ -6,7 +6,7 @@ require 'rdf' DB = Sequel.mysql2(host: 'localhost', user: 'migrants', database: 'migrants', password: '1234') -wikidata = SPARQL::Client.new('https://query.wikidata.org/sparql') +WIKIDATA = SPARQL::Client.new('https://query.wikidata.org/sparql') # Vocabularies wd = RDF::Vocabulary.new('http://www.wikidata.org/entity/') @@ -24,3 +24,7 @@ def get_wd_name(uri) uri.to_s.gsub('http://www.wikidata.org/entity/', 'wd:') end +def get_geo_name(id) + "geo:#{id}" +end + diff --git a/src/vocabularies.rb b/src/vocabularies.rb index 0220d0d..c594664 100644 --- a/src/vocabularies.rb +++ b/src/vocabularies.rb @@ -3,8 +3,18 @@ WD = RDF::Vocabulary.new('http://www.wikidata.org/entity/') WDT = RDF::Vocabulary.new('http://www.wikidata.org/prop/direct/') RDFS = RDF::Vocabulary.new('http://www.w3.org/2000/01/rdf-schema#') +SCHEMA = RDF::Vocabulary.new('https://schema.org/') +COUNTRY = RDF::Vocabulary.new('https://daniel.degu.cl/data/countries.ttl#Country-') +MIG = RDF::Vocabulary.new('https://daniel.degu.cl/data/mig.ttl#') -PREFIXES = { wd: WD, wdt: WDT, rdfs: RDFS } +PREFIXES = { + wd: WD, + wdt: WDT, + rdfs: RDFS, + schema: SCHEMA, + country: COUNTRY, + mig: MIG +} def prefixes(*namespaces) namespaces.map do |ns|