Intended audience: developers
AO Platform: 5.0
Overview
This guide covers building and configuring Prompt instructions at the Ontology, MSO, and MSO Property levels. The demo Ontology for Asset AI will be used in practical examples.
You’ll learn what ontology prompts are, where to put them, what to link them to, and how to write them the right way.
See also…
Details
1. What an Ontology Prompt Is (And Is Not)
An ontology prompt is a short instruction, written in plain English, that tells Easy Answers how to understand a question. Think of it as a business rule you hand to the AI — a definition, or a hint about what a word means in your business. The AI reads it while it turns the question into a query.
A prompt is guidance, not code. Easy Answers still finds the data and writes the SQL itself. Your prompt only shapes how it does that. Because of this, a good prompt works for many ways of asking the same thing — not just one exact question.
Use it for
-
Business definitions and everyday terms (for example, what “reliability” means).
-
Clearing up vague words (which field or meaning a word refers to).
Do not use it for
-
Pasting a finished SQL query.
-
Lists of allowed values, and common misspellings.
-
Default filters, and hints about how tables connect.
Rule of thumb
Picture briefing a smart analyst who knows SQL but does not know your business. Give them the rules and definitions — not the answer.
2. Where to Put a Prompt: The Three Levels
You can attach a prompt at three levels. The level does not change what a prompt can say. It changes when the prompt is used.
|
Level |
The prompt is used when… |
|
Ontology (whole domain) |
Almost any question is asked. Use for rules that always apply. |
|
MSO (an entity) |
That entity is involved — for example, Meter. |
|
MSO Property (a field) |
That field is involved — for example, the meter’s model. |
Simple rule: put a prompt at the narrowest level that fits. A rule placed too widely is sent to the AI even for unrelated questions (more noise, higher cost). A rule that is never attached simply never runs.
Ontology level — rules that always apply
Use this when the rule is true no matter which entity or field the question is about.
-
Definitions that apply across the whole domain (what a business term means).
-
How a common word should be understood everywhere.
-
Example: “A meter’s ‘reliability’ is based on how many issues it has had over its length of service.”
MSO (entity) level — rules about one entity
Use this when the rule is about one entity.
-
How to read the entity, and which field a common word maps to.
-
What a business term means for that entity.
-
Example: “‘Meter age’ means how long the meter has been in service.”
MSO Property (field) level — rules about one field
Use this when the rule is about a single field.
-
What a word refers to when it points at this field.
-
How to read this field’s meaning in an answer.
-
Example: “When users say ‘type’, they mean the meter’s model.”
Optional: trigger a prompt on a word (any level)
A word is not a separate level. Any prompt — at any of the three levels — can also be tied to one or more words.
Whenever a rule is strictly tied to a specific term or phrase, we strongly recommend attaching that word — it is the ideal way to configure a prompt. A configured word means the prompt is added only when that word (or a close variant) appears in the question, and left out of every other question. This keeps the AI’s instructions shorter, cuts noise and cost, and lowers the chance of it applying a rule that does not belong (hallucination).
Rule of thumb: if you can name the word that should trigger the rule, attach it.
-
Example: tie the ‘heat-sensitive’ meter rule to the words “heat sensitive”, so it is used only when someone mentions heat sensitivity.
Quick Guide
|
If the rule is true for… |
Put it at |
|---|---|
|
The whole domain / most questions |
Ontology |
|
One entity |
MSO (entity) |
|
One specific field |
MSO Property |
To make any prompt fire only when a certain word is mentioned, attach a word to it — this works at any of the three levels.
Levels add up; they do not override each other. Every matching prompt is collected and sent together, so keep them consistent — a field-level rule must not contradict a domain-level one.
3. What to Link a Prompt to
When you create a prompt, you tell Easy Answers what it is about and when to use it. You do this with a few simple links. You do not need to know how they are stored — only what each one is for.
|
Link |
What it is for (when to use it) |
|
The entity or field it belongs to |
The main link. Attach the prompt to the entity (eg. Meter) or the field (eg. meter model) it is about. This decides when the prompt is used. |
|
Word link |
Optional. Tie the prompt to a word so it is used only when that word appears in the question. Works at any level. Use for rules that should fire on a term (eg. “heat sensitive”). |
|
Related prompts |
List other prompts that should always travel with this one. When this prompt is used, the linked ones come too. Use to keep a set of related rules together. |
Keep related-prompt groups small
Linked prompts are always pulled in without being re-checked against the question. Keep these groups small, or you may flood the AI with rules it does not need.
Other settings on a prompt
|
Setting |
What it does |
|---|---|
|
Name |
A short, clear name so you can find the prompt later. |
|
Instruction text |
The rule itself, in plain language (see Sections 4 and 5 for how to write it). |
|
Applies to (task / step) |
The step of the process the rule is for. Leave the sub-step blank to apply it to the whole task. |
|
Tags |
Group related prompts so they can be switched on or off together. |
|
Active |
The on/off switch. If it is off, the prompt is skipped. |
|
Ontology specific |
Must be ON for an ontology prompt. If it is off, the prompt is ignored. This is the #1 reason a prompt “does nothing.” |
4. Examples
Four complete examples, using the Asset AI meter data. The first three show one prompt for each level; the fourth shows a simple field-level disambiguation. Each one shows the need, where to put the prompt, the exact text to type, what to link it to, and what changes for the user.
Example 1 — Time-series totals come back in date order (whole-domain level)
The need: Many questions total a measure over time — by day, month, or year. Without a rule, the AI may return those periods in an arbitrary or value-sorted order, which is hard to read as a trend.
Where to put it: At the ontology level — it applies to any time-series total, across every MSO.
✓ The prompt (type this)
For any question that totals or aggregates a measure over a time field (by day, month, quarter, or year), sort the result in ascending order of that time field, so the earliest period comes first. Apply this to every time-series aggregation, whatever the subject of the question.
Link it to: nothing specific — it is a global rule (the “Include Ontology Prompts” option must be on).
A question it helps with: “Show total bill amount by month for last year.”
What changes: The AI returns the monthly totals oldest-to-newest, so the trend reads from left to right, instead of coming back in an arbitrary order.
Example 2 — What “heat-sensitive” meters means (entity level)
The need: “Heat-sensitive” is not a field. It is a business term that combines three Meter properties.
Where to put it: On the Meter entity (MSO) level — it is centered on Meter and draws on several of its fields.
✓ The prompt (type this)
'Heat-sensitive' meters are Meters that are made of plastic, installed outside, and have been in service for more than three years. When a question mentions heat-sensitive meters, apply all three conditions together.
Link it to: the Meter entity and its material, install-location, and length-of-service fields. Also attach the word “heat sensitive” so the rule only loads when that term appears (see Section 2.4).
A question it helps with: “How many heat-sensitive meters do we have per region?”
What changes: The AI applies all three conditions together and consistently, instead of guessing what “heat-sensitive” means.
Example 3 — What a “good” length of service means for vintage meters (field level)
The need: “Good lifespan” has no fixed value, and the benchmark shifted over time. “Vintage” points to the older, higher standard. A plain synonym cannot capture this — it depends on each meter’s own manufacture era.
Where to put it: On the Meter length-of-service field — it is centered on that field, but interpreted from the question’s context.
✓ The prompt (type this)
What counts as a 'good' length of service depends on when the meter was made. For meters manufactured before 2010, treat five or more years in service as good. For meters made in 2010 or later, treat three or more years as good. Match the benchmark to each meter's manufacture era instead of using one fixed number.
Link it to: the Meter entity and its length-of-service field. You may attach the word “vintage” or “lifespan”, but note that “good” alone is too generic to trigger on reliably.
A question it helps with: “For vintage meters, what was a good lifespan?”
What changes: The AI applies the era-appropriate benchmark for each meter rather than one fixed number, instead of refusing or guessing.
Example 4 — “Meter number” vs the record ID (field level — simple disambiguation)
The need: A meter has two identifiers: the internal record ID, and the equipment number printed on the device. Users almost always mean the printed one. This is a straightforward one-word mapping, not a context-driven rule.
Where to put it: On the Meter equipment-number field — it explains which ID a common word points to.
✓ The prompt (type this)
When a user says 'meter number', 'meter ID', or gives the number printed on the device, they mean the equipment number — not the internal record id.
Link it to: the Meter entity and its equipment-number field.
A question it helps with: “Show me the history for meter number 894312487.”
What changes: The AI matches on the equipment number, so it finds the right meter instead of searching the internal record id and returning nothing.
5. The Common Mistake: SQL Inside a Prompt
The most common mistake is pasting a full SQL query into the instruction text. This works against Easy Answers. A prompt should describe meaning and rules; the AI writes the SQL.
Why full SQL is wrong
-
It only answers one exact question. The AI may reuse it word-for-word for a different question and give a wrong answer.
-
It hard-codes table and column names, so it breaks when the data model, data source, or tenant changes — the very thing MSOs protect you from.
-
It is tied to one database. This solution uses BigQuery, HANA, and SQL Server; one frozen query will not run on all of them.
-
It does not work together with the normal matching, filters, joins, and other prompts — causing clashes and duplication.
-
It cannot be reused, so you end up with many near-identical SQL prompts that are hard to maintain.
-
It can quietly bypass your access and priority controls.
Do this instead
Take a real request and compare the two ways of handling it.
Question: “Which manufacturers’ meters have the most issues?”
✗ Do NOT do this
SELECT m.manufacturer, COUNT(*) AS issues
FROM ut.meter m
JOIN ut.meter_issues mi ON mi.meter_id = m.id
GROUP BY m.manufacturer
ORDER BY issues DESC;
✓ Recommended — describe the rule
A meter 'issue' means a logged problem for that meter. 'Most issues' means the highest number of issues, counted by manufacturer, from most to fewest.
A small piece of SQL is fine when it only clears up a calculation — but never a full query:
✓ Fine — a small hint, not a query
If length of service is missing, estimate meter age as the current year minus the year of manufacture.
6. Checklist Before You Save
-
The rule is at the narrowest level that fits (ontology / entity / field).
-
“Ontology specific” is ON, and “Active” is ON.
-
It is set to apply to the right step of the process.
-
If it should fire only on a certain word, a word is attached.
-
Any related-prompt group is small and on purpose.
-
The instruction has no full SQL query (no FROM / JOIN).
-
The matching “Include … Prompts” option is switched on.
-
You tried a few ways of asking and confirmed the rule works.
Do / Don’t
|
Do |
Don’t |
|---|---|
|
Write definitions and rules in plain words. |
Paste a finished SQL query. |
|
Refer to entities and fields by name (meter model). |
Hard-code database table or column names. |
|
Put each rule at the narrowest level that fits. |
Put everything at the ontology level. |
|
Keep related-prompt groups small. |
Link long chains of prompts. |
|
Turn on “Ontology specific” and the include option. |
Forget them, then wonder why nothing happens. |
Appendix A — How a Prompt Reaches the AI (in Short)
-
Easy Answers reads the question and gathers every prompt that could apply — from the whole ontology, from the entities in the question, from their fields, and from any matching words.
-
It keeps only the prompts that are switched on, marked “ontology specific”, meant for that step, and (for word-linked prompts) whose word actually appears.
-
It adds any related (linked) prompts.
-
It places all of these into the instructions it sends the AI, along with the question.
-
When the AI uses a prompt to decide, Easy Answers records which prompt was used, so an answer can be traced back to the rule behind it.
For a prompt to be used at all, the matching “Include … Prompts” option must be switched on for the ontology’s query mode.
Contact App Orchid | Disclaimer