Utilizzo SPARQL UPDATE UNLOAD per eliminare dati da Neptune - Amazon Neptune

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. UNLOADpuò 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):

    • .ntperNTriples.

    • .nqperNQuads.

    • .trig per Trig.

    • .rdfperRDF/XML.

    • .ttl per Turtle.

    • .n3 per 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 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 { (inline data) }. Analogamente a 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).