Axiom Processing Language (APL)
The Axiom Processing Language (APL) is a query language that is perfect for getting deeper insights from your data. Whether logs, events, analytics, or similar, APL provides the flexibility to filter, manipulate, and summarize your data exactly the way you need it.
Navigate to Data Explorer on Axiom and click one of your datasets to get started. The APL editor has full auto-completion so you can poke around or you can get a better understanding of all the features by using the reference menu to the left of this page.
APL Query Structure
At a minimum, a query consists of source data reference (name of a dataset) and zero or more query operators applied in sequence. Individual operators are delimited using the pipe character (
APL query has the following structure:
DataSource | operator ... | operator ...
- DataSource is the name of the dataset you want to query
- Operator is a function that will be applied to the data
Let's look at an example query.
['github-issue-comment-event'] | extend bot = actor contains "-bot" or actor contains "[bot]" | where bot == true | summarize count() by bin_auto(_time), actor
The query above begins with reference to a dataset called github-issue-comment-event and contains several operators, extend, where, and summarize, each separated by a
pipe. The extend operator creates the bot column in the returned result, and sets its values depending on the value of the actor column, the where operator filters out the value of the bot to a branch of rows and then produce a chart from the aggregation using the summarize operator.
The most common kind of query statement is a tabular expression statement. Tabular statements contain operators, each of which starts with a tabular
input and returns a tabular
- Explore the tabular operators we support.
- Check out our entity names and identifier naming rules.
Axiom Processing Language supplies a set of system data types that define all the types of data that can be used with Axiom Processing Language.