.QL - .QL

.QL
Dotql.png
Парадигмамультипарадигма, логическая парадигма, объектно-ориентированная парадигма
Разработчик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

Фактически, этот запрос выбирает не только все классы с более чем десятью общедоступными методами, но также их соответствующие пакеты и количество методов, которые имеет каждый класс.

Смотрите также

Рекомендации

  • Эрве Галлер и Джек Минкер. Логика и базы данных. Plenum Press, Нью-Йорк, 1978.
  • Серж Абитебул и Пэрис К. Канеллакис. Идентичность объекта как примитив языка запросов. В SIGMOD Rec, страницы 159–173, ACM Press, 1989.
  • Эге де Моор, Эльнар Гаджиев и Матье Вербер. Объектно-ориентированные запросы к программным системам. В материалах симпозиума ACM SIGPLAN 2007 г. по частичной оценке и манипулированию программами на основе семантики (PEPM), стр. 91, ACM Press, 2007.

внешняя ссылка