Wikiprojekti:Wiki Loves Monuments/kohteet/saamelaisalueet

Wikipediasta
Siirry navigaatioon Siirry hakuun

Saamelaisalueilla tavoitteena olisi saada tallennuskäyttöliittymä. (mm. sivut, tallennuskäyttöliittymä ja kartat) toimimaan saamenkielillä mahdollisuuksien mukaan. Tämä tarkoittaa, että kohteiden nimiä wikidatassa ja paikannimiä OSM:ssa täydennetään saameksi myös. Tässä hyödynnetään Kotuksen asutusnimihakemistoa ja maanmittauslaitokosen paikannimikortistosta.


  1. Ohjeet siitä miten käännöksiä lisätään Wikidataan
  2. Ohjeet siitä miten käännöksiä lisätään OpenStreetMap:iin
  3. SPARQL-haku tai python scripti joka näyttää ristiin Wikidata-OSM-Finto käännökset

SPARQL-kyselyt

[muokkaa | muokkaa wikitekstiä]

Etsi paikannimet joissa on Wikidatassa inarinsaamenkielinen nimi, mutta se puuttuu OpenStreetMapista.

# Get OpenStreetMap nodes with inarisami label in wikipedia but without inarisami label in OSM

PREFIX osmt: <https://wiki.openstreetmap.org/wiki/Key:>
PREFIX osmm: <https://www.openstreetmap.org/meta/>

