Reference / deterministic subset

Query support, with the caveats left in view.

Rulattice translates a bounded set of constructs through one canonical model. This page lists what each adapter reads and writes, how meaning is preserved, and what is rejected. A structural match is not proof that the destination schema carries the same meaning.

Supported constructs

ConstructKQLSplunk SPLCortex XQLCQL / LogScale
SourceTableindex=xdataset = x#event_simpleName=x / #repo=x
Relative timeTimeGenerated >= ago(1h), between (ago(1h) .. now())earliest=-1hconfig timeframe = 1hsetTimeInterval(start=1h), test(@timestamp >= now() - duration("1h"))
Boolean logicand or not()AND OR NOT, implicit ANDand or notand or not !, implicit AND
Equality== != =~ !~= != (search), = == != (where)= !== !=
Numeric compare> >= < <=samesametest(x > 5)
Contains / prefix / suffixcontains startswith endswith (+ _cs), has"*v*" (search), like(), match()contains, ~="*v*", /v/i, wildcard()
Listsin in~ !inIN ( ), in()in ( ) not inin(field=, values=[ ])
Regexmatches regexmatch()~=/re/flags, regex()
Fieldsproject project-awayfields, fields -, tablefields, fields -xselect() table() drop()
Aggregationsummarize count() dcount() sum() min() max() avg() by, countstats count dc sum min max avg BYcomp count() count_distinct() ... bygroupBy(), count(), stats()
Sort / limitsort by, order by, take, topsort, headsort asc|desc, limitsort(), head()

Semantics that are preserved

Schema mapping (opt-in)

Off by default: field names are preserved and known entity fields are flagged. Turn on "Map fields to target data model" to rename them. Every mapping appears as a review item.

EntityKQL (ASIM)SPL (CIM)XQL (XDM)CQL (Falcon)LogScale (ECS-style)Caveat

Known gaps and rejection behavior

Unsupported input returns no partial output. You get the reason instead.

Open the translator