Skip to main content

Text comparisons

Search attributes for text

Each node takes one or two inputs to filter the queried items.

  • Starts with - items qualify if a specific attribute starts with the input text.

  • Contains word - items qualify if a specific attribute contains the input word.

  • Attribute search - items qualify if any attribute matches the input value.

Usage

These nodes are conditions, so you can add them directly after the root node or a logical node.

A root node connected to an Any node, which branches to a Starts with node, a Contains word node and an Attribute search node

Compatibility

Starts with and Contains word have two segments: the attribute to search, and the text to match.

NodeAccepted Value TypeNotes
AttributeTextUse the Pathfinder to choose an attribute, on the queried item or a linked item
TextTextA fixed line of text you enter
Value From Item AttributeTextFrom one or more items of any design/interface

Attribute search has one segment: the fixed search term to look for.

Most attributes are searched automatically. Text attributes match whole words anywhere in their value. Other attribute types only match when the search term parses as an exact value of that type.

NodeAttribute TypeSearched?MatchesExample
TextTextUnless Searchable is disabledEvery word (any order), or exact value if under three charsdrain blocked
NumberAlwaysExact value42
DateAlwaysExact value15 March 2026
Date TimeAlwaysExact value15 March 2026 14:30
TimeAlwaysExact value14:30
SeasonalAlwaysExact value17 August
LinkNeverUse Connected to instead
GeometryNeverUse Within / Intersects / Disjoint instead
Yes/NoNeverUse Equals instead
info

For accepted date, time, and number formats, see Flexible search terms.

Options

Select the node to access its options:

  • Swap - use another comparison node. If any segments are populated, only compatible nodes are listed.

  • Delete - remove the node from the query branch.

  • Link negated - invert the condition. Only available when a segment references a linked design/interface.

Examples

Starts with

Fetch all street lights with a unit number starting with SL/002.

In AQS terms:

Fetch items of the Street Lights design where their Unit Number attribute starts with SL/002.

A Starts with node comparing the Unit Number attribute to SL/002
See JSON code

This code may reference designs, interfaces, attributes or items that don't exist in your company project.

{
"type": "Query",
"properties": {
"collectionCode": "Live",
"dodiCode": "designs_streetLights"
},
"children": [
{
"type": "StartsWith",
"children": [
{
"type": "Attribute",
"properties": {
"attributeCode": "attributes_streetLightingUnitsUnitNumber"
}
},
{
"type": "String",
"properties": {
"value": ["SL/002"]
}
}
]
}
]
}

Contains word

Fetch all inspections that mention graffiti in the description.

In AQS terms:

Fetch items of the Inspections interface where their Description attribute contains the word graffiti.

A Contains word node comparing the Description attribute to graffiti
See JSON code

This code may reference designs, interfaces, attributes or items that don't exist in your company project.

{
"type": "Query",
"properties": {
"collectionCode": "Live",
"dodiCode": "designInterfaces_inspections"
},
"children": [
{
"type": "WordSearch",
"children": [
{
"type": "Attribute",
"properties": {
"attributeCode": "attributes_tasksDescription"
}
},
{
"type": "String",
"properties": {
"value": ["graffiti"]
}
}
]
}
]
}

Fetch all inspections that involve graffiti.

In AQS terms:

Fetch items of the Inspections interface where any of their attributes contain the word graffiti.

An Attribute search node searching for graffiti
See JSON code

This code may reference designs, interfaces, attributes or items that don't exist in your company project.

{
"type": "Query",
"properties": {
"collectionCode": "Live",
"dodiCode": "designInterfaces_inspections"
},
"children": [
{
"type": "GlobalAttributeSearch",
"children": [
{
"type": "String",
"properties": {
"value": ["graffiti"]
}
}
]
}
]
}