Uso SPARQL UPDATE UNLOAD para eliminar datos de Neptune - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso SPARQL UPDATE UNLOAD para eliminar datos de Neptune

Neptune también proporciona una SPARQL operación personalizada,UNLOAD, para eliminar los datos que se especifican en una fuente remota. UNLOADpuede considerarse como una contrapartida de la LOAD operación. Su sintaxis es la siguiente:

nota

Esta característica está disponible a partir de la versión 1.0.4.1 del motor de Neptune.

UNLOAD SILENT (URL of the remote data to be unloaded) FROM GRAPH (named graph from which to remove the data)
  • SILENT: (opcional) hace que la operación se realice correctamente aunque se haya producido un error al procesar los datos.

    Puede resultar útil cuando una sola transacción contiene varias instrucciones, como "LOAD ...; LOAD ...; UNLOAD ...; LOAD ...;", y si desea que la transacción se complete aunque algunos de los datos remotos no se hayan podido procesar.

  • URL of the remote data to be unloaded   — (Obligatorio) Especifica un archivo de datos remoto que contiene datos que se van a descargar de un gráfico.

    El archivo remoto debe tener una de las siguientes extensiones (son los mismos formatos que LOAD admite UPDATE -):

    • .ntparaNTriples.

    • .nqparaNQuads.

    • .trig para Trig.

    • .rdfparaRDF/XML.

    • .ttl para Turtle.

    • .n3 para N3.

    • .jsonldpara JSON -LD.

    La operación UNLOAD eliminará todos los datos que contiene este archivo del clúster de base de datos.

    URLPara que se descarguen los datos, se debe incluir cualquier autenticación de Amazon S3. Puede firmar previamente un archivo de Amazon S3 y, a continuación, utilizar el resultado URL para acceder a él de forma segura. Por ejemplo:

    aws s3 presign --expires-in (number of seconds) s3://(bucket name)/(path to file of data to unload)

    Después:

    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)'

    Para obtener más información, consulte la sección sobre autenticación de solicitudes: uso de parámetros de consulta.

  • FROM GRAPH (named graph from which to remove the data)   — (Opcional) Especifica el gráfico con nombre del que se deben descargar los datos remotos.

    Neptune asocia cada triple con un gráfico con nombre. Puede especificar el gráfico con nombre predeterminado utilizando el gráfico con nombre alternativoURI, http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph como se muestra a continuación:

    FROM GRAPH <http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph>

De la misma manera que LOAD se corresponde con INSERT DATA { (inline data) }, UNLOAD se corresponde con DELETE DATA { (inline data) }. Al igual que DELETE DATA, UNLOAD no funciona con datos que contienen nodos en blanco.

Por ejemplo, si un servidor web local publica un archivo denominado data.nt que contiene los dos triples siguientes:

<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> .

El siguiente comando UNLOAD eliminaría esos dos triples del gráfico con nombre, <http://example.org/graph1>.

UNLOAD <http://localhost:80/data.nt> FROM GRAPH <http://example.org/graph1>

Esto tendría el mismo efecto que usar el siguiente comando DELETE DATA:

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> . } }
Excepciones generadas por el comando UNLOAD
  • InvalidParameterException: había nodos en blanco en los datos. HTTPestado: 400 Solicitud incorrecta.

    Mensaje: Blank nodes are not allowed for UNLOAD

     

  • InvalidParameterException: había una sintaxis interrumpida en los datos. HTTPestado: 400 Solicitud incorrecta.

    Mensaje: Invalid syntax in the specified file.

     

  • UnloadUrlAccessDeniedException : el acceso se ha denegado. HTTPestado: 400 Solicitud incorrecta.

    Mensaje: Update failure: Endpoint (Neptune endpoint) reported access denied error. Please verify access.

     

  • BadRequestException : no se pueden recuperar los datos remotos. HTTPestado: 400 Solicitud incorrecta.

    Mensaje: (depende de la HTTP respuesta).