SELECT DISTINCT ?item_smn (?Label_fi as ?wd_label_fi) ?osm_name_fi ?Label_smn ?osm ?article_smn ?article_fi WITH {
SELECT ?item_smn ?Label_smn ?coord_smn WHERE {
 ?item_smn rdfs:label ?Label_smn filter (lang(?Label_smn) = "smn") .
 ?item_smn wdt:P17 wd:Q33 .
 ?item_smn wdt:P625 ?coord_smn .
}
} as %smn
WHERE
{
 INCLUDE %smn . 
 ?item_smn rdfs:label ?Label_fi filter (lang(?Label_fi) = "fi") .
 ?item_smn wdt:P17 wd:Q33 .
 ?item_smn wdt:P625 ?coord_smn .
 OPTIONAL { ?article_smn schema:about ?item_smn;
             schema:inLanguage "smn";
             schema:isPartOf <https://smn.wikipedia.org/>. }
 OPTIONAL { ?article_fi schema:about ?item_smn;
             schema:inLanguage "fi";
             schema:isPartOf <https://fi.wikipedia.org/>. }  
 FILTER(str(?Label_fi)!=str(?Label_smn))
  
 SERVICE <https://sophox.org/sparql> { 
    ?osm osmt:wikidata ?item_smn .
    ?osm osmm:type "n".
    ?osm osmt:name ?osm_name_fi .
    FILTER NOT EXISTS { ?osm osmt:name:smn ?osm_name_smn }   
  } 
} 
LIMIT 12001

Kokeile

Etsi paikannimet joissa on Wikidatassa koltansaamenkielinen nimi, mutta se puuttuu OpenStreetMapista.

PREFIX osmt: <https://wiki.openstreetmap.org/wiki/Key:>
PREFIX osmm: <https://www.openstreetmap.org/meta/>

SELECT DISTINCT ?item_sms (?Label_fi as ?wd_label_fi) ?osm_name_fi ?Label_sms ?osm ?article_sms ?article_fi WITH {
SELECT ?item_sms ?Label_sms ?coord_sms WHERE {
 ?item_sms rdfs:label ?Label_sms filter (lang(?Label_sms) = "sms") .
 ?item_sms wdt:P17 wd:Q33 .
 ?item_sms wdt:P625 ?coord_sms .
}
} as %sms
WHERE
{
 INCLUDE %sms . 
 ?item_sms rdfs:label ?Label_fi filter (lang(?Label_fi) = "fi") .
 ?item_sms wdt:P17 wd:Q33 .
 ?item_sms wdt:P625 ?coord_sms .
 OPTIONAL { ?article_sms schema:about ?item_sms;
             schema:inLanguage "sms";
             schema:isPartOf <https://sms.wikipedia.org/>. }
 OPTIONAL { ?article_fi schema:about ?item_sms;
             schema:inLanguage "fi";
             schema:isPartOf <https://fi.wikipedia.org/>. }  
 FILTER(str(?Label_fi)!=str(?Label_sms))
  
 SERVICE <https://sophox.org/sparql> { 
    ?osm osmt:wikidata ?item_sms .
    ?osm osmm:type "n".
    ?osm osmt:name ?osm_name_fi .
    FILTER NOT EXISTS { ?osm osmt:name:sms ?osm_name_sms }   
  } 
} 
LIMIT 12001

Kokeile

Etsi paikannimet joissa on Wikidatassa pohjoissaamenkielinen nimi, mutta se puuttuu OpenStreetMapista.

PREFIX osmt: <https://wiki.openstreetmap.org/wiki/Key:>
PREFIX osmm: <https://www.openstreetmap.org/meta/>

SELECT DISTINCT ?item_se (?Label_fi as ?wd_label_fi) ?osm_name_fi ?Label_se ?osm ?article_se ?article_fi WITH {
SELECT ?item_se ?Label_se ?coord_se WHERE {
 ?item_se rdfs:label ?Label_se filter (lang(?Label_se) = "se") .
 ?item_se wdt:P17 wd:Q33 .
 ?item_se wdt:P625 ?coord_se .
}
} as %se
WHERE
{
 INCLUDE %se . 
 ?item_se rdfs:label ?Label_fi filter (lang(?Label_fi) = "fi") .
 ?item_se wdt:P17 wd:Q33 .
 ?item_se wdt:P625 ?coord_se .
 OPTIONAL { ?article_se schema:about ?item_se;
             schema:inLanguage "se";
             schema:isPartOf <https://se.wikipedia.org/>. }
 OPTIONAL { ?article_fi schema:about ?item_se;
             schema:inLanguage "fi";
             schema:isPartOf <https://fi.wikipedia.org/>. }  
 FILTER(str(?Label_fi)!=str(?Label_se))
  
 SERVICE <https://sophox.org/sparql> { 
    ?osm osmt:wikidata ?item_se .
    ?osm osmm:type "n".
    ?osm osmt:name ?osm_name_fi .
    FILTER NOT EXISTS { ?osm osmt:name:se ?osm_name_se }   
  } 
} 
LIMIT 12001

Kokeile

Etsii Finton lapponica-sanastosta ne termit jotka pystyy linkittämään YSO:n kautta Wikidataan ja tulostaa pohjoissaamenkieliset käännökset.

SELECT * WITH {
    SELECT * WHERE {
    SERVICE <http://api.finto.fi/sparql> {
      ?lapponica skos:inScheme <http://urn.fi/URN:NBN:fi:au:lapponica:> .
      ?lapponica skos:exactMatch ?yso .      
      ?lapponica skos:prefLabel ?label_se .
      filter (lang(?label_se) = "se")
    }
    }
} AS %lapponica
WHERE {
   include %lapponica .
  
   # 4.) Translate YSO items to Wikidata items using Wikidata and read Commons categories
   BIND(REPLACE(STR(?yso), "http://www.yso.fi/onto/yso/p", "") as ?yso_number)
   SERVICE <https://query.wikidata.org/sparql>  {
     ?wikidata wdt:P2347 ?yso_number .
     OPTIONAL {?wikidata rdfs:label ?wd_label_se filter (lang(?wd_label_se) = "se") }.
     OPTIONAL {?wikidata rdfs:label ?wd_label_fi filter (lang(?wd_label_fi) = "fi") }.
   }
}

Kokeile

Hae saamenkielisiä nimiä LDF.fi:n Sammosta

[muokkaa | muokkaa wikitekstiä]
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT * WHERE {
  SERVICE <http://ldf.fi/pnr/sparql> {
    SELECT * WHERE {
      ?a <http://www.w3.org/2004/02/skos/core#prefLabel> ?label_se  filter (lang(?label_se) = "se") .
      ?a <http://www.w3.org/2004/02/skos/core#prefLabel> ?label_fi  filter (lang(?label_fi) = "fi") .  
      ?a <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long .
      ?a <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . 
      ?a rdf:type ?typecode .
      ?typecode <http://www.w3.org/2004/02/skos/core#prefLabel> ?type  filter (lang(?type) = "fi") .  
    } 
  }
}

Kokeile

Versio 2
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

