Ich habe versucht, SPARQLWrapper zu bekommen, um ein einfaches Tripel ohne Erfolg in GraphDB einzufügen. Ich habe keine Probleme mit ausgewählten Abfragen. Hier ist Python Test-Code, der fehlschlägt:INSERT kann nicht in SPARQLWrapper arbeiten
db = sparqlw.SPARQLWrapper(endpoint)
query = '''
INSERT {<http://example.com/123456789876> a owl:Thing .}
WHERE {}
'''
db.setQuery(query)
db.method = sparqlw.POST
db.setReturnFormat(sparqlw.JSON)
db.queryType= sparqlw.INSERT
result = db.query()
Es diese Fehler zurückgibt:
"urllib.error.HTTPError: HTTP Error 400: Bad Request"
und
"SPARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed: a bad
request has been sent to the endpoint, probably the sparql query is bad
formed."
Antwort: b'Missing Parameter: query '
I' Ich habe überall hingeschaut und alles Mögliche versucht und kann es nicht zur Arbeit bringen. Dankbar für alle guten Leads.
Siehe meinen Kommentar zur Validierung der Abfrage. Der Vorschlag, dass die Frage ein Duplikat ist und bereits beantwortet wurde, ist nicht anwendbar.
Mögliche Duplikat [SPARQL Insert Ausnahme: SPARQLWrapper.SPARQLExceptions.QueryBadFormed] (https: //stackoverflow.com/questions/20636073/sparql-insert-exception-sparqlwrapper-sparqlexceptions-querybadformed) –
Ein weiteres Stück von Information: Die Abfrage besteht die Validierung. Die Abfrage funktioniert auch innerhalb der GraphDB SPARQL-Schnittstelle, aber nicht über SPARQLWrapper. –