Usando o Graph Store HTTP Protocol SPARQL 1.1 (GSP) no Amazon Neptune - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando o Graph Store HTTP Protocol SPARQL 1.1 (GSP) no Amazon Neptune

Na recomendação SPARQL1.1 do Graph Store HTTP Protocol, o W3C definiu um HTTP protocolo para gerenciar RDF gráficos. Ele define operações para remover, criar e substituir o conteúdo do RDF gráfico, bem como para adicionar RDF declarações ao conteúdo existente.

O protocolo graph-store (GSP) fornece uma maneira conveniente de manipular todo o gráfico sem precisar escrever consultas complexas. SPARQL

A partir de Versão: 1.0.5.0 (27/07/2021), o Neptune é totalmente compatível com esse protocolo.

O endpoint para o protocolo graph-store () GSP é:

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

Para acessar o gráfico padrão comGSP, use:

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

Para acessar um gráfico nomeado comGSP, use:

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

Detalhes especiais da implementação do Neptune GSP

Neptune implementa totalmente a recomendação do W3C que define. GSP No entanto, há algumas situações que a especificação não abrange.

Um deles é o caso em que uma POST solicitação PUT or especifica um ou mais gráficos nomeados no corpo da solicitação que diferem do gráfico especificado pela solicitação. URL Isso só pode acontecer quando o RDF formato do corpo da solicitação oferece suporte a gráficos nomeados, como, por exemplo, usando Content-Type: application/n-quads ouContent-Type: application/trig.

Nessa situação, o Neptune adiciona ou atualiza todos os gráficos nomeados presentes no corpo, bem como o gráfico nomeado especificado no. URL

Por exemplo, suponha que, começando com um banco de dados vazio, você envie uma solicitação PUT para inverter os votos em três grafos. Um, denominado urn:votes, contém todos os votos de todos os anos eleitorais. Outros dois, denominados urn:votes:2005 e urn:votes:2019, contêm votos de anos eleitorais específicos. A solicitação e sua carga útil têm a seguinte aparência:

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>

Depois que a solicitação é executada, os dados no banco de dados ficam desta forma:

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

Outra situação ambígua é quando mais de um gráfico é especificado na URL própria solicitação, usando qualquer um dos PUTPOST, GET ou. DELETE Por exemplo:

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

Ou:

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

Nessa situação, o Neptune retorna HTTP um 400 com uma mensagem indicando que somente um gráfico pode ser especificado na solicitação. URL