# Programari de consulta

Un llenguatge de consulta, també conegut com a llenguatge de consulta de dades o llenguatge de consulta de bases de dades (DQL), és un llenguatge informàtic utilitzat per fer consultes en bases de dades i sistemes d'informació. En els sistemes de bases de dades, els llenguatges de consulta es basen en una teoria estricta per recuperar informació. Un exemple conegut és l'Structured Query Language (SQL).

## Tipus

A grans trets, els llenguatges de consulta es poden classificar segons si són llenguatges de consulta de bases de dades o llenguatges de consulta de recuperació d'informació. La diferència és que un llenguatge de consulta de base de dades intenta donar respostes reals a preguntes de fet, mentre que un llenguatge de consulta de recuperació d'informació intenta trobar documents que contenen informació rellevant per a una àrea d'investigació. Altres tipus de llenguatges de consulta inclouen:
* Text complet. El llenguatge de consulta més senzill és tractar tots els termes com un paquet de paraules que s'han de relacionar amb les publicacions de l'índex invertit i on posteriorment s'apliquen models de classificació per recuperar els documents més rellevants. Només es defineixen fitxes al CFG. Els cercadors web sovint utilitzen aquest enfocament.
* Booleà. Un llenguatge de consulta que també admet l'ús dels operadors booleans AND, OR, NOT.
* Estructurat. Un idioma que admet la cerca dins (una combinació de) camps quan un document està estructurat i s'ha indexat mitjançant la seva estructura de document.
* Llenguatge natural. Un llenguatge de consulta que admet el llenguatge natural mitjançant l'anàlisi de la consulta del llenguatge natural a un formulari que es pot utilitzar millor per recuperar documents rellevants, per exemple amb sistemes de resposta a preguntes o cerca conversacional.

## Exemples

Attempto Controlled English és un llenguatge de consulta que també és un llenguatge natural controlat.
AQL és un llenguatge de consulta per al sistema de bases de dades multimodel natiu ArangoDB.
QL és un llenguatge de consulta propietari orientat a objectes per consultar bases de dades relacionals. successor de Datalog. CodeQL és el motor d'anàlisi utilitzat pels desenvolupadors per automatitzar les comprovacions de seguretat i pels investigadors de seguretat per realitzar anàlisis de variants a GitHub.
Llenguatge de consulta contextual (CQL) un llenguatge formal per representar consultes a sistemes de recuperació d'informació com ara índexs web o catàlegs bibliogràfics.
Cypher és un llenguatge de consulta per a la base de dades de gràfics Neo4j.
DMX és un llenguatge de consulta per a models de mineria de dades.
Datalog és un llenguatge de consulta per a bases de dades deductives.
F-logic és un llenguatge declaratiu orientat a objectes per a bases de dades deductives i representació del coneixement.
FQL us permet utilitzar una interfície d'estil SQL per consultar les dades exposades per l'API Graph. Proporciona funcions avançades que no estan disponibles a l'API Graph.
Gellish English és un idioma que es pot utilitzar per a consultes a les bases de dades Gellish English, per a diàlegs (sol·licituds i respostes), així com per a la modelització de la informació i la modelització del coneixement.
Gremlin és un llenguatge de recorregut de gràfics d'Apache Software Foundation per a sistemes de gràfics OLTP i OLAP.
GraphQL és un llenguatge de consulta de dades desenvolupat per Facebook com a alternativa a les arquitectures de serveis web REST i ad-hoc.
HTSQL és un llenguatge de consulta que tradueix consultes HTTP a SQL.
ISBL és un llenguatge de consulta per a PRTV, un dels primers sistemes de gestió de bases de dades relacionals.
Jaql és un llenguatge funcional de processament de dades i consulta més utilitzat per al processament de consultes JSON.
jq és un llenguatge de programació funcional que s'utilitza sovint per processar consultes sobre un o més documents JSON, inclosos els molt grans.
JSONiq és un llenguatge de consulta declaratiu dissenyat per a col·leccions de documents JSON.
LDAP és un protocol d'aplicació per consultar i modificar serveis de directoris que s'executen sobre TCP/IP.
LogiQL és una variant de Datalog i és el llenguatge de consulta per al sistema LogicBlox.
Llenguatge M Formula, un llenguatge de consulta combinat utilitzat a Power Query de Microsoft
MQL és un llenguatge de consultes de quinaminformàtica per a una cerca de subestructura que permet a més de propietats nominals també propietats numèriques.
MDX és un llenguatge de consulta per a bases de dades OLAP.
N1QL és un llenguatge de consulta de Couchbase per trobar dades als servidors de Couchbase.
Llenguatge de consulta d'objectes
OCL (Llenguatge de restricció d'objectes). Malgrat el seu nom, OCL també és un llenguatge de consulta d'objectes i un estàndard OMG.
OPath, pensat per utilitzar-lo per consultar les botigues WinFS.
Poliqarp Query Language és un llenguatge de consulta especial dissenyat per analitzar text anotat. S'utilitza en el cercador Poliqarp. PQL és un llenguatge de programació especial per gestionar models de processos basat en la informació sobre escenaris que descriuen aquests models.
PRQL PRQL (Pipelined Relational Query Language) és un llenguatge modern per transformar dades. Consisteix en un conjunt curat de transformacions ortogonals, que es combinen per formar una canalització.
PTQL basat en consultes relacionals sobre traces del programa, que permet als programadors escriure consultes expressives i declaratives sobre el comportament del programa.
QUEL és un llenguatge d'accés a bases de dades relacionals, semblant en la majoria dels aspectes a SQL.
RDQL és un llenguatge de consulta RDF.
SMARTS és l'estàndard de quimformàtica per a una cerca de subestructura.
SPARQL és un llenguatge de consulta per a gràfics RDF.
SQL és un llenguatge de consulta i de manipulació de dades conegut per a bases de dades relacionals.
XQuery és un llenguatge de consulta per a fonts de dades XML.
XPath és un llenguatge declaratiu per navegar per documents XML.
YQL és un llenguatge de consulta semblant a SQL creat per Yahoo!
Llenguatges de consulta del motor de cerca, p. ex., els utilitzats per Google o Bing.

## Referències

* ↑ Schmitt, Ingo The VDLB Journal 17, 17, 01-01-2008, pàg. 39–56. DOI: 10.1007/s00778-007-0070-1.
* ↑ «What is query language? | A Comprehensive Query Language Guide» (en anglès americà). [Consulta: 13 abril 2024].
* ↑ «SQL Introduction» (en anglès americà). [Consulta: 13 abril 2024].
* ↑ «What is a Query Language? | Definition - Glossary» (en anglès), 16-01-2024. [Consulta: 13 abril 2024].
* ↑ «Query Languages: A Simple Introduction» (en anglès). [Consulta: 13 abril 2024].