SPARQLconsultas federadas 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.

SPARQLconsultas federadas en Neptune mediante la extensión SERVICE

Amazon Neptune es totalmente compatible con la extensión de consulta SPARQL federada que utiliza la palabra clave. SERVICE (Para obtener más información, consulte SPARQL1.1 Federated Query).

nota

Esta característica está disponible a partir de Versión 1.0.1.0.200463.0 (15/10/2019).

La SERVICE palabra clave indica al motor de SPARQL consultas que ejecute una parte de la consulta en un SPARQL punto final remoto y redacte 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 en SPARQL puntos finales a los que se pueda acceder desde su nube privada virtual (). VPC Sin embargo, también puede utilizar un proxy inverso en el VPC para hacer que una fuente de datos externa sea accesible desde. VPC

nota

Cuando SPARQL SERVICE se usa para federar una consulta a dos o más clústeres de Neptuno en el VPC mismo, los grupos de seguridad deben configurarse para permitir que todos esos clústeres de Neptuno se comuniquen entre sí.

importante

SPARQL1.1 La federación realiza solicitudes de servicio en su nombre cuando transfiere consultas y parámetros a puntos finales externos. SPARQL Es su responsabilidad comprobar que los SPARQL puntos finales externos cumplen con los requisitos de seguridad y manejo de datos de su aplicación.

Ejemplo de una consulta federada de Neptune

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

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

SELECT * WHERE { ?person rdf:type foaf:Person . SERVICE <http://neptune-2:8182/sparql> { ?person foaf:knows ?friend . } }
  1. Neptune-1 evalú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 a Neptune-2 en http://neptune-2:8182/sparql.

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

  3. Neptune-1 combina las soluciones para ambos patrones y vuelve a enviar los resultados al cliente.

Este flujo se muestra en el siguiente diagrama.

Diagrama de flujo que muestra los patrones de consultas SPARQL federadas que se están evaluando y las respuestas que se devuelven 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.

Analice el sencillo ejemplo que se presenta en la sección anterior. Neptune-1 llama a Neptune-2 con las mismas credenciales con las que se ha llamado.

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

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

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