File "<console>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django_gstudio-0.3.dev-py2.7.egg/gstudio/testing1.py", line 129, in rdf_description
store.add(self,(subject, predicate, object),context)
File "/usr/local/lib/python2.7/dist-packages/rdflib-3.2.0-py2.7.egg/rdflib/plugins/memory.py", line 298, in add
Store.add(self, triple, context, quoted)
File "/usr/local/lib/python2.7/dist-packages/rdflib-3.2.0-py2.7.egg/rdflib/store.py", line 177, in add
def add(self, (subject, predicate, object), context, quoted=False):
in
store.add(self, (subject, predicate, object), context, quoted=False)
답변
AFAIK - rdflib는 4store를 지원하지 않습니다. 하지만 curl
과 파이썬 그리고 4store SPARQL Server을 사용하면 쉽게 트리플을 단정 할 수 있습니다. 이 예에서
import subprocess
command = ["curl","-s",
"-T","/some/file/with/triples",
"-H","Content-Type: application/x-turtle",
"http://localhost:port/data/http://graph.to/save/triples"]
p = subprocess.Popen(command,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
output, err = p.communicate()
ret = p.poll()
if ret <> 0:
raise Exception, "Error asserting triples"
콘텐츠 형식 turtle이지만 다른 RDF 직렬화 (ntriples
, rdfxml
) 중 하나를 사용할 수 있습니다 예를 들면 다음과 같습니다있다.
하위 프로세스를 처리하지 않으려면이 호출을 urllib/urllib2
함수로 변환 할 수도 있습니다.
4store SparqlServer documentation에는 더 많은 예제가 있습니다. 그리고 선택적으로 Python 4store client libraries 중 하나를 사용할 수 있습니다.
정말 고마워요 ... !!!!! –
이 작동하면 대답을 올바른 것으로 선택하십시오 (pls). –
나는 선호하는 urllib/urllib2 함수 대신 subprocess ..를 사용하지 않았다. –
문제를 조금 더 잘 설명해 주시겠습니까? –