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 flexibily to filter, manipulate, and summarize your data exactly the way you need it.
Head to Data Explorer on Axiom and click on 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.
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 a reference to a dataset called github-issue-comment-event and contains several operators, extend, where and summarize, each sepatated by a pipe. The extend operator creates the actor column to the result set, the where operator filters out the value of the bot to a branch of rows and then produces a table 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