Не могу заставить RDFlib работать на Windows
Я установил RDFlib 3.0 и все, что нужно, но когда я запускаю следующий код, я получаю сообщение об ошибке. Код ниже взят из: http://code.google.com/p/rdflib/wiki/IntroSparql. Я часами пытался это исправить, но безуспешно. Может кто-нибудь помочь, пожалуйста?
import rdflib
rdflib.plugin.register('sparql', rdflib.query.Processor,
'rdfextras.sparql.processor', 'Processor')
rdflib.plugin.register('sparql', rdflib.query.Result,
'rdfextras.sparql.query', 'SPARQLQueryResult')
from rdflib import ConjunctiveGraph
g = ConjunctiveGraph()
g.parse("http://bigasterisk.com/foaf.rdf")
g.parse("http://www.w3.org/People/Berners-Lee/card.rdf")
from rdflib import Namespace
FOAF = Namespace("http://xmlns.com/foaf/0.1/")
g.parse("http://danbri.livejournal.com/data/foaf")
[g.add((s, FOAF['name'], n)) for s,_,n in g.triples((None, FOAF['member_name'], None))]
for row in g.query(
"""SELECT ?aname ?bname
WHERE {
?a foaf:knows ?b .
?a foaf:name ?aname .
?b foaf:name ?bname .
}""",
initNs=dict(foaf=Namespace("http://xmlns.com/foaf/0.1/"))):
print "%s knows %s" % row
Я получаю ошибку:
Traceback (most recent call last):
File "...", line 18 in <module>
initNs=dict(foaf=Namespace("http://xmlns.com/foaf/0.1/"))):
TypeError: query() got an unexpected keyword argument 'initNS'
2 ответа
Решение
Хорошо, я наконец нашел ответ. Вы можете прочитать это здесь: http://blog.eddsn.com/2010/05/unable-to-find-vcvarsall-bat/
Тем временем я нашел обходной путь - установить minGW32 и скомпилировать его. Так что для тех, у кого похожая проблема:
- Загрузите установщик minGW32 из sourceforge
- Когда вы устанавливаете инструмент и получаете экран с вопросом, какие компоненты установить, выберите "Базовые инструменты MinGW", "Компилятор g++" и "MingW make".
- После установки MinGW добавьте C:\MinGW\bin в переменную среды Path.