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 DESCRIBE
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
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.
SPARQLDESCRIBE
exemplos
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 NAMED
presentes:
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" .