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

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

Neptune propose également une SPARQL opération personnalisée pour supprimer UNLOAD les données spécifiées dans une source distante. UNLOADpeut être considéré comme une contrepartie de l'LOADopération. Sa syntaxe est la suivante :

Note

Cette fonctionnalité est disponible à partir de la version 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) fait en sorte que l'opération renvoie une réussite même en cas d'erreur lors du traitement des données.

    Cela peut être utile lorsqu'une seule transaction contient plusieurs déclarations, comme "LOAD ...; LOAD ...; UNLOAD ...; LOAD ...;", et si vous souhaitez qu'elle soit exécutée même si certaines données distantes n'ont pas pu être traitées.

  • URL of the remote data to be unloaded   — (Obligatoire) Spécifie un fichier de données distant contenant les données à décharger d'un graphique.

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

    • .ntpourNTriples.

    • .nqpourNQuads.

    • .trig pour Trig.

    • .rdfpourRDF/XML.

    • .ttl pour Turtle.

    • .n3 pour N3.

    • .jsonldpour JSON -LD.

    Toutes les données contenues dans ce fichier seront supprimées de votre cluster de bases de données par l'opération UNLOAD.

    Toute authentification Amazon S3 doit être incluse dans le URL pour que les données soient déchargées. Vous pouvez pré-signer un fichier Amazon S3, puis utiliser le résultat URL 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, consultez Authentification des demandes : utilisation des paramètres de requête.

  • FROM GRAPH (named graph from which to remove the data)   — (Facultatif) Spécifie le graphe nommé à partir duquel les données distantes doivent être déchargées.

    Neptune associe chaque triplet à un graphe nommé. Vous pouvez spécifier le graphe nommé par défaut à l'aide du graphe nommé de secours URIhttp://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph, comme ceci :

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

De la même manière que LOAD correspond à INSERT DATA { (inline data) }, UNLOAD correspond à DELETE DATA { (inline data) }. Comme DELETE DATA, UNLOAD ne fonctionne pas sur les données contenant des nœuds vides.

Par exemple, si un serveur web local gère un fichier nommé data.nt contenant les deux triplets 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> .

La commande UNLOAD suivante supprime ces deux triplets du graphe nommé, <http://example.org/graph1> :

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

L'effet serait le même que si vous utilisiez la commande DELETE DATA suivante :

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 générées par la commande UNLOAD
  • InvalidParameterException : présence de nœuds vides dans les données. HTTPstatut : 400 Mauvaise demande.

    Message : Blank nodes are not allowed for UNLOAD

     

  • InvalidParameterException : syntaxe des données incorrecte. HTTPstatut : 400 Mauvaise demande.

    Message : Invalid syntax in the specified file.

     

  • UnloadUrlAccessDeniedException  : accès refusé. HTTPstatut : 400 Mauvaise demande.

    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. HTTPstatut : 400 Mauvaise demande.

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