2011-05-08 21 views
5

RDFLIB kullanarak Susam RDF veritabanının grafiğini çizmek mümkün mü? Bu denedim budur: Python: Bir Susam veritabanını grafiğini çizmek için RDFLIB kullanma

Traceback (most recent call last): 
    File "C:\Software\rdflib\movieGraph.py", line 10, in <module> 
    g.parse(endpoint) 
    File "c:\python26_32bit\lib\site-packages\rdflib\graph.py", line 756, in parse 

    parser = plugin.get(format, Parser)() 
    File "c:\python26_32bit\lib\site-packages\rdflib\plugin.py", line 89, in get 
    raise PluginException("No plugin registered for (%s, %s)" % (name, kind)) 
rdflib.plugin.PluginException: No plugin registered for (application/xml, <class 
'rdflib.parser.Parser'>) 

Ben sadece hüner bir .rdf xml düzenini dönmek için Sesame neden doğru bir URL belirterek düşünüyorum:

endpoint = "http://127.0.0.1:8080/openrdf-workbench/repositories/movies/explore?resource=%3Cfile%3A%2F%2Fmovies_export.rdf%3E" 

from rdflib import Graph 
g = Graph() 
g.parse(endpoint) 

Bu hatadır. Sorunun

Yazar: http://answers.semanticweb.com/questions/9414/python-using-rdflib-to-graph-a-sesame-database reposted (orada cevap bakınız)

cevap

1

Sizin uç nokta URL yanlıştır. Bu (SPARQL) bir son nokta değil, bir istemci uygulaması olan Susam Workbench işaret eder. Herhangi bir Susam veritabanı için SPARQL son noktası her zaman Susam sunucusunda ve depo URL'sine eşittir. Sizin durumunuzda, muhtemelen http://127.0.0.1:8080/openrdf-sesame/repositories/movies.

Yaptığınız işe baktığımda, SPARQL son noktasına ihtiyacınız yok, ancak sadece tüm Susam veritabanının dışa aktarılmasını istiyorsunuz. Bunun için http://127.0.0.1:8080/openrdf-sesame/repositories/movies/statements'u kullanabilirsiniz. Daha fazla bilgi için Sesame HTTP communication protocol'a bakın. Soru 3 yıl önce olduğu gibi

+0

teşekkür,

(şeyiyle burada yayınlanan başka bir sitede kendi cevap, kopyalanan yanıt), artık o araç ile çalışıyorum. Cevabı işaretleyeceğim, ancak doğrulayamıyorum. – NealWalters