Loading AI tools
Object-oriented query language From Wikipedia, the free encyclopedia
.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 an object-oriented variant of a logical query language called Datalog. Hierarchical data can therefore be naturally queried in .QL in a recursive manner.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Paradigm | multi-paradigm, logic-paradigm, object-oriented-paradigm |
---|---|
Developer | Semmle |
First appeared | 2007 |
Typing discipline | static, strong |
Major implementations | |
SemmleCode | |
Influenced by | |
Datalog |
Queries written in .QL are optimised, compiled into SQL and can then be executed on any major relational database management system. .QL query language is being used in SemmleCode to query a relational representation of Java programs.
.QL is developed at Semmle Limited and is based on the company's proprietary technology.
.QL has several language features to make queries concise, intuitive and reusable:
The sample query below illustrates use of .QL to query a Java program. This is how one would select all classes that contain more than ten public methods:
from Class c, int numOfMethods
where numOfMethods = count(Method m| m.getDeclaringType()=c
and m.hasModifier("public"))
and numOfMethods > 10
select c.getPackage(), c, numOfMethods
In fact, this query selects not only all classes with more than ten public methods, but also their corresponding packages and the number of methods each class has.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.