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