public void linkAdministrativeDistricts() { System.out.println("linking adminstrative districts"); Map<String, String> nutsUriToDbpediaUri = new HashMap<>(); String sparql = "SELECT ?district ?label { ?district <http://www.w3.org/2000/01/rdf-schema#label> ?label . " + " ?district <http://rdfdata.eionet.europa.eu/ramon/ontology/level> \"2\" . }"; QueryExecution qe = QueryExecutionFactory.create(sparql, this.model); ResultSet rs = qe.execSelect(); while (rs.hasNext()) { QuerySolution qs = rs.next(); String nutsDistrictUri = qs.get("district").asResource().getURI(); String nutsDistrictLabel = qs.get("label").asLiteral().getLexicalForm(); String dbpediaUri = UriResolver.getInstance() .getUri("Regierungsbezirk " + nutsDistrictLabel, nutsDistrictLabel); if (dbpediaUri == null || dbpediaUri.isEmpty()) System.out.println(nutsDistrictLabel + " > " + dbpediaUri); if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE50")) dbpediaUri = "http://de.dbpedia.org/resource/Freie_Hansestadt_Bremen"; // System.out.println(nutsDistrictUri + " " + dbpediaUri); nutsUriToDbpediaUri.put(nutsDistrictUri, dbpediaUri); } qe.close(); for (Map.Entry<String, String> entry : nutsUriToDbpediaUri.entrySet()) { UriResolver.getInstance().queryExtra(entry.getValue(), "adminDistrict", model); model.add( ResourceFactory.createResource(entry.getKey()), OWL.sameAs, ResourceFactory.createResource(entry.getValue())); } }
/** * select * FROM <http://geostats.aksw.org> { OPTIONAL { ?y owl:sameAs ?s . FILTER(regex(?y, * "^http://nuts", "i")) } OPTIONAL { ?s owl:sameAs ?o } . OPTIONAL { ?s owl:sameAs ?x } } ORDER * BY ?o */ public void linkDistricts() { System.out.println("linking districts"); Map<String, String> nutsUriToDbpediaUri = new HashMap<>(); String sparql = "SELECT ?district ?label { ?district <http://www.w3.org/2000/01/rdf-schema#label> ?label . " + " ?district <http://rdfdata.eionet.europa.eu/ramon/ontology/level> \"3\" . }"; QueryExecution qe = QueryExecutionFactory.create(sparql, this.model); ResultSet rs = qe.execSelect(); int i = 1; while (rs.hasNext()) { System.out.println("Linking district: " + i++); QuerySolution qs = rs.next(); String nutsDistrictUri = qs.get("district").asResource().getURI(); String nutsDistrictLabel = qs.get("label").asLiteral().getLexicalForm(); if (skip.contains(nutsDistrictUri)) continue; String dbpediaUri = UriResolver.getInstance().getUri(nutsDistrictLabel, "Landkreis " + nutsDistrictLabel); dbpediaUri = UriResolver.getInstance().resolveRedirect(dbpediaUri); if (dbpediaUri == null || dbpediaUri.isEmpty()) System.out.println(nutsDistrictLabel + " > " + dbpediaUri); if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DED52")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Leipzig"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE123")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Karlsruhe"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE118")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Heilbronn"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE734")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Kassel"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE80J")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Mecklenburgische_Seenplatte"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE94A")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Friesland"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE94D")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Oldenburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE943")) dbpediaUri = "http://de.dbpedia.org/resource/Oldenburg_(Oldenburg)"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE80M")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Nordwestmecklenburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEC01")) dbpediaUri = "http://de.dbpedia.org/resource/Regionalverband_Saarbrücken"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE261")) dbpediaUri = "http://de.dbpedia.org/resource/Aschaffenburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE264")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Aschaffenburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE271")) dbpediaUri = "http://de.dbpedia.org/resource/Augsburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE276")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Augsburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE241")) dbpediaUri = "http://de.dbpedia.org/resource/Bamberg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE245")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Bamberg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE242")) dbpediaUri = "http://de.dbpedia.org/resource/Bayreuth"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE246")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Bayreuth"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE243")) dbpediaUri = "http://de.dbpedia.org/resource/Coburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE247")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Coburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE253")) dbpediaUri = "http://de.dbpedia.org/resource/Fürth"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE258")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Fürth"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE244")) dbpediaUri = "http://de.dbpedia.org/resource/Hof_(Saale)"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE249")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Hof"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEB32")) dbpediaUri = "http://de.dbpedia.org/resource/Kaiserslautern"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEB3F")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Kaiserslautern"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE943")) dbpediaUri = "http://de.dbpedia.org/resource/Oldenburg_(Oldenburg)"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE94D")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Oldenburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE221")) dbpediaUri = "http://de.dbpedia.org/resource/Landshut"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE227")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Landshut"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE212")) dbpediaUri = "http://de.dbpedia.org/resource/München"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE21H")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_München"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE944")) dbpediaUri = "http://de.dbpedia.org/resource/Osnabrück"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE94E")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Osnabrück"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE222")) dbpediaUri = "http://de.dbpedia.org/resource/Passau"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE228")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Passau"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE232")) dbpediaUri = "http://de.dbpedia.org/resource/Regensburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE238")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Regensburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE213")) dbpediaUri = "http://de.dbpedia.org/resource/Rosenheim"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE21K")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Rosenheim"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE262")) dbpediaUri = "http://de.dbpedia.org/resource/Schweinfurt"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE26B")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Schweinfurt"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE263")) dbpediaUri = "http://de.dbpedia.org/resource/Würzburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE26C")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Würzburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE146")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Biberach"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE946")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Ammerland"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE215")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Berchtesgadener_Land"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEB15")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Birkenfeld"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEE07")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Börde"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE235")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Cham"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE933")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Harburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEE09")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Harz"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF06")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Herzogtum_Lauenburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE94C")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Leer"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE24C")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Lichtenfels"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEC03")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Neunkirchen"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE71C")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Offenbach"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE936")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Osterholz"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE928")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Schaumburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF0D")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Segeberg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF0E")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Steinburg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF0F")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Stormarn"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE94G")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Wesermarsch"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE40F")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Prignitz"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE405")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Barnim"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE40I")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Uckermark"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE113")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Esslingen"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE11C")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Heidenheim"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF0F")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Stormarn"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE27A")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Lindau_(Bodensee)"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEE0E")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Wittenberg"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE13A")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Waldshut"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF07")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Nordfriesland"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE949")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Emsland"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEF05")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Dithmarschen"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE407")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Elbe-Elster"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE408")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Havelland"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEB12")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Ahrweiler"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE145")) dbpediaUri = "http://de.dbpedia.org/resource/Alb-Donau-Kreis"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEA45")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Lippe"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE715")) dbpediaUri = "http://de.dbpedia.org/resource/Kreis_Bergstraße"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DEB24")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Vulkaneifel"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE229")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Regen"; if (nutsDistrictUri.equals("http://nuts.geovocab.org/id/DE267")) dbpediaUri = "http://de.dbpedia.org/resource/Landkreis_Haßberge"; nutsUriToDbpediaUri.put(nutsDistrictUri, dbpediaUri); } qe.close(); for (Map.Entry<String, String> entry : nutsUriToDbpediaUri.entrySet()) { UriResolver.getInstance().queryExtra(entry.getValue(), "district", model); // NodeIterator listObjectsOfProperty = model.listObjectsOfProperty(OWL.sameAs); // while (listObjectsOfProperty.hasNext()) // System.out.println(listObjectsOfProperty.next().asResource().getURI()); model.add( ResourceFactory.createResource(entry.getKey()), OWL.sameAs, ResourceFactory.createResource(entry.getValue())); model.add( ResourceFactory.createResource(entry.getValue()), OWL.sameAs, ResourceFactory.createResource(entry.getKey())); } }