Uso del HTTP protocolo SPARQL 1.1 Graph Store (GSP) en Amazon 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 del HTTP protocolo SPARQL 1.1 Graph Store (GSP) en Amazon Neptune

En la recomendación SPARQL1.1 sobre el HTTP protocolo Graph Store, el W3C definió un HTTP protocolo para gestionar los gráficos. RDF Define las operaciones para eliminar, crear y reemplazar el contenido de los RDF gráficos, así como para agregar RDF declaraciones al contenido existente.

El protocolo graph-store (GSP) proporciona una forma cómoda de manipular todo el gráfico sin tener que escribir consultas complejasSPARQL.

A partir de Versión: 1.0.5.0 (27/07/2021), Neptune es totalmente compatible con este protocolo.

El punto final del protocolo graph-store () es: GSP

https://your-neptune-cluster:port/sparql/gsp/

Para acceder al gráfico predeterminado conGSP, utilice:

https://your-neptune-cluster:port/sparql/gsp/?default

Para acceder a un gráfico con nombre GSP asignado, utilice:

https://your-neptune-cluster:port/sparql/gsp/?graph=named-graph-URI

Detalles especiales de la implementación de Neptune GSP

Neptune implementa completamente la recomendación del W3C que define. GSP Sin embargo, hay algunas situaciones que la especificación no cubre.

Uno de ellos es el caso en el que una PUT POST solicitud especifica uno o más gráficos con nombre en el cuerpo de la solicitud que difieren del gráfico especificado en la solicitud. URL Esto solo puede ocurrir cuando el RDF formato del cuerpo de la solicitud admite gráficos con nombre, como, por ejemplo, si se utiliza Content-Type: application/n-quads oContent-Type: application/trig.

En esta situación, Neptune agrega o actualiza todos los gráficos con nombre presentes en el cuerpo, así como el gráfico con nombre especificado en el. URL

Por ejemplo, supongamos que, partiendo de una base de datos vacía, se envía una solicitud PUT para realizar actualizaciones o inserciones en los votos en tres gráficos. Uno, denominado urn:votes, contiene todos los votos de todos los años electorales. Otros dos, denominados urn:votes:2005 y urn:votes:2019, contienen votos de años electorales específicos. La solicitud y su carga tienen el siguiente aspecto:

PUT "http://your-Neptune-cluster:port/sparql/gsp/?graph=urn:votes" Host: example.com Content-Type: application/n-quads PAYLOAD: <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019>

Una vez ejecutada la solicitud, los datos de la base de datos tienen el siguiente aspecto:

<urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes:2005> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes:2005> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes:2019> <urn:JohnDoe> <urn:votedFor> <urn:Labour> <urn:votes> <urn:JohnDoe> <urn:votedFor> <urn:Conservative> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:LiberalDemocrats> <urn:votes> <urn:JaneSmith> <urn:votedFor> <urn:Conservative> <urn:votes>

Otra situación ambigua es cuando se especifica más de un gráfico en la URL propia solicitud, utilizando cualquiera de las opcionesPUT,POST, GET o. DELETE Por ejemplo:

POST "http://your-Neptune-cluster:port/sparql/gsp/?graph=urn:votes:2005&graph=urn:votes:2019"

O bien:

GET "http://your-Neptune-cluster:port/sparql/gsp/?default&graph=urn:votes:2019"

En esta situación, Neptune devuelve un HTTP 400 con un mensaje que indica que solo se puede especificar un gráfico en la solicitud. URL