src/jocondelab/management/commands/import_dbpedia_translations.py
changeset 90 90a5258b3cc4
parent 89 fa40437d5991
--- a/src/jocondelab/management/commands/import_dbpedia_translations.py	Fri Aug 16 16:32:06 2013 +0200
+++ b/src/jocondelab/management/commands/import_dbpedia_translations.py	Fri Aug 16 19:13:12 2013 +0200
@@ -48,19 +48,19 @@
         
         for i,obj in enumerate(qs):
             writer = show_progress(i+1, count, obj.uri, 50, writer)
-            for langtuple in settings.LANGUAGES:
-                lang = langtuple[0]
-                try:
-                    with transaction.commit_on_success():
-                        DbpediaTranslation.objects.filter(dbpediaresource=obj).delete()
+            try:
+                with transaction.commit_on_success():
+                    DbpediaTranslation.objects.filter(dbpediaresource=obj).delete()
+                    for langtuple in settings.LANGUAGES:
+                        lang = langtuple[0]
                         endpointuri = settings.WIKIPEDIA_URLS[obj.lang]['dbpedia_sparql_url']
                         endpoint = SPARQLWrapper2(endpointuri)
                         uri = urllib.unquote(str(obj.uri)).decode('utf8')
                         sparql = u"""
                         select ?label, ?rlabel where {
-                            OPTIONAL { <%s> rdfs:label ?label FILTER (lang(?label) = "%s") } .
+                            OPTIONAL { <%s> rdfs:label ?label FILTER ( langMatches(?label, "%s") ) } .
                             OPTIONAL { <%s> dbpedia-owl:wikiPageRedirects ?r }.
-                            OPTIONAL { ?r rdfs:label ?rlabel FILTER (lang(?rlabel) = "%s") }.
+                            OPTIONAL { ?r rdfs:label ?rlabel FILTER ( langMatches(?rlabel, "%s") ) }.
                         }
                         """%(uri, lang, uri, lang)
                         endpoint.setQuery(sparql)
@@ -76,8 +76,8 @@
                                     label = label
                                 )
                         
-                except Exception as e:
-                    print "\nError processing resource %s : %s" %(obj.uri,unicode(e))
-                    traceback.print_exception(type(e), e, sys.exc_info()[2])
+            except Exception as e:
+                print "\nError processing resource %s : %s" %(obj.uri,unicode(e))
+                traceback.print_exception(type(e), e, sys.exc_info()[2])
                 
         
\ No newline at end of file