AtHoc Query Language attribute types

The following table lists the AtHoc Query Language (AQL) attribute types and their supported operators in the BlackBerry AtHoc API.

Attribute type

Operators

AQL example

Checkbox
  • IsYes
  • <checkbox> pr
  • IsNoOrEmpty
  • <checkbox> npr
Date
  • Equals
  • <date> eq '1/1/1900'
  • NotEquals
  • <date> ne '1/1/1900'
  • Before
  • <date> lt '1/1/1900'
  • After
  • <date> gt '1/1/1900'
  • IsEmpty
  • <date> npr
  • IsNotEmpty
  • <date> pr
Date Time
  • Before
  • <datetime> lt '1/1/1900', <datetime> lt 'D:0', <datetime> lt 'D:+1', <datetime> lt 'D:-999'. D:0 means Now, D:+1 means 1 day from now, D:-999 means before 999 days.
  • After
  • <datetime> gt '1/1/1900'
  • IsEmpty
  • <datetime> npr
  • IsNotEmpty
  • <datetime> pr
Multi Select
  • Equals
  • <multiselect> eq '<val1>,<val2>,<val3>'
  • NotEquals
  • <multiselect> ne '<val1>,<val2>,<val3>'
  • IsEmpty
  • <multiselect> npr
  • IsNotEmpty
  • <multiselect> pr
Number
  • Equals
  • <number> eq 100
  • NotEquals
  • <number> ne 100
  • LessThan
  • <number> lt 100
  • GreaterThan
  • <number> gt 100
  • GreaterThanOrEqualTo
  • <number> ge 100
  • LessThanOrEqualTo
  • <number> le 100
  • IsEmpty
  • <number> npr
  • IsNotEmpty
  • <number> pr
Single Select
  • Equals
  • <singleselect> eq '<val1>'
  • NotEquals
  • <singleselect> ne '<val1>'
  • IsEmpty
  • <singleselect> npr
  • IsNotEmpty
  • <singleselect> pr
Status (Single Select)
  • Equals
  • <status> eq '<val1>'
  • NotEquals
  • <status> ne '<val1>'
  • IsEmpty
  • <status> npr
  • IsNotEmpty
  • <status> pr
Text
  • Equals
  • <text> eq '<value>'
  • NotEquals
  • <text> ne '<value>'
  • StartsWith
  • <text> sw '<value>'
  • EndsWith
  • <text> ew '<value>'
  • Contains
  • <text> co '<value>'
  • DoesNotContain
  • <text> nco '<value>'
  • IsEmpty
  • <text> npr
  • IsNotEmpty
  • <text> pr
Org Hierarchy
  • At
  • <orghierarchy> eq '<val1>,<val2>,<val3>'
  • AtOrBelow
  • <orghierarchy> sw '<val1>,<val2>,<val3>'
  • NotAt
  • <orghierarchy> ne '<val1>,<val2>,<val3>'
  • NotAtOrBelow
  • <orghierarchy> nsw '<val1>,<val2>,<val3>'
Roles
  • Equals
  • SYS:role eq '<val1>,<val2>,<val3>'
  • NotEquals
  • SYS:role ne '<val1>,<val2>,<val3>'
  • IsEmpty
  • SYS:role npr
  • IsNotEmpty
  • SYS:role pr
Device
  • Equals
  • <device> eq '<address>'
  • NotEquals
  • <device> ne '<address>'
  • StartsWith
  • <device> sw '<address>'
  • EndsWith
  • <device> ew '<address>'
  • Contains
  • <device> co '<address>'
  • DoesNotContain
  • <device> nco '<address>'
  • IsEmpty
  • <device> npr
  • IsNotEmpty
  • <device> pr
Geolocation
  • IsInside
  • <location> in '<namedshape>'
  • IsOutside
  • <location> nin '<namedshape>'
Users
  • Include
  • :USERS eq '<user1>,<user2>,<user3>'
  • Exclude
  • :USERS ne '<user1>,<user2>,<user3>'
Distribution Lists
  • Equals (MemberOf / belongs to)
  • :LISTS eq '<list1>,<list2>,<FolderLineage>'
  • Not Equals (NotMemberOf / not belongs to)
  • :LISTS neq '<list1>,<list2>,<FolderLineage>'
Alert Targeting or Result Based Targeting (RBT)
3 Parameters
  • :ALERT ('<guid>','<response>','<fillcount>')
  • :ALERT
  • :ALERT [Name eq '<guid>' AND Response eq '<response>']
  • :RESPONSE
  • :ALERT [Name eq '<guid>']
  • :FILLCOUNT
  • :ALERT [Name eq '<guid>' AND Response eq '<response>' AND FillCount eq '<fillcount>']
Event Based Targeting (EBT)
3 Parameters
  • :ALERT ('<guid>','<response>','<fillcount>')
  • EVENT
  • :EVENT ('<guid>','<response>','<property>', '<value>')
  • :RESPONSE
  • :EVENT [Name eq '<guid>' AND Response eq '<response>' AND
  • :RESPONSEMETA
  • :STATUS.'<metaproperty>' eq '<value>']