src/hdalab/management/commands/query_dbpedia.py
changeset 281 bc0f26b1acc2
parent 279 177b508612f4
child 284 f01235a1dcc2
--- a/src/hdalab/management/commands/query_dbpedia.py	Fri Jun 20 17:04:51 2014 +0200
+++ b/src/hdalab/management/commands/query_dbpedia.py	Tue Jun 24 16:58:34 2014 +0200
@@ -5,6 +5,7 @@
 @author: ymh
 '''
 
+from django.conf import settings
 from django.core.management.base import NoArgsCommand
 from django.core.management.color import no_style
 
@@ -123,7 +124,8 @@
             print "dbpedia query cancelled"
             return
 
-        endpoint = SPARQLWrapper("http://dbpedia.org/sparql", returnFormat=RDF)
+        #endpoint = SPARQLWrapper("http://dbpedia.org/sparql", returnFormat=RDF)
+        endpoint = SPARQLWrapper(settings.DBPEDIA_URI_TEMPLATE % ( 'sparql', '' ), returnFormat=RDF)
 
         writer = None
         for i,tag in enumerate(queryset):
@@ -141,7 +143,8 @@
                 labels = {}
                 thumbnail = None
                 with transaction.commit_on_success():
-                    endpoint.setQuery("select distinct ?y where {<%s>  <http://dbpedia.org/ontology/abstract> ?y}" % (tag.dbpedia_uri))
+                    #endpoint.setQuery("select distinct ?y where {<%s>  <http://dbpedia.org/ontology/abstract> ?y}" % (tag.dbpedia_uri))
+                    endpoint.setQuery("select distinct ?y where {<%s>  <%s> ?y}" % (settings.DBPEDIA_URI_TEMPLATE % ( 'ontology', 'abstract' ), tag.dbpedia_uri))
                     res_abstracts = endpoint.queryAndConvert()
                     for _,_,o in res_abstracts.triples((None, URIRef('http://www.w3.org/2005/sparql-results#value'), None)):
                         abstracts[o.language] = (unicode(o), True)
@@ -151,12 +154,14 @@
                     for _,_,o in res_labels.triples((None, URIRef('http://www.w3.org/2005/sparql-results#value'), None)):
                         labels[o.language] = (unicode(o), True)
                             
-                    endpoint.setQuery("select distinct ?y where {<%s>  <http://dbpedia.org/ontology/thumbnail> ?y} limit 1" % (tag.dbpedia_uri))
+                    #endpoint.setQuery("select distinct ?y where {<%s>  <http://dbpedia.org/ontology/thumbnail> ?y} limit 1" % (tag.dbpedia_uri))
+                    endpoint.setQuery("select distinct ?y where {<%s>  <%s> ?y} limit 1" % (settings.DBPEDIA_URI_TEMPLATE % ( 'ontology', 'thumbnail' ), tag.dbpedia_uri))
                     res_thumbnails = endpoint.queryAndConvert()
                     for _,_,o in res_thumbnails.triples((None, URIRef('http://www.w3.org/2005/sparql-results#value'), None)):
                         thumbnail = unicode(o)
 
-                    endpoint.setQuery('select distinct ?y where { <%s> ?p ?y . FILTER regex(?y, "^http://dbpedia.org/resource")}' % (tag.dbpedia_uri))
+                    #endpoint.setQuery('select distinct ?y where { <%s> ?p ?y . FILTER regex(?y, "^http://dbpedia.org/resource")}' % (tag.dbpedia_uri))
+                    endpoint.setQuery('select distinct ?y where { <%s> ?p ?y . FILTER regex(?y, "^%s")}' % (tag.dbpedia_uri, settings.DBPEDIA_URI_TEMPLATE % ( 'resource', '' )))
                     res_links = endpoint.queryAndConvert()
                     for _,_,o in res_links.triples((None, URIRef('http://www.w3.org/2005/sparql-results#value'), None)):
                         tagqs = Tag.objects.filter(dbpedia_uri=unicode(o))