SPARQLDESCRIBEcomportamento em relação ao gráfico padrão - 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á.

SPARQLDESCRIBEcomportamento em relação ao gráfico padrão

O formulário de SPARQL DESCRIBEconsulta permite que você recupere informações sobre recursos sem conhecer a estrutura dos dados e sem precisar compor uma consulta. A forma como essas informações são reunidas é deixada para a SPARQL implementação. O Neptune fornece várias dicas de consulta que invocam diferentes modos e algoritmos para DESCRIBE usar.

Na implementação do Neptune, independentemente do modo, usa DESCRIBE apenas dados presentes no gráfico SPARQLpadrão. Isso é consistente com a forma como SPARQL trata os conjuntos de dados (consulte Especificação de RDF conjuntos de dados na SPARQL especificação).

No Neptune, o grafo padrão contém todos os triplos exclusivos na união de todos os grafos nomeados no banco de dados, a menos que grafos nomeados específicos sejam especificados usando cláusulas FROM e/ou FROM NAMED. Todos os RDF dados em Netuno são armazenados em um gráfico nomeado. Se um triplo for inserido sem um contexto de grafo nomeado, o Neptune o armazenará em um grafo nomeado designado http://aws.amazon.com/neptune/vocab/v01/DefaultNamedGraph.

Quando um ou mais grafos nomeados são especificados usando a cláusula FROM, o grafo padrão é a união de todos os triplos exclusivos nesses grafos nomeados. Se não houver nenhuma cláusula FROM e houver uma ou mais cláusulas FROM NAMED, o grafo padrão estará em branco.

SPARQLDESCRIBEexemplos

Pense nos seguintes dados:

PREFIX ex: <https://example.com/> GRAPH ex:g1 { ex:s ex:p1 "a" . ex:s ex:p2 "c" . } GRAPH ex:g2 { ex:s ex:p3 "b" . ex:s ex:p2 "c" . } ex:s ex:p3 "d" .

Para essa consulta:

PREFIX ex: <https://example.com/> DESCRIBE ?s FROM ex:g1 FROM NAMED ex:g2 WHERE { GRAPH ex:g2 { ?s ?p "b" . } }

O Neptune geraria:

ex:s ex:p1 "a" . ex:s ex:p2 "c" .

Aqui, o padrão do grafo GRAPH ex:g2 { ?s ?p "b" } é avaliado primeiro, gerando vinculações para ?s e, depois, a parte DESCRIBE é avaliada sobre o grafo padrão, que agora é apenas ex:g1.

No entanto, para essa consulta:

PREFIX ex: <https://example.com/> DESCRIBE ?s FROM NAMED ex:g1 WHERE { GRAPH ex:g1 { ?s ?p "a" . } }

O Neptune não geraria nada, porque quando uma cláusula FROM NAMED está presente sem nenhuma cláusula FROM, o grafo padrão está em branco.

Na seguinte consulta, DESCRIBE é usado sem as cláusulas FROM ou FROM NAMEDpresentes:

PREFIX ex: <https://example.com/> DESCRIBE ?s WHERE { GRAPH ex:g1 { ?s ?p "a" . } }

Nessa situação, o gráfico padrão é composto por todos os triplos exclusivos na união de todos os gráficos nomeados no banco de dados (formalmente, a RDF fusão), então Netuno retornaria:

ex:s ex:p1 "a" . ex:s ex:p2 "c" . ex:s ex:p3 "b" . ex:s ex:p3 "d" .