.QL (произносится как «точка-кью-эль») - это объектно-ориентированный язык запросов, используемый для извлечения данных из систем управления реляционными базами данных . Он напоминает стандартный язык запросов SQL и объектно-ориентированный язык программирования Java . .QL - это объектно-ориентированный вариант языка логических запросов, называемого Datalog . Таким образом, иерархические данные могут быть запрошены в .QL рекурсивным образом.
Парадигма | мультипарадигма , логическая парадигма , объектно-ориентированная парадигма |
---|---|
Разработчик | Semmle |
Впервые появился | 2007 г. |
Печатная дисциплина | статичный , сильный |
Основные реализации | |
SemmleCode | |
Под влиянием | |
Журнал данных |
Запросы, написанные на .QL, оптимизируются, компилируются в SQL и затем могут выполняться в любой основной системе управления реляционными базами данных. Язык запросов .QL используется в SemmleCode для запроса реляционного представления программ Java.
.QL разработан в Semmle Limited и основан на запатентованной технологии компании.
Особенности языка
.QL имеет несколько языковых функций, которые делают запросы краткими, интуитивно понятными и многоразовыми:
- Расширяемая иерархия типов
- Методы и предикаты
- Определение перед использованием
Пример запроса
Пример запроса ниже иллюстрирует использование .QL для запроса программы Java. Вот как можно выбрать все классы, содержащие более десяти общедоступных методов:
из класса c , int numOfMethods где numOfMethods = count ( Метод m | m . getDeclaringType () = c и м . hasModifier ( "общедоступный" )) и numOfMethods > 10 выберите c . getPackage (), c , numOfMethods
Фактически, этот запрос выбирает не только все классы с более чем десятью общедоступными методами, но также их соответствующие пакеты и количество методов, которые есть у каждого класса.
Смотрите также
- SQL - язык структурированных запросов
- OQL - язык объектных запросов
- Datalog - язык логического программирования
- SemmleCode - инструмент для тестирования программного обеспечения , использующий язык .QL.
Рекомендации
- Эрве Галлер и Джек Минкер. Логика и базы данных. Plenum Press, Нью-Йорк, 1978.
- Серж Абитебул и Пэрис К. Канеллакис. Идентичность объекта как примитив языка запросов. В SIGMOD Rec, страницы 159–173, ACM Press, 1989.
- Эге де Моор, Эльнар Гаджиев и Матье Вербер. Объектно-ориентированные запросы к программным системам. В материалах симпозиума ACM SIGPLAN 2007 г. по частичному оцениванию и манипулированию программами на основе семантики (PEPM), стр. 91, ACM Press, 2007.
Внешние ссылки
- Semmle Limited, создатели .QL