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 SPARQL UPDATE UNLOAD per eliminare dati da Neptune
Neptune fornisce anche un'operazione SPARQL UNLOAD
personalizzata per rimuovere i dati specificati in un'origine remota. UNLOAD
può essere considerato come una controparte dell'operazione. LOAD
La sintassi è:
Nota
Questa funzionalità è disponibile a partire dal rilascio 1.0.4.1 del motore Neptune.
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) Speciifica un file di dati remoto contenente dati da scaricare da un grafico.Il file remoto deve avere una delle seguenti estensioni (si tratta degli stessi formati supportati da UPDATE -LOAD):
.nt
perNTriples..nq
perNQuads..trig
per Trig..rdf
perRDF/XML..ttl
per Turtle..n3
per N3..jsonld
per JSON -LD.
Tutti i dati contenuti in questo file verranno rimossi dal cluster database dall'operazione
UNLOAD
.Qualsiasi autenticazione Amazon S3 deve essere inclusa nel file URL per lo scarico dei dati. Puoi pre-firmare un file Amazon S3 e quindi utilizzare il URL risultato per accedervi in modo sicuro. Per 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) Speciifica il grafico denominato da cui devono essere scaricati i dati remoti.Neptune associa ogni tripla a un grafo nominato. È possibile specificare il grafico con nome predefinito utilizzando il fallback named-graphURI, in questo modo:
http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph
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. HTTPstatus: 400 Richiesta non valida.Messaggio:
Blank nodes are not allowed for UNLOAD
-
InvalidParameterException
: sintassi non corretta nei dati. HTTPstatus: 400 Bad Request.Messaggio:
Invalid syntax in the specified file.
-
UnloadUrlAccessDeniedException
: accesso negato. HTTPstatus: 400 Bad Request.Messaggio:
Update failure: Endpoint
(Neptune endpoint)
reported access denied error. Please verify access. -
BadRequestException
: non è possibile recuperare i dati remoti. HTTPstatus: 400 Bad Request.Messaggio: (dipende dalla HTTP risposta).