Operadores de Neptune SPARQL explain - 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.

Operadores de Neptune SPARQL explain

En las siguientes secciones se describen los operadores y los parámetros de la SPARQL explain función actualmente disponible en Amazon Neptune.

importante

La SPARQL explain función aún se está perfeccionando. Los operadores y los parámetros que se documentan aquí pueden cambiar en versiones futuras.

operador Aggregation

Realiza una o más agregaciones, implementando la semántica de los operadores de SPARQL agregación como countmax,min,sum,, etc.

Aggregation incluye una agrupación opcional que utiliza cláusulas groupBy y restricciones having opcionales.

Argumentos
  • groupBy: (opcional) proporciona una cláusula groupBy que especifica la secuencia de expresiones según la cual se agrupan las soluciones entrantes.

  • aggregates: (obligatorio) especifica una lista ordenada de expresiones de agregación.

  • having— (Opcional) Añade restricciones para filtrar los grupos, tal como se indica en la having cláusula de la SPARQL consulta.

operador ConditionalRouting

Direcciona las soluciones entrantes en función de una condición determinada. Las soluciones que cumplen la condición se direccionan al ID de operador al que hace referencia Out #1, mientras que las soluciones que no la cumplen se direccionan al operador al que hace referencia Out #2.

Argumentos
  • condition: (obligatorio) la condición de enrutamiento.

operador Copy

Delega el flujo de la solución tal y como indica el modo especificado.

Modos
  • forward: reenvía las soluciones al operador posterior identificado por Out #1.

  • duplicate: duplica las soluciones y las reenvía a cada uno de los dos operadores identificados mediante Out #1 y Out #2.

Copy no tiene argumentos.

operador DFENode

Este operador es una abstracción del plan que ejecuta el motor de consultas DFE alternativo. El DFE plan detallado se describe en los argumentos a favor de este operador. Actualmente, el argumento está sobrecargado para contener las estadísticas detalladas de tiempo de ejecución del DFE plan. Contiene el tiempo empleado en los distintos pasos de la ejecución de la consulta. DFE

El árbol sintáctico abstracto optimizado desde el punto de vista lógico (AST) para el plan de DFE consulta se imprime con información sobre los tipos de operadores que se tuvieron en cuenta durante la planificación y los costes de ejecución de los operadores, tanto en el mejor como en el peor de los casos. Por el momento, AST consta de los siguientes tipos de nodos:

  • DFEJoinGroupNode: representa una unión de uno o más DFEPatternNodes.

  • DFEPatternNode: encapsula un patrón subyacente mediante el cual las tuplas coincidentes se proyectan fuera de la base de datos subyacente.

La subsección,Statistics & Operator histogram, contiene detalles sobre el tiempo de ejecución del DataflowOp plan y el desglose del CPU tiempo utilizado por cada operador. Debajo hay una tabla que muestra las estadísticas detalladas de tiempo de ejecución del plan ejecutado porDFE.

nota

Como DFE se trata de una función experimental lanzada en modo laboratorio, el formato exacto de su explain salida puede cambiar.

operador Distinct

Calcula la proyección distintiva en un subconjunto de las variables, eliminando los duplicados. Como resultado, el número de soluciones entrantes es mayor o igual que el número de soluciones salientes.

Argumentos
  • vars: (obligatorio) las variables a las que se va a aplicar la proyección Distinct.

operador Federation

Pasa una consulta específica a un SPARQL punto final remoto específico.

Argumentos
  • endpoint— (Obligatorio) El punto final URL de la SPARQL SERVICE declaración. Puede ser una cadena constante o si el punto de enlace de consulta se determina en función de una variable dentro de la misma consulta, puede ser el nombre de la variable.

  • query: (obligatorio) la cadena de consulta reconstruida que se enviará al punto de conexión remoto. El motor añade prefijos predeterminados a esta consulta incluso cuando el cliente no especifica ninguno.

  • silent: (obligatorio) un booleano que indica si la palabra clave SILENT ha aparecido después de la palabra clave. SILENT le dice al motor que no falle en toda la consulta, incluso si la parte SERVICE remota falla.

operador Filter

Filtra las soluciones entrantes. Solo las soluciones que satisfacen la condición de filtro se reenvían al operador anterior; todas las demás se descartan.

