PDL Quick Reference
This is a reference guide for the Padas Domain Language (PDL).
In order to understand how PADAS works, please review Getting Started.
Introduction
PDL is a domain-specific language designed for data processing, with features including querying, evaluation, filtering, renaming, and correlation of streaming event data. A PDL expression consists of a combination of zero to many expressions and zero or one correlation statement separated by a pipe '|
' character. PDL syntax requires fields to be available in JSON object that it compares against and supports nested JSON objects/fields with dotted notation (e.g. field.subfield.anothersubfield
etc.)
Syntax
PDL can contain one or more expressions and zero or one correlation statement separated by a pipe |
character. Output from an expression or correlation statement becomes the input for the expression that comes after the pipe |
. Below grammar represents some generic grammar usage.
<expression> | <expression> | ...
<correlation> | <expression> | <expression> | ...
<expression> | ... | <correlation> | <expression> | ...
Field Names and Field Values
For expressions and correlation statement field names (<fieldName>
) represent the JSON field name and field value (<fieldValue>
) can be a literal (number or string) or a field name. Literal strings must be enclosed in double quotation marks.
Field names can not have spaces in them and currently following features are provided:
- Must begin with a letter (
[a-zA-Z]
) or underscore_
- Supports dotted notation for nested JSON fields.
- Does NOT support whitespace in field names.
- Accepts alphanumeric characters, minus/dash, underscore, and column (
[a-zA-Z0-9_-:]
)
PDL Examples
JSON Event Data | PDL Expression | Expected Result |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|