Мова запытаў

З Вікіпедыі, свабоднай энцыклапедыі

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

Тыпы[правіць | правіць зыходнік]

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

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

Прыклады[правіць | правіць зыходнік]

  • Attempto Controlled English — мова запытаў, якая таксама з’яўляецца кантраляванай натуральнай мовай[1];
  • AQL — мова запытаў для ўласнай шматмадэльнай сістэмы баз даных ArangoDB;
  • QL з’яўляецца запатэнтаванай аб’ектна-арыентаванай мовай запытаў для запытаў да рэляцыйных баз даных; пераемнік Datalog;
  • CodeQL — механізм аналізу, які выкарыстоўваецца распрацоўшчыкамі для аўтаматызацыі праверак бяспекі, а таксама даследчыкамі бяспекі для выканання аналізу варыянтаў на GitHub;
  • Кантэкстная мова запытаў (CQL) — фармальная мова для прадстаўлення запытаў у сістэмы пошуку інфармацыі, такія як вэб-індэксы або бібліяграфічныя каталогі;
  • Cypher — мова запытаў для базы даных графаў Neo4j;
  • DMX — мова запытаў для мадэляў інтэлектуальнага аналізу даных;
  • Datalog — мова запытаў для дэдукцыйных баз даных;
  • F-логіка — дэкларатыўная аб’ектна-арыентаваная мова для дэдукцыйных баз даных і прадстаўлення ведаў;
  • FQL дазваляе выкарыстоўваць інтэрфейс у стылі SQL для запыту даных, прадстаўленых Graph API . Ён забяспечвае пашыраныя функцыі, недаступныя ў Graph API[2];
  • Gellish English — мова, якую можна выкарыстоўваць для запытаў у базах даных Gellish English, для дыялогаў (запытаў і адказаў), а таксама для мадэлявання інфармацыі і мадэлявання ведаў[3];
  • 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[4] або Bing[5].

Заўвагі[правіць | правіць зыходнік]

  1. Attempto Controlled English Meets the Challenges of Knowledge Representation, Reasoning, Interoperability and User Interfaces (PDF). 2006.
  2. FQL Overview. dead(недаступная спасылка). Архівавана з першакрыніцы 18 снежня 2013. Праверана 4 мая 2023.
  3. http://gellish.wiki.sourceforge.net/Querying+a+Gellish+English+database(недаступная спасылка)
  4. Search operators.
  5. Bing Query Language.