Treść DBpedia jest w formacie RDF. Zrzuty można pobrać z here
Dbpedia jest dużym zbiorem danych w języku RDF, który obsługuje tę ilość danych, aby móc korzystać z technologii Triple Store. Dla Dbpedii będziesz potrzebował jednego z natywnych potrójnych sklepów, polecam ci użyć albo Virtuoso lub 4store. Osobiście wolę 4store.
Po utworzeniu swojego potrójnego sklepu z Dbpedia. Możesz użyć SPARQL, aby zapytać o trójki RDF Dbpedia. Istnieją biblioteki Pythona, które mogą ci w tym pomóc. 4store i Virtuoso mogą dać ci wyniki w JSON, dzięki czemu bez problemu przejdziesz bez żadnych bibliotek.
Niektóre prosty skrypt urllib jak ...
def query(q,epr,f='application/json'):
try:
params = {'query': q}
params = urllib.urlencode(params)
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request(epr+'?'+params)
request.add_header('Accept', f)
request.get_method = lambda: 'GET'
url = opener.open(request)
return url.read()
except Exception, e:
traceback.print_exc(file=sys.stdout)
raise e
może pomóc uruchomić sparql ... na przykład
>>> q1 = """
... select ?birthPlace where {
... <http://dbpedia.org/resource/Claude_Monet> <http://dbpedia.org/property/birthPlace> ?birthPlace .
... }"""
>>> print query(q1,"http://dbpedia.org/sparql")
{ "head": { "link": [], "vars": ["birthPlace"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "birthPlace": { "type": "literal", "xml:lang": "en", "value": "Paris, France" }} ] } }
>>>
Mam nadzieję, że to daje wyobrażenie o tym, jak zacząć.
THX @msalvadores. To działa dobrze z DBPedia.org. Nadal trzeba go uruchomić lokalnie na maszynie win7. Tak definitywnie Virtuoso (4store tylko Linux). Ale nadal nie można znaleźć dobrego samouczka instalacyjnego dla platformy Windows. – jaz
Nawet dla Virtuoso lepiej byłoby z Linuksem. Jeśli chcesz pozostać przy Virtuoso, spójrz na ten http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSUsageWindows Pamiętaj też, że jeśli chcesz załadować wszystkie DBPEDIA, potrzebujesz porządnej, potężnej maszyny , może serwer towaru. –
nie może głosować, ponieważ wciąż nie mam wystarczającej reputacji. Ale wybrałeś odpowiedź jako poprawną! – jaz