.QL (pronunciado "dot-cue-el") es un lenguaje de consulta orientado a objetos que se utiliza para recuperar datos de sistemas de gestión de bases de datos relacionales . Es una reminiscencia del lenguaje de consulta estándar SQL y el lenguaje de programación orientado a objetos Java . .QL es una variante orientada a objetos de un lenguaje de consulta lógica llamado Datalog . Por lo tanto, los datos jerárquicos pueden consultarse naturalmente en .QL de manera recursiva.
Paradigma | multi-paradigma , lógica-paradigma , orientado a objetos-paradigma |
---|---|
Desarrollador | Semmle |
Apareció por primera vez | 2007 |
Disciplina de mecanografía | estático , fuerte |
Implementaciones importantes | |
SemmleCode | |
Influenciado por | |
Registro de datos |
Las consultas escritas en .QL se optimizan, se compilan en SQL y luego se pueden ejecutar en cualquier sistema importante de administración de bases de datos relacionales. El lenguaje de consulta .QL se utiliza en SemmleCode para consultar una representación relacional de programas Java.
.QL se desarrolla en Semmle Limited y se basa en la tecnología patentada de la empresa.
Características del idioma
.QL tiene varias características de lenguaje para hacer consultas concisas, intuitivas y reutilizables:
- Jerarquía de tipos extensible
- Métodos y predicados
- Definición antes de su uso
Consulta de ejemplo
La consulta de muestra a continuación ilustra el uso de .QL para consultar un programa Java. Así es como se seleccionarían todas las clases que contienen más de diez métodos públicos:
de la clase c , int numOfMethods donde numOfMethods = count ( Método m | m . getDeclaringType () = c y m . hasModifier ( "público" )) y numOfMethods > 10 seleccione c . getPackage (), c , numOfMethods
De hecho, esta consulta selecciona no solo todas las clases con más de diez métodos públicos, sino también sus paquetes correspondientes y la cantidad de métodos que tiene cada clase.
Ver también
- SQL : lenguaje de consulta estructurado
- OQL : lenguaje de consulta de objetos
- Datalog - lenguaje de programación lógica
- SemmleCode : herramienta de prueba de software que utiliza lenguaje .QL
Referencias
- Hervé Gallaire y Jack Minker. Lógica y Bases de datos. Plenum Press, Nueva York, 1978.
- Serge Abiteboul y Paris C. Kanellakis. Identidad de objeto como un lenguaje de consulta primitivo. En SIGMOD Rec, páginas 159-173, ACM Press, 1989.
- Oege de Moor, Elnar Hajiyev y Mathieu Verbaere. Consultas orientadas a objetos sobre sistemas de software. En Actas del Simposio 2007 de ACM SIGPLAN sobre evaluación parcial y manipulación de programas basada en semántica (PEPM), página 91, ACM Press, 2007.
enlaces externos
- Semmle Limited creadores de .QL