web/hdalab/management/commands/query_geo_inclusion.py
changeset 266 825ff4d6a8ac
parent 203 00fc169cc6a9
child 267 24ff98f2a122
--- a/web/hdalab/management/commands/query_geo_inclusion.py	Fri Jun 22 19:16:46 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-# -*- coding: utf-8 -*-
-'''
-Created on Feb 22, 2012
-
-@author: raphv
-'''
-
-from django.core.management.base import NoArgsCommand
-from django.core.management.color import no_style
-from hdabo.utils import show_progress
-from hdabo.models import Tag
-from hdalab.models import Country, GeoInclusion
-from SPARQLWrapper import SPARQLWrapper, JSON
-import re
-
-class Command(NoArgsCommand):
-    def handle_noargs(self, **options):
-        self.style = no_style()
-
-        qs = Tag.objects.filter(category__label="Localisation").exclude(dbpedia_uri = None)
-        total = qs.count()
-        
-        endpoint = SPARQLWrapper("http://dbpedia.org/sparql")
-        endpoint.setReturnFormat(JSON)
-        sparqltext = """
-            SELECT ?resource WHERE {
-             { <%s> ?resource <http://dbpedia.org/ontology/Country> . }
-            UNION
-             { <%s> <http://dbpedia.org/ontology/country> ?resource . }
-            }
-        """
-        resourceprefix = "http://dbpedia.org/resource/"
-        identityuri = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
-        
-        writer = None
-        
-        for i,tag in enumerate(qs):
-            endpoint.setQuery(sparqltext % (tag.dbpedia_uri, tag.dbpedia_uri))
-    
-            results = endpoint.query().convert()['results']['bindings']
-            
-            if len(results) == 1: # We don't want places located in multiple countries
-                
-                resourceuri = results[0]['resource']['value']
-                
-                if re.match(resourceprefix, resourceuri):
-                    countrytxt = re.findall('([^/]+$)', resourceuri)[0]
-                    
-                    country, created = Country.objects.get_or_create(dbpedia_uri=resourceuri)
-                    GeoInclusion.objects.get_or_create(tag=tag, country=country)
-                    
-                if resourceuri == identityuri:
-                    countrytxt = '<is a country>'
-                    
-                    country, created = Country.objects.get_or_create(dbpedia_uri=tag.dbpedia_uri)
-                    GeoInclusion.objects.get_or_create(tag=tag, country=country)
-                
-            else:
-                countrytxt = '<unknown>'
-            
-            writer = show_progress(i+1, total, '%s => %s'%(tag.label, countrytxt), 50, writer)
\ No newline at end of file