2012-03-15 7 views
-2
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) 
+3

문제를 조금 더 잘 설명해 주시겠습니까? –

답변

2

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 중 하나를 사용할 수 있습니다.

+0

정말 고마워요 ... !!!!! –

+1

이 작동하면 대답을 올바른 것으로 선택하십시오 (pls). –

+0

나는 선호하는 urllib/urllib2 함수 대신 subprocess ..를 사용하지 않았다. –