Verwenden SPARQL UPDATEUNLOAD, um Daten aus Neptune zu löschen - Amazon Neptune

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden SPARQL UPDATEUNLOAD, um Daten aus Neptune zu löschen

Neptune bietet auch eine benutzerdefinierte SPARQL Operation zum Entfernen von DatenUNLOAD, die in einer Remote-Quelle angegeben sind. UNLOADkann als Gegenstück zur Operation angesehen werden. LOAD Die Syntax ist wie folgt:

Anmerkung

Dieses Feature ist ab Version 1.0.4.1 der Neptune-Engine verfügbar.

UNLOAD SILENT (URL of the remote data to be unloaded) FROM GRAPH (named graph from which to remove the data)
  • SILENT   –   (Optional) Bewirkt, dass die Operation auch dann erfolgreich ist, wenn bei der Verarbeitung der Daten ein Fehler aufgetreten ist.

    Dies kann nützlich sein, wenn eine einzelne Transaktion mehrere Anweisungen enthält, z. B. "LOAD ...; LOAD ...; UNLOAD ...; LOAD ...;", und die Transaktion abgeschlossen werden soll, auch wenn einige der entfernten Daten nicht verarbeitet werden konnten.

  • URL of the remote data to be unloaded   — (Erforderlich) Gibt eine entfernte Datendatei an, die Daten enthält, die aus einem Diagramm entladen werden sollen.

    Die Remote-Datei muss eine der folgenden Erweiterungen haben (dies sind dieselben Formate, die UPDATE - LOAD unterstützt):

    • .ntfürNTriples.

    • .nqfürNQuads.

    • .trig für Trig.

    • .rdffürRDF/XML.

    • .ttl für Turtle.

    • .n3 für N3.

    • .jsonldfür JSON -LD.

    Alle Daten, die diese Datei enthält, werden durch die Operation UNLOAD aus Ihrem DB-Cluster entfernt.

    Jede Amazon S3 S3-Authentifizierung muss in der enthalten sein, URL damit die Daten entladen werden können. Sie können eine Amazon S3 S3-Datei vorab signieren und das Ergebnis dann verwendenURL, um sicher darauf zuzugreifen. Beispielsweise:

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

    Dann:

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

    Weitere Informationen finden Sie auf der Seite zum Thema Authentifizieren von Anforderungen: Verwenden von Abfrageparametern.

  • FROM GRAPH (named graph from which to remove the data)   — (Optional) Gibt das benannte Diagramm an, aus dem die Remote-Daten entladen werden sollen.

    Neptune ordnet jedem Triple ein benanntes Diagramm zu. Sie können das benannte Standarddiagramm mithilfe des Ersatzmodells named-graph URI wie folgt angeben: http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph

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

Auf die gleiche Weise, wie LOAD INSERT DATA { (inline data) } entspricht, entspricht UNLOAD DELETE DATA { (inline data) }. Wie DELETE DATA, funktioniert UNLOAD nicht für Daten, die leere Knoten enthalten.

Wenn ein lokaler Webserver beispielsweise eine Datei mit dem Namen data.nt bereitstellt, die die folgenden 2 Tripel enthält:

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

Der folgende Befehl UNLOAD würde diese beiden Tripel aus dem benannten Diagramm (<http://example.org/graph1>) löschen.

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

Dies hätte den gleichen Effekt wie die Verwendung des folgenden Befehls 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> . } }
Ausnahmen, die durch den Befehl UNLOAD ausgelöst werden
  • InvalidParameterException   –   Die Daten enthielten leere Knoten. HTTPStatus: 400 Schlechte Anfrage.

    Meldung: Blank nodes are not allowed for UNLOAD

     

  • InvalidParameterException   –   Die Daten enthielten eine fehlerhafte Syntax. HTTPStatus: 400 Schlechte Anfrage.

    Meldung: Invalid syntax in the specified file.

     

  • UnloadUrlAccessDeniedException   –   Zugriff wurde abgelehnt. HTTPStatus: 400 Schlechte Anfrage.

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

     

  • BadRequestException   –   Die Remote-Daten können nicht abgerufen werden. HTTPStatus: 400 Schlechte Anfrage.

    Nachricht: (hängt von der HTTP Antwort ab).