2012-03-15 10 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と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

本当にありがとうございました... !!!!! –

+1

それがうまくいけば、答えを正しいもの、plsとして選択してください。 –

+0

私はサブプロセスを使用していません..代わりに好ましいurllib/urllib2関数。 –

関連する問題