Argumentos
  • condition: (obligatorio) el estado del filtro.

operador HashIndexBuild

Toma una lista de enlaces y los incorpora a un índice hash cuyo nombre viene definido por el argumento solutionSet. Normalmente, los operadores posteriores realizan uniones en este conjunto de soluciones, haciendo referencia a él por ese nombre.

Argumentos
  • solutionSet: (obligatorio) el nombre del conjunto de soluciones de índice hash.

  • sourceType: (obligatorio) el tipo de origen del que se obtienen los enlaces que se van a almacenar en el índice hash:

    • pipeline: reúne las soluciones entrantes desde el operador que hay más abajo en la canalización del operador en el índice hash.

    • binding set: coloca el conjunto de enlaces fijos especificado por el argumento sourceBindingSet en el índice hash.

  • sourceBindingSet: (opcional) si el valor del argumento sourceType es binding set, este argumento especifica el conjunto de enlaces estáticos que se incluirá en el índice hash.

operador HashIndexJoin

Une las soluciones entrantes con el conjunto de soluciones del índice hash identificado por el argumento solutionSet.

Argumentos
  • solutionSet: (obligatorio) nombre del conjunto de soluciones en el que se va a unir. Debe ser un índice hash que se haya construido en un paso anterior con el operador HashIndexBuild.

  • joinType: (obligatorio) tipo de unión que se va a realizar:

    • join: unión normal, que requiere una coincidencia exacta de todas las variables compartidas.

    • optional— Una optional combinación que utiliza la semántica SPARQL OPTIONAL del operador.

    • minus— Una minus operación conserva un mapeo para el que no existe ningún socio de unión, utilizando la semántica del SPARQL MINUS operador.

    • existence check: comprueba si hay un socio de unión o no y vincula la variable existenceCheckResultVar al resultado de esta comprobación.

  • constraints: (opcional) restricciones de unión adicionales que se tienen en cuenta durante la unión. Las uniones que no satisfacen estas restricciones se descartan.

  • existenceCheckResultVar: (opcional) solo se usa para uniones donde joinType es igual a existence check (consulte el argumento joinType anterior).

operador MergeJoin

Una unión de fusión entre varios conjuntos de soluciones, que se indican en el argumento solutionSets.

Argumentos
  • solutionSets: (obligatorio) conjuntos de la solución que van a unirse.

operador NamedSubquery

Activa la evaluación de la subconsulta indicada por el argumento subQuery e incorpora el resultado al conjunto de soluciones especificado por el argumento solutionSet. Las soluciones entrantes para el operador se reenvían a la subconsulta y, a continuación, al siguiente operador.

Argumentos
  • subQuery: (obligatorio) nombre de la subconsulta que se va a evaluar. La subconsulta se representa explícitamente en la salida.

  • solutionSet: (obligatorio) nombre del conjunto de soluciones en el que se almacenará el resultado de la subconsulta.

operador PipelineJoin

Recibe como entrada la salida del operador anterior y la une con el patrón de tuplas definido por el argumento pattern.

Argumentos
  • pattern— (Obligatorio) El patrón, que adopta la forma de una tupla gráfica y subject-predicate-object, opcionalmente, en forma de gráfico, que subyace a la unión. Si se especifica distinct para el patrón, la unión únicamente extrae soluciones distintas de las variables de proyección especificadas por el argumento projectionVars, en lugar de extraer todas las soluciones coincidentes.

  • inlineFilters: (opcional) conjunto de filtros que se aplicarán a las variables del patrón. El patrón se evalúa junto con estos filtros.

  • joinType: (obligatorio) tipo de unión que se va a realizar:

    • join: unión normal, que requiere una coincidencia exacta de todas las variables compartidas.

    • optional— Una optional unión que utiliza la semántica del SPARQL OPTIONAL operador.

    • minus— Una minus operación conserva un mapeo para el que no existe ningún socio de unión, utilizando la semántica del SPARQL MINUS operador.

    • existence check: comprueba si hay un socio de unión o no y vincula la variable existenceCheckResultVar al resultado de esta comprobación.

  • constraints: (opcional) restricciones de unión adicionales que se tienen en cuenta durante la unión. Las uniones que no satisfacen estas restricciones se descartan.

  • projectionVars: (opcional) variables de proyección. Se utiliza junto con distinct := true para aplicar la extracción de proyecciones distintas en un conjunto de variables especificado.

  • cutoffLimit: (opcional) límite del número de socios de unión extraídos. Aunque no existe ningún límite de forma predeterminada, puede establecer este en 1 al realizar uniones para implementar cláusulas FILTER (NOT) EXISTS, donde es suficiente con demostrar o refutar que hay un socio de unión.

