diff -r 56d84b0c267f -r bc0f26b1acc2 src/hdalab/management/commands/query_dbpedia.py --- 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> ?y}" % (tag.dbpedia_uri)) + #endpoint.setQuery("select distinct ?y where {<%s> ?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> ?y} limit 1" % (tag.dbpedia_uri)) + #endpoint.setQuery("select distinct ?y where {<%s> ?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))