Utiliser SPARQL UPDATE UNLOAD pour supprimer des données de Neptune - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser SPARQL UPDATE UNLOAD pour supprimer des données de Neptune

Neptune fournit également une opération SPARQL personnalisée,UNLOAD, pour supprimer les données spécifiées dans une source distante.UNLOADpeut être considéré comme une contrepartie duLOADUsage operation. Sa syntaxe est la suivante :

Note

Cette fonction est disponible à partir deVersion 1.0.4.1 du moteur Neptune.

UNLOAD SILENT (URL of the remote data to be unloaded) FROM GRAPH (named graph from which to remove the data)
  • SILENT— (Facultatif) Permet à l'opération de revenir à la réussite même en cas d'erreur lors du traitement des données.

    Cela peut être utile lorsqu'une seule transaction contient plusieurs instructions telles que"LOAD ...; LOAD ...; UNLOAD ...; LOAD ...;"et vous souhaitez que la transaction soit terminée même si certaines données distantes n'ont pas pu être traitées.

  • URL des données distantes à décharger— (Obligatoire) Spécifie un fichier de données distant contenant les données à décharger d'un graphe.

    Le fichier distant doit avoir l'une des extensions suivantes (il s'agit des mêmes formats que ceux pris en charge par UPDATE-LOAD) :

    • .nt pour NTriples.

    • .nq pour NQuads.

    • .trig pour Trig.

    • .rdf pour RDF/XML.

    • .ttl pour Turtle.

    • .n3 pour N3.

    • .jsonld pour JSON-LD.

    Toutes les données que contient ce fichier seront supprimées de votre cluster de bases de données parUNLOADUsage operation.

    Toute authentification Amazon S3 doit être incluse dans l'URL pour que les données puissent être déchargées. Vous pouvez pré-signer un fichier Amazon S3, puis utiliser l'URL qui en résulte pour y accéder en toute sécurité. Par exemple :

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

    Ensuite :

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

    Pour plus d'informations, veuillez consulter la rubriqueDemandes d'authentification : Utilisation de paramètres de requête.

  • FROM GRAPH (graphique nommé à partir duquel supprimer les données)— (Facultatif) Spécifie le graphe nommé à partir duquel les données distantes doivent être déchargées.

    Neptune associe chaque triple à un graphe nommé. Vous pouvez spécifier le graphe nommé par défaut à l'aide de l'URI named-graph de secours,http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph, comme suit :

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

De la même manière queLOADcorrespond à la consoleINSERT DATA { (inline data) },UNLOADcorrespond à la consoleDELETE DATA { (inline data) }. LIKEDELETE DATA,UNLOADne fonctionne pas sur les données contenant des nœuds vides.

Par exemple, si un serveur Web local fournit un fichier nommédata.ntqui contient les 2 triples suivants :

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

LesUNLOADla commande supprimerait ces deux triples du graphe nommé,<http://example.org/graph1> :

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

Cela aurait le même effet que l'utilisation de ce qui suitDELETE DATAcommande :

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

Exceptions lancées parUNLOADcommande

  • InvalidParameterException— Il y avait des nœuds vides dans les données. Statut HTTP : 400 : Requête erronée.

    Message : Blank nodes are not allowed for UNLOAD

     

  • InvalidParameterException— Il y avait une syntaxe incorrecte dans les données. Statut HTTP : 400 : Requête erronée.

    Message :Invalid syntax in the specified file.

     

  • UnloadUrlAccessDeniedException — L'accès a été refusé. Statut HTTP : 400 : Requête erronée.

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

     

  • BadRequestException — Les données distantes ne peuvent pas être récupérées. Statut HTTP : 400 : Requête erronée.

    Message :(dépend de la réponse HTTP).