2016-04-21 27 views
0

Ich analysiere eine Datenbank in eine RDFlib-Grafik. Ich möchte nun die Tripel aus diesem Diagramm in den GraphDB-Tripelspeicher einfügen. Der Code funktioniert einwandfrei, wenn ich ihn auf einer älteren Version von GraphDB-Lite, die auf Sesame gehostet wird, ausführe. Allerdings bekomme ich einen Fehler beim Ausführen der gleichen Abfrage auf der jetzt eigenständigen GraphDB 7.0.0. Das Diagramm wird teilweise geparst, bevor der Fehler ausgelöst wird, und die eingefügten Tripel erscheinen im Dreifachspeicher.Fehler in Abfrage beim Einfügen von Daten mit RDFlib zu GraphDB

Dieser Teil des Codes ist:

graphdb_url = 'http://my.ip.address.here:7200/repositories/Test3/statements' 
##Insert into Sesame 
     for s,p,o in graph1: 
      pprint.pprint ((s,p,o)) 
      queryStringUpload = 'INSERT DATA {%s %s %s}' %(s,p,o) 
      # queryStringUpload = 'DELETE WHERE {?s ?p ?o .}' 
      # print queryStringUpload 
      sparql = SPARQLWrapper(graphdb_url) 
      sparql.method = 'POST' 
      sparql.setQuery(queryStringUpload) 
      sparql.query() 

Es folgt der Fehler:

ARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed: a bad request has been sent to the endpoint, probably the sparql query is bad formed. 

Response: 
MALFORMED QUERY: Lexical error at line 1, column 93. Encountered: "/" (47), after : "purl.org" 

Was den Fehler verursacht und wie ich sie lösen?

Antwort

1

Es war ein Syntaxfehler. Ich hatte URIs beginnend mit http:/ anstelle von http:// an einigen Stellen.