.QL

Объектно-ориентированный язык запросов
.QL
Парадигмамультипарадигмальный , логико-парадигмальный , объектно-ориентированный
РазработчикСеммле
Впервые появился2007
Дисциплина печатистатичный , сильный
Основные внедрения
SemmleCode
Под влиянием
Журнал данных

.QL (произносится как «точка-ку-эль») — это объектно-ориентированный язык запросов, используемый для извлечения данных из реляционных систем управления базами данных . Он напоминает стандартный язык запросов SQL и объектно-ориентированный язык программирования Java . .QL — это объектно-ориентированный вариант логического языка запросов, называемого Datalog . Поэтому иерархические данные могут быть естественным образом запрошены в .QL рекурсивным образом.

Запросы, написанные на .QL, оптимизируются, компилируются в SQL и затем могут быть выполнены в любой крупной системе управления реляционными базами данных. Язык запросов .QL используется в SemmleCode для запроса реляционного представления программ Java.

.QL разработан в Semmle Limited и основан на собственной технологии компании.

Особенности языка

.QL имеет несколько языковых функций, позволяющих сделать запросы лаконичными, интуитивно понятными и пригодными для повторного использования:

  • Расширяемая иерархия типов
  • Методы и предикаты
  • Определение перед использованием

Пример запроса

Пример запроса ниже иллюстрирует использование .QL для запроса программы Java. Вот как можно выбрать все классы, которые содержат более десяти публичных методов:

из класса c, int numOfMethods где numOfMethods = count(Метод m| m.getDeclaringType()=c и m.hasModifier("public")) и numOfMethods > 10 выберите c.getPackage(), c, numOfMethods

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

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

Ссылки

  • Эрве Галлер и Джек Минкер. Логика и базы данных. Plenum Press, Нью-Йорк, 1978.
  • Серж Абитбуль и Пэрис К. Канеллакис. Идентификация объекта как примитив языка запросов. В SIGMOD Rec, страницы 159–173, ACM Press, 1989.
  • Оге де Мур, Эльнар Гаджиев и Матье Вербер. Объектно-ориентированные запросы по программным системам. В трудах симпозиума ACM SIGPLAN 2007 года по частичной оценке и семантической манипуляции программами (PEPM), стр. 91, ACM Press, 2007.
  • Semmle Limited: создатели .QL
Взято с "https://en.wikipedia.org/w/index.php?title=.QL&oldid=1273518762"