View a markdown version of this page

Consultas federadas de SPARQL en Neptune mediante la extensión SERVICE - 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.

Consultas federadas de SPARQL en Neptune mediante la extensión SERVICE

Amazon Neptune admite totalmente la extensión de consulta federada de SPARQL que utiliza la palabra clave SERVICE. Para obtener más información, consulte Consulta federada de SPARQL 1.1.

La palabra clave SERVICE indica al motor de consultas SPARQL que ejecute una parte de la consulta en un punto de enlace SPARQL remoto y que componga el resultado final de la consulta. Solo son posibles las operaciones READ. Las operaciones WRITE y DELETE no se admiten. Neptune solo puede ejecutar consultas federadas con respecto a puntos de conexión de SPARQL a los que se pueda acceder desde su nube privada virtual (VPC). Sin embargo, también puede utilizar un proxy inverso en la VPC para hacer accesible un origen de datos externo dentro de la VPC.

nota

Cuando se utiliza SERVICE de SPARQ para federar una consulta en dos o más clústeres de Neptune situados en la misma VPC, los grupos de seguridad deben estar configurados de modo que permitan que todos esos clústeres de Neptune se comuniquen entre sí.

importante

La federación SPARQL 1.1 realiza solicitudes de servicio en su nombre al pasar consultas y parámetros a puntos de enlace SPARQL externos. Es su responsabilidad verificar que los puntos de enlace SPARQL externos satisfagan los requisitos de seguridad y gestión de datos de su aplicación.

Ejemplo de una consulta federada de Neptune

El siguiente ejemplo sencillo muestra cómo funcionan las consultas federadas SPARQL.

Supongamos que un cliente envía la siguiente consulta a at. Neptune-1http://neptune-1:8182/sparql

SELECT * WHERE { ?person rdf:type foaf:Person . SERVICE <http://neptune-2:8182/sparql> { ?person foaf:knows ?friend . } }
  1. Neptune-1evalúa el primer patrón de consulta (Q-1), que es?person rdf:type foaf:Person, utiliza los resultados para resolver ?person en Q-2(?person foaf:knows ?friend) y reenvía el patrón resultante a Neptune-2at. http://neptune-2:8182/sparql

  2. Neptune-2evalúa Q-2y devuelve los resultados a. Neptune-1

  3. Neptune-1une las soluciones para ambos patrones y envía los resultados al cliente.

Este flujo se muestra en el siguiente diagrama.

Diagrama de flujo que muestra los patrones de consultas federadas SPARQL que se evalúan y las respuestas que se vuelven a enviar al cliente.
nota

De forma predeterminada, el optimizador determina en qué punto de la ejecución de la consulta se ejecuta la instrucción SERVICE. Puede anular esta ubicación utilizando la sugerencia de consulta joinOrder.

Control de acceso para consultas federadas en Neptune

Neptune usa AWS Identity and Access Management (IAM) para la autenticación y la autorización. El control de acceso de una consulta federada puede implicar más de una instancia de base de datos de Neptune. Estas instancias pueden tener diferentes requisitos de control de acceso. En determinadas circunstancias, esto puede limitar su capacidad para realizar una consulta federada.

Considere el sencillo ejemplo presentado en la sección anterior. Neptune-1llama Neptune-2con las mismas credenciales con las que se llamó.

  • Si Neptune-1requiere autenticación y autorización de IAM, pero Neptune-2no las necesita, lo único que necesita son los permisos de IAM adecuados Neptune-1para realizar la consulta federada.

  • Si Neptune-2ambas requieren autenticación Neptune-1y autorización de IAM, debe adjuntar los permisos de IAM para ambas bases de datos para realizar la consulta federada. Ambos clústeres también deben estar en la misma AWS cuenta y en la misma región. Cross-region and/or Actualmente, no se admiten las arquitecturas de consultas federadas entre cuentas.

  • Sin embargo, en el caso de que no Neptune-1lo esté IAM-enabled pero Neptune-2esté, no puede realizar una consulta federada. La razón es que no Neptune-1puedes recuperar tus credenciales de IAM y pasárselas Neptune-2para autorizar la segunda parte de la consulta.