# Paikannimirekisteri ldf.fi/prn:n kautta
SELECT ?wikidata ?label_se ?label_fi ?wd_label_se ?wd_label_fi  ?distance WITH {
  SELECT * WHERE {
    SERVICE <http://ldf.fi/pnr/sparql> {
      SELECT * WHERE {
        ?a <http://www.w3.org/2004/02/skos/core#prefLabel> ?label_se  filter (lang(?label_se) = "se") .
        ?a <http://www.w3.org/2004/02/skos/core#prefLabel> ?label_fi  filter (lang(?label_fi) = "fi") .  
        ?a <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?long .
        ?a <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . 
        ?a rdf:type ?typecode .
        ?typecode <http://www.w3.org/2004/02/skos/core#prefLabel> ?type  filter (lang(?type) = "fi") .  
      }
    }
  }
} AS %pnr
WHERE {
   include %pnr
   # 4.) Translate ldf.fi/pnr items to wikidata id
   BIND(REPLACE(STR(?a), "http://ldf.fi/pnr/P_", "") as ?P4119_number)
   BIND(concat("Point(", str(?long), " ", str(?lat), ")") AS ?point1)
  
   SERVICE <https://query.wikidata.org/sparql>  {
     ?wikidata wdt:P4119 ?P4119_number .
     OPTIONAL {?wikidata rdfs:label ?wd_label_se filter (lang(?wd_label_se) = "se") }.
     OPTIONAL {?wikidata rdfs:label ?wd_label_fi filter (lang(?wd_label_fi) = "fi") }.
     OPTIONAL {?wikidata wdt:P625 ?coord }
   }
   BIND(geof:distance(?point1, ?coord) AS ?distance)
}

Kokeile

Vuoden 2018 ohitettavat

[muokkaa | muokkaa wikitekstiä]

Vuoden 2018 ja 2019 kilpailussa jätettiin pois seuraavat ohitettavat kohteet

SELECT ?item ?itemLabel ?p131Label ?p1435Label ?topitemLabel   ?top_p1435Label WHERE {
  VALUES ?item { wd:Q64031289 wd:Q1915370 wd:Q20250054 wd:Q30506008 wd:Q12693168 wd:Q12693855 wd:Q18682662 wd:Q20249868 wd:Q21016761 wd:Q21016857 wd:Q30506006 wd:Q30506034 wd:Q30510253 wd:Q30560585 wd:Q30560588 wd:Q31028495 wd:Q31028814 wd:Q31028964 wd:Q31028978 wd:Q31028988 wd:Q31028994 wd:Q31029015 wd:Q31029032 wd:Q31029205 wd:Q31029273 wd:Q3757078 wd:Q390151 wd:Q55020115 wd:Q55022199 wd:Q55022772 wd:Q55026156 wd:Q55027232 wd:Q55055469 wd:Q55078435 wd:Q55594759 wd:Q55594760 wd:Q55594776 wd:Q55594798 wd:Q55594799 wd:Q55594806 wd:Q55595120 wd:Q55595149 wd:Q55595158 wd:Q55595257 wd:Q55595258 wd:Q55595515 wd:Q55595750 wd:Q55596084 wd:Q55596086 wd:Q55596138 wd:Q55596164 wd:Q55596180 wd:Q55596205 wd:Q55597051 wd:Q55597058 wd:Q55597277 wd:Q55597424 wd:Q55597426 wd:Q55597445 wd:Q55597738 wd:Q55597834 wd:Q55598069 wd:Q55598079 wd:Q55598107 wd:Q55598108 wd:Q55598203 wd:Q55598206 wd:Q55598324 wd:Q55598325 wd:Q55598415 wd:Q55599348 wd:Q55599349 wd:Q55599351 wd:Q55599750 wd:Q64031281 wd:Q64031288 wd:Q64031290 wd:Q64031292 wd:Q64031293 wd:Q64031294 wd:Q64031296 wd:Q64031297 wd:Q64031298 wd:Q64031305 wd:Q65109813 wd:Q66716610 wd:Q55022598 wd:Q55055453 }
  OPTIONAL { ?item wdt:P1435 ?p1435 }
  OPTIONAL { ?item wdt:P131 ?p131 }
  OPTIONAL { ?item wdt:P361 ?topitem .  ?topitem wdt:P1435 ?top_p1435 }  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fi". } # Helps get the label in your language, if not, then en language
}
ORDER BY ?topitem ?p1435 ?itemLabel

Kokeile


Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]