operador PipelineCountJoin

Variante del operador PipelineJoin. En lugar de realizar la unión, solo cuenta los socios de unión coincidentes y vincula el recuento a la variable especificada por el argumento countVar.

Argumentos
  • countVar: (obligatorio) variable a la que se debe vincular el resultado del recuento, es decir, el número de socios que se unen.

  • pattern— (Obligatorio) El patrón, que adopta la forma de una tupla gráfica y subject-predicate-object, opcionalmente, en forma de gráfico, que subyace a la unión. Si se especifica distinct para el patrón, la unión únicamente extrae soluciones distintas de las variables de proyección especificadas por el argumento projectionVars, en lugar de extraer todas las soluciones coincidentes.

  • inlineFilters: (opcional) conjunto de filtros que se aplicarán a las variables del patrón. El patrón se evalúa junto con estos filtros.

  • joinType: (obligatorio) tipo de unión que se va a realizar:

    • join: unión normal, que requiere una coincidencia exacta de todas las variables compartidas.

    • optional— Una optional unión que utiliza la semántica del SPARQL OPTIONAL operador.

    • minus— Una minus operación conserva un mapeo para el que no existe ningún socio de unión, utilizando la semántica del SPARQL MINUS operador.

    • existence check: comprueba si hay un socio de unión o no y vincula la variable existenceCheckResultVar al resultado de esta comprobación.

  • constraints: (opcional) restricciones de unión adicionales que se tienen en cuenta durante la unión. Las uniones que no satisfacen estas restricciones se descartan.

  • projectionVars: (opcional) variables de proyección. Se utiliza junto con distinct := true para aplicar la extracción de proyecciones distintas en un conjunto de variables especificado.

  • cutoffLimit: (opcional) límite del número de socios de unión extraídos. Aunque no existe ningún límite de forma predeterminada, puede establecer este en 1 al realizar uniones para implementar cláusulas FILTER (NOT) EXISTS, donde es suficiente con demostrar o refutar que hay un socio de unión.

operador PipelinedHashIndexJoin

Se trata de un índice hash de all-in-one compilación y un operador de unión. Toma una lista de enlaces, los agrupa en un índice hash y, a continuación, une las soluciones entrantes con el índice hash.

Argumentos
  • sourceType: (obligatorio) el tipo de origen del que se obtienen los enlaces que se van a almacenar en el índice hash. Es uno de los siguientes:

    • pipeline: hace que PipelinedHashIndexJoin agrupe las soluciones entrantes desde el operador que está más abajo en la canalización del operador en el índice hash.

    • binding set: hace que PipelinedHashIndexJoin agrupe el conjunto de enlaces fijos especificado por el argumento sourceBindingSet en el índice hash.

  • sourceSubQuery : (opcional) si el valor del argumento sourceType es pipeline, este argumento especifica la subconsulta que se evalúa y se incluye en el índice hash.

  • sourceBindingSet : (opcional) si el valor del argumento sourceType es binding set, este argumento especifica el conjunto de enlaces estáticos que se incluirá en el índice hash.

  • joinType: (obligatorio) tipo de unión que se va a realizar:

    • join: unión normal, que requiere una coincidencia exacta de todas las variables compartidas.

    • optional— Una optional combinación que utiliza la semántica SPARQL OPTIONAL del operador.

    • minus— Una minus operación conserva un mapeo para el que no existe ningún socio de unión, utilizando la semántica del SPARQL MINUS operador.

    • existence check: comprueba si hay un socio de unión o no y vincula la variable existenceCheckResultVar al resultado de esta comprobación.

  • existenceCheckResultVar— (Opcional) Solo se usa para uniones donde joinType es igual existence check (consulta el joinType argumento anterior).

operador Projection

