2012-03-15 36 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

請你能描述你的問題好一點嗎? – 2012-03-15 16:10:10

回答

2

AFAIK-rdflib不支持4store。但是,您可以使用curl和python以及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序列化(ntriplesrdfxml)的。

如果您不想處理子流程,您還可以將此調用轉換爲urllib/urllib2函數。

4store SparqlServer documentation還有更多的例子。並且,可選地,您可以使用任何Python 4store client libraries

+0

非常感謝你的工作...... !!!!! – 2012-03-21 04:44:08

+1

如果它工作,然後選擇正確的答案,請。 – 2012-03-21 05:27:50

+0

我還沒有使用子進程..而是首選urllib/urllib2函數。 – 2012-03-22 04:42:20

相關問題