Мова запытаў

**Мова запытаў**, таксама вядомая як **мова запытаў да даных** або **мова запытаў да базы даных** (database query language, DQL), — камп’ютарная мова, якая выкарыстоўваецца для выканання запытаў у базах даных і інфармацыйных сістэмах. Добра вядомым прыкладам з’яўляецца мова структураваных запытаў (SQL).

## Тыпы 
Мовы запытаў можна класіфікаваць у залежнасці ад таго, з’яўляюцца яны мовамі запытаў да баз даных або мовамі запытаў пошуку інфармацыі. Розніца ў тым, што мова запытаў базы даных спрабуе даць фактычныя адказы на фактычныя пытанні, у той час як мова пошуку інфармацыі спрабуе знайсці дакументы, якія змяшчаюць інфармацыю, якая мае дачыненне да вобласці даследавання. Іншыя тыпы моў запытаў уключаюць:

* **Поўны тэкст**. Самая простая мова запытаў разглядае ўсе тэрміны як набор слоў, якія павінны супастаўляцца з размяшчэннем у інвертаваным індэксе і дзе пасля прымяняюцца мадэлі ранжыравання для атрымання найбольш рэлевантных дакументаў. У CFG вызначаны толькі токены. Вэб-пошукавыя сістэмы часта выкарыстоўваюць гэты падыход.
* **Boolean**. Мова запытаў, якая таксама падтрымлівае выкарыстанне лагічных аператараў AND, OR, NOT.
* **Структураваны**. Мова, якая падтрымлівае пошук па палях (камбінацыі), калі дакумент структураваны і праіндэксаваны з выкарыстаннем яго структуры дакумента.
* **Натуральная мова**. Мова запытаў, якая падтрымлівае натуральную мову шляхам аналізу запыту на натуральнай мове да формы, якую лепш за ўсё выкарыстоўваць для атрымання адпаведных дакументаў, напрыклад, з дапамогай сістэм адказаў на пытанні або гутарковага пошуку.

## Прыклады 
* Attempto Controlled English — мова запытаў, якая таксама з’яўляецца кантраляванай натуральнай мовай;
* AQL — мова запытаў для ўласнай шматмадэльнай сістэмы баз даных ArangoDB;
* QL з’яўляецца запатэнтаванай аб’ектна-арыентаванай мовай запытаў для запытаў да рэляцыйных баз даных; пераемнік Datalog;
* CodeQL — механізм аналізу, які выкарыстоўваецца распрацоўшчыкамі для аўтаматызацыі праверак бяспекі, а таксама даследчыкамі бяспекі для выканання аналізу варыянтаў на GitHub;
* Кантэкстная мова запытаў (CQL) — фармальная мова для прадстаўлення запытаў у сістэмы пошуку інфармацыі, такія як вэб-індэксы або бібліяграфічныя каталогі;
* Cypher — мова запытаў для базы даных графаў Neo4j;
* DMX — мова запытаў для мадэляў інтэлектуальнага аналізу даных;
* Datalog — мова запытаў для дэдукцыйных баз даных;
* F-логіка — дэкларатыўная аб’ектна-арыентаваная мова для дэдукцыйных баз даных і прадстаўлення ведаў;
* FQL дазваляе выкарыстоўваць інтэрфейс у стылі SQL для запыту даных, прадстаўленых Graph API . Ён забяспечвае пашыраныя функцыі, недаступныя ў Graph API;
* Gellish English — мова, якую можна выкарыстоўваць для запытаў у базах даных Gellish English, для дыялогаў (запытаў і адказаў), а таксама для мадэлявання інфармацыі і мадэлявання ведаў;
* Gremlin — мова абыходу графаў Apache Software Foundation для графавых сістэм OLTP і OLAP;
* GraphQL — мова запытаў даных, распрацаваная Facebook як альтэрнатыва архітэктурам REST і спецыяльным вэб-сэрвісам;
* HTSQL — мова запытаў, якая перакладае HTTP- запыты ў SQL;
* ISBL — мова запытаў для PRTV, адной з самых ранніх сістэм кіравання рэляцыйнымі базамі даных;
* Jaql — функцыянальная мова апрацоўкі даных і запытаў, якая найбольш часта выкарыстоўваецца для апрацоўкі запытаў JSON;
* jq — функцыянальная мова праграмавання, якая часта выкарыстоўваецца для апрацоўкі запытаў да аднаго або некалькіх дакументаў JSON, у тым ліку вельмі вялікіх;
* JSONiq — дэкларатыўная мова запытаў, прызначаная для калекцый дакументаў JSON;
* LDAP — прыкладны пратакол для запытаў і змены службаў каталогаў, якія працуюць праз TCP/IP;
* LogiQL з’яўляецца варыянтам Datalog і мовай запытаў для сістэмы LogicBlox;
* M Мова формул, мова мэшап-запытаў, якая выкарыстоўваецца ў Microsoft Power Query;
* MQL — мова хімічных інфарматычных запытаў для пошуку субструктур, якая дазваляе акрамя намінальных уласцівасцей таксама лікавыя ўласцівасці;
* MDX — мова запытаў для баз даных OLAP;
* N1QL — мова запытаў Couchbase для пошуку даных на серверах Couchbase;
* Мова аб’ектных запытаў;
* OCL (мова аб’ектных абмежаванняў). Нягледзячы на сваю назву, OCL таксама з’яўляецца мовай аб’ектных запытаў і стандартам OMG;
* OPath, прызначаны для выкарыстання ў запытах да *сховішчаў* WinFS;
* Poliqarp Query Language — спецыяльная мова запытаў, прызначаная для аналізу анатаванага тэксту. Выкарыстоўваецца ў пошукавай сістэме Poliqarp;
* PQL — спецыяльная мова праграмавання для кіравання мадэлямі працэсаў на аснове інфармацыі аб , якія гэтыя мадэлі апісваюць;
* PRQL (англ. Pipelined Relational Query Language) — сучасная мова для пераўтварэння даных. Складаецца з выбранага набору артаганальных пераўтварэнняў, якія аб’ядноўваюцца ў канвеер;
* PTQL, заснаваны на рэляцыйных запытах па трасіроўцы праграмы, што дазваляе праграмістам пісаць экспрэсіўныя дэкларатыўныя запыты аб паводзінах праграмы;
* QUEL — мова доступу да рэляцыйнай базы даных, падобная ў большасці спосабаў на SQL;
* RDQL — мова запытаў RDF;
* SMARTS — стандарт хімічнай інфарматыкі для пошуку падструктур;
* SPARQL — мова запытаў для графаў RDF;
* SQL — добра вядомая мова запытаў і мова апрацоўкі даных для рэляцыйных баз даных;
* XQuery — мова запытаў для крыніц даных XML;
* XPath — дэкларатыўная мова для навігацыі па дакументах XML;
* YQL — SQL-падобная мова запытаў, створаная Yahoo!
* Мовы запытаў пошукавых сістэм, напрыклад, якія выкарыстоўваюць Google або Bing.

## Заўвагі 
Катэгорыя:Кіраванне данымі
Катэгорыя:Камп’ютарныя мовы
Катэгорыя:Мовы разметкі
Катэгорыя:Пошукавыя сістэмы