Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di SPARQL UPDATE UNLOAD per eliminare i dati da Neptune
Neptune fornisce anche un'operazione SPARQL personalizzata, UNLOAD, per rimuovere i dati specificati in un'origine remota. UNLOAD può essere considerata una controparte dell'operazione LOAD. La sintassi è:
UNLOAD SILENT(URL of the remote data to be unloaded)FROM GRAPH(named graph from which to remove the data)
-
SILENT: (facoltativo) fa sì che l'operazione restituisca un esito positivo anche se si è verificato un errore durante l'elaborazione dei dati.Ciò può essere utile quando una singola transazione contiene più istruzioni come
"LOAD ...; LOAD ...; UNLOAD ...; LOAD ...;"e si desidera che la transazione venga completata anche se non è stato possibile elaborare alcuni dati remoti. -
URL of the remote data to be unloaded— (Obbligatorio) Specifica un file di dati remoto contenente i dati da scaricare da un grafico.Il file remoto deve avere una delle seguenti estensioni (sono gli stessi formati UPDATE-LOAD supportati):
.ntper NTriples..nqper NQuads..trigper Trig..rdfper RDF/XML..ttlper Turtle..n3per N3..jsonldper JSON-LD.
Tutti i dati contenuti in questo file verranno rimossi dal cluster database dall'operazione
UNLOAD.Qualsiasi autenticazione Amazon S3 deve essere inclusa nell'URL affinché i dati vengano scaricati. Puoi prefirmare un file Amazon S3 e quindi utilizzare l'URL risultante per accedervi in modo sicuro. Ad esempio:
aws s3 presign --expires-in(number of seconds)s3://(bucket name)/(path to file of data to unload)Quindi:
curl https://(a Neptune endpoint URL):8182/sparql \ --data-urlencode 'update=unload(pre-signed URL of the remote Amazon S3 data to be unloaded)\ from graph(named graph)'Per ulteriori informazioni, consulta Autenticazione delle richieste: utilizzo dei parametri di query.
-
FROM GRAPH(named graph from which to remove the data)— (Facoltativo) Specifica il grafico denominato da cui devono essere scaricati i dati remoti.Neptune associa ogni tripla a un grafo nominato. È possibile specificare il grafo nominato predefinito utilizzando l'URI di fallback del grafo nominato,
http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph, in questo modo:FROM GRAPH <http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph>
Nello stesso modo in cui LOAD corrisponde a INSERT DATA
{ , (inline data) }UNLOAD corrisponde a DELETE DATA { . Analogamente a (inline data) }DELETE DATA, UNLOAD non funziona su dati che contengono nodi vuoti.
Ad esempio, se un server Web locale serve un file denominato data.nt che contiene le seguenti 2 triple:
<http://example.org/resource#a> <http://example.org/resource#p> <http://example.org/resource#b> . <http://example.org/resource#a> <http://example.org/resource#p> <http://example.org/resource#c> .
Il comando UNLOAD seguente eliminerà queste due triple dal grafo nominato <http://example.org/graph1>:
UNLOAD <http://localhost:80/data.nt> FROM GRAPH <http://example.org/graph1>
Ciò avrà lo stesso effetto dell'utilizzo del comando DELETE DATA seguente:
DELETE DATA { GRAPH <http://example.org/graph1> { <http://example.org/resource#a> <http://example.org/resource#p> <http://example.org/resource#b> . <http://example.org/resource#a> <http://example.org/resource#p> <http://example.org/resource#c> . } }
Eccezioni generate dal comando UNLOAD
-
InvalidParameterException: sono presenti nodi vuoti nei dati. Stato HTTP: 400 Richiesta non valida.Messaggio:
Blank nodes are not allowed for UNLOAD -
InvalidParameterException: sintassi non corretta nei dati. Stato HTTP: 400 Richiesta non valida.Messaggio:
Invalid syntax in the specified file. -
UnloadUrlAccessDeniedException: accesso negato. Stato HTTP: 400 Richiesta non valida.Messaggio:
Update failure: Endpoint(Neptune endpoint)reported access denied error. Please verify access. -
BadRequestException: non è possibile recuperare i dati remoti. Stato HTTP: 400 Richiesta non valida.Messaggio: (dipende dalla risposta HTTP).