Query languages, data query languages or database query languages (DQL) are
computer language
A computer language is a formal language used to communicate with a computer. Types of computer languages include:
* Construction language – all forms of communication by which a human can specify an executable problem solution to a compu ...
s used to make queries in
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
s and
information system
An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information. From a sociotechnical perspective, information systems are composed by four components: task, people ...
s. A well known example is the
Structured Query Language (SQL).
Types
Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages. The difference is that a database query language attempts to give factual answers to factual questions, while an information retrieval query language attempts to find documents containing information that is relevant to an area of inquiry. Other types of query languages include:
* Full-text. The simplest query language is treating all terms as bag of words that are to be matched with the postings in the
inverted index
In computer science, an inverted index (also referred to as a postings list, postings file, or inverted file) is a database index storing a mapping from content, such as words or numbers, to its locations in a table, or in a document or a set of do ...
and where subsequently ranking models are applied to retrieve the most relevant documents. Only tokens are defined in the CFG. Web search engines often use this approach.
* Boolean. A query language that also supports the use of the
Boolean operators AND, OR, NOT.
* Structured. A language that supports searching within (a combination of) fields when a document is structured and has been indexed using its document structure.
* Natural language. A query language that supports natural language by parsing the natural language query to a form that can be best used to retrieve relevant documents, for example with
Question answering
Question answering (QA) is a computer science discipline within the fields of information retrieval and natural language processing (NLP), which is concerned with building systems that automatically answer questions posed by humans in a natural l ...
systems or
conversational search
A virtual assistant (VA) is a software agent that can perform a range of tasks or services for a user based on user input such as commands or questions, including verbal ones. Such technologies often incorporate chatbot capabilities to simulat ...
.
Examples
*
Attempto Controlled English
Attempto Controlled English (ACE) is a controlled natural language, i.e. a subset of standard English with a restricted syntax and restricted semantics described by a small set of construction and interpretation rules. It has been under developmen ...
is a query language that is also a
controlled natural language
Controlled natural languages (CNLs) are subsets of natural languages that are obtained by restricting the grammar and vocabulary in order to reduce or eliminate ambiguity and complexity. Traditionally, controlled languages fall into two major types ...
.
*
AQL is a query language for the
ArangoDB
ArangoDB is a free and open-source native graph database system developed by ArangoDB Inc. ArangoDB is a multi-model database system since it supports three data models (graphs, JSON documents, key/value) with one database core and a unified ...
native multi-model database system.
*
.QL
.QL (pronounced "dot-cue-el") is an object-oriented query language used to retrieve data from relational database management systems. It is reminiscent of the standard query language SQL and the object-oriented programming language Java. .QL is ...
is a proprietary object-oriented query language for querying
relational database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
s; successor of Datalog;
*
CodeQL is the analysis engine used by developers to automate security checks, and by security researchers to perform variant analysis on
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
.
*
Contextual Query Language
Contextual Query Language (CQL), previously known as Common Query Language, is a formal language for representing queries to information retrieval systems such as search engines, bibliographic catalogs and museum collection information. Based on ...
(CQL) a formal language for representing queries to
information retrieval systems such as web indexes or bibliographic catalogues.
*
Cypher
Cypher is an alternative spelling for cipher.
Cypher may also refer to:
Arts and entertainment
* Cypher (French Group), a Goa trance music group
* Cypher (band), an Australian instrumental band
* ''Cypher'' (film), a 2002 film
* ''Cypher'' ( ...
is a query language for the
Neo4j
Neo4j is a graph database management system developed by Neo4j, Inc. Described by its developers as an ACID-compliant transactional database with native graph storage and processing, Neo4j is available in a non-open-source "community edition" ...
graph database;
*
DMX
Earl Simmons (December 18, 1970 – April 9, 2021), known professionally as DMX, was an American rapper and actor. He began rapping in the early 1990s and released his debut album ''It's Dark and Hell Is Hot'' in 1998, to both critical acclaim ...
is a query language for
data mining models;
*
Datalog
Datalog is a declarative logic programming language. While it is syntactically a subset of Prolog, Datalog generally uses a bottom-up rather than top-down evaluation model. This difference yields significantly different behavior and properties ...
is a query language for
deductive database
A deductive database is a database system that can make deductions (i.e. conclude additional facts) based on rules and facts stored in the (deductive) database. Datalog is the language typically used to specify facts, rules and queries in deduc ...
s;
*
F-logic F-logic (frame logic) is a knowledge representation and ontology language. F-logic combines the advantages of conceptual modeling with object-oriented, frame-based languages and offers a declarative, compact and simple syntax, as well as the well-de ...
is a declarative object-oriented language for
deductive database
A deductive database is a database system that can make deductions (i.e. conclude additional facts) based on rules and facts stored in the (deductive) database. Datalog is the language typically used to specify facts, rules and queries in deduc ...
s and
knowledge representation
Knowledge representation and reasoning (KRR, KR&R, KR²) is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medic ...
.
*
FQL enables you to use a
SQL-style interface to query the data exposed by the
Graph API
The social graph is a graph that represents social relations between entities. In short, it is a model or representation of a social network, where the word graph has been taken from graph theory. The social graph has been referred to as "the ...
. It provides advanced features not available in the
Graph API
The social graph is a graph that represents social relations between entities. In short, it is a model or representation of a social network, where the word graph has been taken from graph theory. The social graph has been referred to as "the ...
.
*
Gellish English
Gellish is an ontology language for data storage and communication, designed and developed by Andries van Renssen since mid-1990s. It started out as an engineering modeling language ("Generic Engineering Language", giving it the name, "Gellish") bu ...
is a language that can be used for queries in Gellish English Databases, for dialogues (requests and responses) as well as for information modeling and
knowledge modeling
Knowledge modeling is a process of creating a computer interpretable model of knowledge or standard specifications about a kind of process and/or about a kind of facility or product. The resulting knowledge model can only be computer interpretable ...
;
*
Gremlin
A gremlin is a mischievous folkloric creature invented at the beginning of the 20th century to originally explain malfunctions in aircraft and later in other machinery and processes and their operators. Depictions of these creatures vary widely ...
is an
Apache Software Foundation graph traversal language for OLTP and OLAP graph systems.
*
GraphQL
GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL was developed internally by Facebook (now Meta) in 2012 before being publicly released in 2015. On 7 Nov ...
is a data query language developed by
Facebook
Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
as an alternate to
REST
Rest or REST may refer to:
Relief from activity
* Sleep
** Bed rest
* Kneeling
* Lying (position)
* Sitting
* Squatting position
Structural support
* Structural support
** Rest (cue sports)
** Armrest
** Headrest
** Footrest
Arts and ente ...
and ad-hoc
webservice architectures.
*
HTSQL is a query language that translates
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
queries to
SQL;
*
ISBL is a query language for
PRTV PRTV (''Peterlee Relational Test Vehicle'') was the world's first relational database management system
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A syst ...
, one of the earliest relational database management systems;
*
Jaql
Jaql (pronounced "jackal") is a functional data processing and query language most commonly used for JSON query processing on big data.
It started as an open source project at Google but the latest release was on 2010-07-12. IBM took it over as p ...
is a functional data processing and query language most commonly used for JSON query processing;
*
jq is a functional programming language often used for processing queries against one or more
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
documents, including very large ones;
*
JSONiq
JSONiq is a query and functional programming language that is designed to declaratively query and transform collections of hierarchical and heterogeneous data in format of JSON, XML, as well as unstructured, textual data.
JSONiq is an open speci ...
is a declarative query language designed for collections of
JSON
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
documents;
*
LDAP
The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory serv ...
is an
application protocol
An application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network. An ''application layer'' abstraction is specified in both the Internet Protocol Suit ...
for querying and modifying
directory services
In computing, a directory service or name service maps the names of network resources to their respective network addresses. It is a shared information infrastructure for locating, managing, administering and organizing everyday items and network r ...
running over
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
;
* LogiQL is a variant of Datalog and is the query language for the LogicBlox system.
*
M Formula language
Power Query is an ETL tool created by Microsoft for data extraction, loading and transformation, and is used to retrieve data from sources, process it, and load them into one or more target systems. Power Query is available in several variations ...
, a
mashup
Mashup may refer to:
* Mashup (culture), the rearrangement of spliced parts of musical pieces as part of a subculture
* Mashup (education), combining various forms of data and media by a teacher or student in an instructional setting
* Mashup (mus ...
query language used in Microsoft's Power Query
*
MQL is a
cheminformatics
Cheminformatics (also known as chemoinformatics) refers to use of physical chemistry theory with computer and information science techniques—so called "''in silico''" techniques—in application to a range of descriptive and prescriptive proble ...
query language for a
substructure search allowing beside nominal properties also numerical properties;
*
MDX is a query language for
OLAP
Online analytical processing, or OLAP (), is an approach to answer multi-dimensional analytical (MDA) queries swiftly in computing. OLAP is part of the broader category of business intelligence, which also encompasses relational databases, repo ...
databases;
*
N1QL
Couchbase Server, originally known as Membase, is an open-source software, open-source, distributed (shared-nothing architecture) Multi-model database, multi-model NoSQL document-oriented database software package optimized for interactive applic ...
is a
Couchbase
Couchbase Server, originally known as Membase, is an open-source software, open-source, distributed (shared-nothing architecture) Multi-model database, multi-model NoSQL document-oriented database software package optimized for interactive applic ...
's query language finding data in
Couchbase Server
Couchbase Server, originally known as Membase, is an open-source, distributed (shared-nothing architecture) multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many c ...
s;
*
Object Query Language
Object Query Language (OQL) is a query language standard for object-oriented databases modeled after SQL and developed by the Object Data Management Group (ODMG). Because of its overall complexity the complete OQL standard has not yet been full ...
*
OCL (Object Constraint Language). Despite its name, OCL is also an object query language and an
OMG
OMG may refer to:
* Oh my God (sometimes also Oh my Goodness or Oh my Gosh), a common abbreviation, often used in SMS messages and Internet communication
Acronyms
* OMG is the IATA code for Omega Airport, Omega, Namibia
* Operational manoeuvre ...
standard;
*
OPath, intended for use in querying
WinFS
WinFS (short for Windows Future Storage) was the code name for a canceled data storage and management system project based on relational databases, developed by Microsoft and first demonstrated in 2003 as an advanced storage subsystem for the Micr ...
''Stores'';
*
Poliqarp Query Language is a special query language designed to analyze annotated text. Used in the
Poliqarp search engine;
*
PQL is a
special-purpose programming language for managing
process model
The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the ''business process model''.
Overview
Process models are processes of the same nature that ar ...
s based on information about
scenarios
In the performing arts, a scenario (, ; ; ) is a synoptical collage of an event or series of actions and events. In the ''commedia dell'arte'', it was an outline of entrances, exits, and action describing the plot of a play, and was literally p ...
that these models describe;
*
PTQL based on relational queries over program traces, allowing programmers to write expressive, declarative queries about program behavior.
*
QUEL is a
relational database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
access language, similar in most ways to
SQL;
*
RDQL is a
RDF query language;
*
SMARTS is the
cheminformatics
Cheminformatics (also known as chemoinformatics) refers to use of physical chemistry theory with computer and information science techniques—so called "''in silico''" techniques—in application to a range of descriptive and prescriptive proble ...
standard for a
substructure search;
*
SPARQL
SPARQL (pronounced " sparkle" , a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description ...
is a query language for
RDF graphs
Graph may refer to:
Mathematics
*Graph (discrete mathematics), a structure made of vertices and edges
**Graph theory, the study of such graphs and their properties
* Graph (topology), a topological space resembling a graph in the sense of discr ...
;
*
SQL is a well known query language and
data manipulation language
A data manipulation language (DML) is a computer programming language used for adding (inserting), deleting, and modifying (updating) data in a database. A DML is often a sublanguage of a broader database language such as SQL, with the DML com ...
for
relational database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
s;
*
XQuery
XQuery (XML Query) is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, bi ...
is a query language for
XML data sources;
*
XPath
XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values (e.g., strings, numbers, or Boolean v ...
is a declarative language for navigating XML documents;
*
YQL is an
SQL-like query language created by
Yahoo!
Yahoo! (, styled yahoo''!'' in its logo) is an American web services provider. It is headquartered in Sunnyvale, California and operated by the namesake company Yahoo! Inc. (2017–present), Yahoo Inc., which is 90% owned by investment funds ma ...
* Search engine query languages, e.g., as used by
Google
Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
or
Bing
Bing most often refers to:
* Bing Crosby (1903–1977), American singer
* Microsoft Bing, a web search engine
Bing may also refer to:
Food and drink
* Bing (bread), a Chinese flatbread
* Bing (soft drink), a UK brand
* Bing cherry, a variety ...
[
]
See also
*
Data control language
*
Data definition language
*
Data manipulation language
A data manipulation language (DML) is a computer programming language used for adding (inserting), deleting, and modifying (updating) data in a database. A DML is often a sublanguage of a broader database language such as SQL, with the DML com ...
References
{{Authority control
Computer languages
Data management
Programming language classification
no:Database#Spørrespråk