Realiza una proyección en un subconjunto de las variables. El número de soluciones entrantes es igual al número de soluciones salientes, pero la forma de la solución es diferente, en función de la configuración de modo.

Modos
  • retain: en las soluciones se conservan únicamente las variables especificadas por el argumento vars.

  • drop: se eliminan todas las variables especificadas por el argumento vars.

Argumentos
  • vars: (obligatorio) las variables que se deben conservar o eliminar, según la configuración del modo.

operador PropertyPath

Habilita las rutas de propiedades recursivas como + o *. Neptune implementa un enfoque de iteración de punto fijo basado en una plantilla especificada por el argumento iterationTemplate. Las variables del lado izquierdo o del lado derecho conocidas se incluyen en la plantilla para cada iteración de punto fijo hasta que no se encuentren más soluciones nuevas.

Argumentos
  • iterationTemplate: (obligatorio) nombre de la plantilla de subconsulta utilizada para implementar la iteración de punto fijo.

  • leftTerm: (obligatorio) el término (variable o constante) que se encuentra en el lado izquierdo de la ruta de la propiedad.

  • rightTerm: (obligatorio) el término (variable o constante) que se encuentra en el lado derecho de la ruta de la propiedad.

  • lowerBound: (obligatorio) el límite inferior de la iteración de punto fijo (ya sea 0 para consultas * o 1 para consultas +).

operador TermResolution

Traduce de nuevo los valores de identificador de cadena internos a sus cadenas externas correspondientes o traduce las cadenas externas a valores de identificador de cadena internos, en función del modo.

Modos
  • value2id— Asigna términos como literales y URIs a los valores de ID internos correspondientes (codificándolos según los valores internos).

  • id2value— Asigna los valores de ID internos a los términos correspondientes, como los literales y URIs (decodificación de los valores internos).

Argumentos
  • vars— (Obligatorio) Especifica las variables cuyas cadenas o cadenas internas IDs deben mapearse.

operador Slice

Implementa un segmento sobre el flujo de soluciones entrante, utilizando la semántica SPARQL de las cláusulas LIMIT yOFFSET.

Argumentos
  • limit: (opcional) límite en las soluciones que se van a reenviar.

  • offset: (opcional) desfase con el que se evalúan las soluciones para su reenvío.

operador SolutionInjection

No recibe ninguna entrada. Inyecta soluciones de forma estática en el plan de consulta y las registra en el argumento solutions.

Los planes de consulta siempre comienzan con esta inyección estática. Si las soluciones estáticas que se van a inyectar se pueden obtener de la propia consulta uniendo distintas fuentes de enlaces estáticos (por ejemplo, de las cláusulas VALUES o BIND), el operador SolutionInjection inyecta estas soluciones estáticas derivadas. En el caso más sencillo, estas soluciones reflejan enlaces que se encuentran implícitos en una cláusula VALUES exterior.

Si no se puede obtener ninguna solución estática de la consulta, SolutionInjection inyecta lo que se denominada la solución universal vacía, que se expande y multiplica en todo el proceso de evaluación de consultas.

Argumentos
  • solutions: (obligatorio) secuencia de soluciones que inyecta el operador.

operador Sort

Ordena el conjunto de soluciones utilizando las condiciones de ordenación especificadas.

Argumentos
  • sortOrder: (obligatorio) lista ordenada de variables, cada una de las cuales contiene un identificador ASC (ascendente) o DESC (descendente), que se utiliza secuencialmente para ordenar el conjunto de soluciones.

operador VariableAlignment

Inspecciona las soluciones de una en una, realizando la alineación en cada una de ellas con respecto a dos variables especificadas: sourceVar y targetVar.

Si sourceVar y targetVar tienen el mismo valor en una solución, las variables se consideran alineadas y la solución se reenvía con la variable sourceVar redundante proyectada.

Si las variables se vinculan a valores diferentes, la solución se excluye por completo.

Argumentos
  • sourceVar: (obligatorio) variable de origen, que se va a comparar con la variable de destino. Si la alineación se realiza correctamente en una solución, lo que significa que las dos variables tienen el mismo valor, la variable de origen se proyecta.

  • targetVar: (obligatorio) variable de destino con la que se compara la variable de origen. Se conserva incluso si la alineación se realiza correctamente.