Un lenguaje de consulta , también conocido como lenguaje de consulta de datos o lenguaje de consulta de bases de datos ( DQL ), es un lenguaje informático que se utiliza para realizar consultas en bases de datos y sistemas de información . En los sistemas de bases de datos, los lenguajes de consulta se basan en una teoría estricta para recuperar información. [ 1 ] Un ejemplo bien conocido es el Lenguaje de Consulta Estructurada (SQL).
Tipos
En términos generales, los lenguajes de consulta se pueden clasificar según sean lenguajes de consulta de bases de datos o lenguajes de consulta de recuperación de información . La diferencia radica en que un lenguaje de consulta de bases de datos intenta proporcionar respuestas objetivas a preguntas objetivas, mientras que un lenguaje de consulta de recuperación de información intenta encontrar documentos que contengan información relevante para un área de investigación. Otros tipos de lenguajes de consulta incluyen:
- Texto completo . El lenguaje de consulta más sencillo trata todos los términos como una bolsa de palabras que se comparan con las entradas del índice invertido , donde posteriormente se aplican modelos de clasificación para recuperar los documentos más relevantes. Solo se definen tokens en la gramática libre de contexto (GLC). Los motores de búsqueda web suelen utilizar este enfoque.
- Booleano . Un lenguaje de consulta que también admite el uso de los operadores booleanos AND, OR, NOT.
- Estructurado . Un lenguaje que admite búsquedas dentro de (una combinación de) campos cuando un documento está estructurado y ha sido indexado utilizando su estructura de documento.
- Lenguaje natural . Un lenguaje de consulta que admite lenguaje natural analizando la consulta en lenguaje natural a un formato que se puede utilizar mejor para recuperar documentos relevantes, por ejemplo, con sistemas de respuesta a preguntas o búsqueda conversacional .
Ejemplos
- Attempto Controlled English es un lenguaje de consulta que también es un lenguaje natural controlado . [ 2 ]
- AQL es un lenguaje de consulta para el sistema de base de datos multimodelo nativo de ArangoDB .
- .QL es un lenguaje de consulta orientado a objetos propietario para consultar bases de datos relacionales ; sucesor de Datalog.
- CodeQL es el motor de análisis que utilizan los desarrolladores para automatizar las comprobaciones de seguridad y los investigadores de seguridad para realizar análisis de variantes en GitHub .
- El Lenguaje de Consulta Contextual (CQL, por sus siglas en inglés) es un lenguaje formal para representar consultas a sistemas de recuperación de información , como índices web o catálogos bibliográficos.
- Cypher es un lenguaje de consulta para la base de datos de grafos Neo4j .
- DMX es un lenguaje de consulta para modelos de minería de datos .
- Datalog es un lenguaje de consulta para bases de datos deductivas .
- F-logic es un lenguaje declarativo orientado a objetos para bases de datos deductivas y representación del conocimiento .
- FQL permite utilizar una interfaz de estilo SQL para consultar los datos expuestos por la API de Graph . Proporciona funciones avanzadas que no están disponibles en la API de Graph . [ 3 ]
- El inglés Gellish es un lenguaje que puede utilizarse para consultas en bases de datos en inglés Gellish, para diálogos (solicitudes y respuestas), así como para el modelado de información y el modelado de conocimiento . [ 4 ]
- Gremlin es un lenguaje de recorrido de grafos de la Apache Software Foundation para sistemas de grafos OLTP y OLAP.
- GraphQL es un lenguaje de consulta de datos desarrollado por Facebook como alternativa a REST y a las arquitecturas de servicios web ad hoc .
- HTSQL es un lenguaje de consulta que traduce las consultas HTTP a SQL .
- ISBL es un lenguaje de consulta para PRTV , uno de los primeros sistemas de gestión de bases de datos relacionales.
- Jaql es un lenguaje funcional de procesamiento y consulta de datos que se utiliza con mayor frecuencia para el procesamiento de consultas JSON.
- JPQL es un lenguaje de consulta definido como parte de Jakarta Persistence (utilizado en aplicaciones Java para realizar consultas a una base de datos relacional utilizando objetos de entidad en lugar de tablas de base de datos).
- jq es un lenguaje de programación funcional que se utiliza a menudo para procesar consultas sobre uno o más documentos JSON , incluso documentos muy grandes.
- JSONiq es un lenguaje de consulta declarativo diseñado para colecciones de documentos JSON .
- KQL (Kusto Query Language), un lenguaje de consulta de Microsoft utilizado en Azure Data Explorer
- LDAP es un protocolo de aplicación para consultar y modificar servicios de directorio que se ejecutan sobre TCP/IP .
- LogiQL es una variante de Datalog y es el lenguaje de consulta del sistema LogicBlox .
- Lenguaje de fórmulas M , un lenguaje de consulta combinado utilizado en Power Query de Microsoft.
- MQL es un lenguaje de consulta quimioinformática para la búsqueda de subestructuras que permite, además de propiedades nominales, también propiedades numéricas.
- MDX es un lenguaje de consulta para bases de datos OLAP .
- N1QL es un lenguaje de consulta de Couchbase para encontrar datos en los servidores de Couchbase .
- Lenguaje de consulta de objetos
- OCL (Object Constraint Language). A pesar de su nombre, OCL es también un lenguaje de consulta de objetos y un estándar de OMG .
- OPath , destinado a ser utilizado para consultar almacenes WinFS .
- El lenguaje de consulta Poliqarp es un lenguaje de consulta especial diseñado para analizar texto anotado. Se utiliza en el motor de búsqueda Poliqarp .
- PQL es un lenguaje de programación específico para gestionar modelos de procesos basados en información sobre los escenarios que describen dichos modelos.
- PRQL (Pipelined Relational Query Language) es un lenguaje moderno para la transformación de datos. Consiste en un conjunto seleccionado de transformaciones ortogonales que se combinan para formar una canalización.
- PTQL se basa en consultas relacionales sobre trazas de programas, lo que permite a los programadores escribir consultas expresivas y declarativas sobre el comportamiento del programa.
- QUEL es un lenguaje de acceso a bases de datos relacionales , similar en la mayoría de los aspectos a SQL .
- RDQL es un lenguaje de consulta RDF .
- SMARTS es el estándar quimioinformático para la búsqueda de subestructuras .
- SPARQL es un lenguaje de consulta para grafos RDF .
- SQL es un lenguaje de consulta y manipulación de datos muy conocido para bases de datos relacionales .
- XQuery es un lenguaje de consulta para fuentes de datos XML .
- XPath es un lenguaje declarativo para navegar por documentos XML.
- YQL es un lenguaje de consulta similar a SQL creado por Yahoo !.
- Lenguajes de consulta de motores de búsqueda, por ejemplo, como los utilizados por Google [ 5 ] o Bing [ 6 ] .
Véase también
Referencias
- ↑ Schmitt, Ingo (enero de 2008). "QQL: un lenguaje de consulta para bases de datos e recuperación de información" . The VDLB Journal 17. 17 : 39–56 . doi : 10.1007 /s00778-007-0070-1 . S2CID 207032530 – vía ACM Digital Library.
- ↑ Norbert E. Fuchs; Kaarel Kaljurand; Gerold Schneider (2006). "Attempto Controlled English Meets the Challenges of Knowledge Representation, Reasoning, Interoperability and User Interfaces" (PDF) . FLAIRS 2006 .
- ↑ "Descripción general de FQL" . Desarrolladores de Facebook . Archivado del original el 18 de diciembre de 2013. Consultado el 11 de diciembre de 2013 .
- ↑ https://gellish.wiki.sourceforge.net/Querying+a+Gellish+English+database
- ↑ "Operadores de búsqueda" . Google Inc. Consultado el 22 de agosto de 2015 .
- ↑ "Lenguaje de consulta de Bing" . Microsoft. 22 de junio de 2010. Consultado el 22 de agosto de 2015 .
- Lenguajes de consulta
- lenguajes informáticos
- Gestión de datos
- Clasificación de lenguajes de programación
- Sistemas de gestión de bases de datos