diff -r 56d84b0c267f -r bc0f26b1acc2 src/hdalab/management/commands/geojson_transform.py
--- a/src/hdalab/management/commands/geojson_transform.py Fri Jun 20 17:04:51 2014 +0200
+++ b/src/hdalab/management/commands/geojson_transform.py Tue Jun 24 16:58:34 2014 +0200
@@ -2,9 +2,10 @@
'''
@author: raphv
'''
+from django.conf import settings
from django.core.management.base import BaseCommand, CommandError
from django.utils.http import urlquote
-import django.utils.simplejson as json
+import json
from SPARQLWrapper import SPARQLWrapper, JSON
#import pydevd #@UnresolvedImport
@@ -30,26 +31,36 @@
geojson = json.loads(f.read())
f.close()
- labels = [feature['properties']['name'] for feature in geojson['features']]
- uris = dict([(label, 'http://dbpedia.org/resource/' + urlquote(label.replace(' ','_'))) for label in labels])
+ labels = [feature['properties']['label_fr'] for feature in geojson['features']]
+ #uris = dict([(label, 'http://dbpedia.org/resource/' + urlquote(label.replace(' ','_'))) for label in labels])
+ uris = dict([(label, settings.DBPEDIA_URI_TEMPLATE % ( 'resource', urlquote(label.replace(' ','_')) )) for label in labels])
uri_list = [uris[label] for label in uris]
base_uris = dict([(uris[label],uris[label]) for label in uris])
grp = 10
- endpoint = SPARQLWrapper("http://dbpedia.org/sparql")
+ #endpoint = SPARQLWrapper("http://dbpedia.org/sparql")
+ endpoint = SPARQLWrapper(settings.DBPEDIA_URI_TEMPLATE % ( 'sparql', '' ))
endpoint.setReturnFormat(JSON)
start = 0
while start < len(uri_list):
+# sparql = """
+# PREFIX dbpedia-owl:
+# SELECT ?source ?target
+# WHERE {
+# ?source dbpedia-owl:wikiPageRedirects ?target .
+# Filter (?source in (<%s>)) .
+# }
+# """ % '>, <'.join(uri_list[start:start + grp])
sparql = """
- PREFIX dbpedia-owl:
+ PREFIX dbpedia-owl: <%s>
SELECT ?source ?target
WHERE {
?source dbpedia-owl:wikiPageRedirects ?target .
Filter (?source in (<%s>)) .
}
- """ % '>, <'.join(uri_list[start:start + grp])
+ """ % ((settings.DBPEDIA_URI_TEMPLATE % ( 'ontology', '' )), '>, <'.join(uri_list[start:start + grp]))
endpoint.setQuery(sparql)
results = endpoint.query().convert()
@@ -79,7 +90,7 @@
endpoint.setQuery(sparql)
results = endpoint.query().convert()
- print repr(results)
+ #print repr(results)
for r in results["results"]["bindings"]:
country = r["country"]["value"]
@@ -94,7 +105,7 @@
start += grp
for feature in geojson['features']:
- base_uri = base_uris[uris[feature['properties']['name']]]
+ base_uri = base_uris[uris[feature['properties']['label_fr']]]
feature['properties']['dbpedia_uri'] = base_uri
if labels.has_key(base_uri):
@@ -105,5 +116,5 @@
print "No label for %s"%base_uri
f = open(geojsonfile,"w")
- f.write(json.dumps(geojson))
+ f.write(json.dumps(geojson, indent=2))
f.close()
\ No newline at end of file