From: <jen...@us...> - 2009-05-26 14:22:19
|
Revision: 1771 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1771&view=rev Author: jenslehmann Date: 2009-05-26 14:22:14 +0000 (Tue, 26 May 2009) Log Message: ----------- support for matching mountains, islands, stadiums, rivers, radio stations, lighthouses collection of stats Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaPoint.java trunk/src/dl-learner/org/dllearner/scripts/matching/LGDPoint.java trunk/src/dl-learner/org/dllearner/scripts/matching/POIClass.java Modified: trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java 2009-05-26 11:02:20 UTC (rev 1770) +++ trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaLinkedGeoData.java 2009-05-26 14:22:14 UTC (rev 1771) @@ -142,13 +142,15 @@ matches++; matchPerClass.put(poiClass, noMatchPerClass.get(poiClass)+1); } +// System.out.println(poiClass); counter++; if(counter % 1000 == 0) { // System.out.println(new Date().toString() + ": " + counter + " points processed. " + matches + " matches found. " + skipCount + " POIs skipped."); printSummary(); - } + } } else { +// System.out.println(dp.getUri() + " " + dp.getClasses()); skipCount++; } @@ -192,16 +194,17 @@ System.out.println("Summary at date " + new Date().toString()); for(POIClass poiClass : POIClass.values()) { - double per = matchPerClass.get(poiClass)/(double)(matchPerClass.get(poiClass)+noMatchPerClass.get(poiClass)); - System.out.println("POI class " + poiClass + ": " + matchPerClass.get(poiClass) + " matches found, " + df.format(per) + "% of DBpedia POIs matched" ); + int classTests = matchPerClass.get(poiClass)+noMatchPerClass.get(poiClass); + double per = classTests == 0 ? 0 : 100 * matchPerClass.get(poiClass)/(double)(classTests); + System.out.println("POI class " + poiClass + ": " + matchPerClass.get(poiClass) + " matches found, " + df.format(per) + "% match rate" ); } // System.out.println(""); System.out.println("Overall:"); - int total = skipCount + matches; - double skipFreq = skipCount/(double)total; - double countFreq = counter/(double)total; - double matchFreq = matches/(double)total; + int total = skipCount + counter; + double skipFreq = 100*skipCount/(double)total; + double countFreq = 100*counter/(double)total; + double matchFreq = 100*matches/(double)total; System.out.println(skipCount + " POIs skipped (cannot be assigned to a POI class) = " + df.format(skipFreq) + "%"); System.out.println(counter + " POIs processed = " + df.format(countFreq) + "%"); System.out.println(matches + " matches found = " + df.format(matchFreq) + "%"); Modified: trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaPoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaPoint.java 2009-05-26 11:02:20 UTC (rev 1770) +++ trunk/src/dl-learner/org/dllearner/scripts/matching/DBpediaPoint.java 2009-05-26 14:22:14 UTC (rev 1771) @@ -148,7 +148,7 @@ } // maps classes (in DBpedia ontology or otherwise) to supported POI classes - private POIClass getPOIClass(String[] classes) { + public static POIClass getPOIClass(String[] classes) { for(String clazz : classes) { // System.out.println("class: " + clazz); if(clazz.equals("http://dbpedia.org/ontology/City")) { @@ -169,6 +169,20 @@ return POIClass.AIRPORT; } else if(clazz.equals("http://dbpedia.org/ontology/Station")) { return POIClass.RAILWAY_STATION; + } else if(clazz.equals("http://dbpedia.org/ontology/Stadium")) { + return POIClass.STADIUM; + } else if(clazz.equals("http://dbpedia.org/ontology/Island")) { + return POIClass.ISLAND; + } else if(clazz.equals("http://dbpedia.org/ontology/River")) { + return POIClass.RIVER; + } else if(clazz.equals("http://dbpedia.org/ontology/Bridge")) { + return POIClass.BRIDGE; + } else if(clazz.equals("http://dbpedia.org/ontology/Mountain")) { + return POIClass.MOUNTAIN; + } else if(clazz.equals("http://umbel.org/umbel/sc/Mountain")) { + return POIClass.MOUNTAIN; + } else if(clazz.equals("http://dbpedia.org/ontology/Lighthouse")) { + return POIClass.LIGHT_HOUSE; } } return null; Modified: trunk/src/dl-learner/org/dllearner/scripts/matching/LGDPoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/matching/LGDPoint.java 2009-05-26 11:02:20 UTC (rev 1770) +++ trunk/src/dl-learner/org/dllearner/scripts/matching/LGDPoint.java 2009-05-26 14:22:14 UTC (rev 1771) @@ -58,6 +58,13 @@ case LAKE : return variable + " <http://linkedgeodata.org/vocabulary#natural> \"water\" . "; case COUNTRY : return variable + " <http://linkedgeodata.org/vocabulary#place> \"country\" . "; case RAILWAY_STATION : return variable + " <http://linkedgeodata.org/vocabulary#railway> \"station\" . "; + case ISLAND : return variable + " <http://linkedgeodata.org/vocabulary#place> \"island\" . "; + case STADIUM : return variable + " <http://linkedgeodata.org/vocabulary#leisure> \"stadium\" . "; + case RIVER : return variable + " <http://linkedgeodata.org/vocabulary#waterway> ?something . "; + case BRIDGE : return variable + " <http://linkedgeodata.org/vocabulary#bridge> ?something . "; + case MOUNTAIN : return variable + " <http://linkedgeodata.org/vocabulary#natural> \"peak\" . "; + case RADIO_STATION : return variable + " <http://linkedgeodata.org/vocabulary#amenity> \"studio\" . "; + case LIGHT_HOUSE : return variable + " <http://linkedgeodata.org/vocabulary#man_made> \"lighthouse\" . "; default: throw new Error("Cannot restrict."); } } Modified: trunk/src/dl-learner/org/dllearner/scripts/matching/POIClass.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/matching/POIClass.java 2009-05-26 11:02:20 UTC (rev 1770) +++ trunk/src/dl-learner/org/dllearner/scripts/matching/POIClass.java 2009-05-26 14:22:14 UTC (rev 1771) @@ -47,6 +47,27 @@ // 200 km box (largest lake is the Caspian Sea with 1200 km length) LAKE (200000), + // 1 km box + BRIDGE (1000), + + // 10 km box + MOUNTAIN (10000), + + // 10000 km box (continents?) + ISLAND (10000000), + + // 1 km box + STADIUM (1000), + + // 1000 km box + RIVER (1000000), + + // 1 km box + RADIO_STATION (1000), + + // 1 km box + LIGHT_HOUSE (1000), + // 2000 km box (Russia has radius 4000 km) COUNTRY (2000000); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |