Skip to main content
Skip table of contents

Ontology - Federated Data

Intended audience: END-USERS ANALYSTS DEVELOPERS ADMINISTRATORS

AO Platform: 4.3

Overview

This section contains the details for configuring Federated access to Data Sources for the Ontology.

Federated Data Access allows a single data source connection to a federation environment to query one or more underlying data sources and perform join operations between them. This is particularly powerful when the underlying data sources are in different data source types. The AO Platform supports Federated Data access by integrating with Trino. Trino will connect to other data sources and perform the required data federation before supplying the data to the user interface components as needed. All data sources connected to Trino will appear in Trino as Catalogs.

The following diagrams show how a federated connection can retrieve data from multiple MSOs in an Ontology with connection to different data source types.

A simple illustration of how questions in Easy Answers get orchestrated and processed by the Federated Data Server, Trino, in a Federated Data configuration.

Screenshot 2025-07-19 at 11.32.23.png

An example set of MSOs in an AO Platform ontology where each MSO is connected to different data sources, and some MSOs even have properties configured with different data sources.

Screenshot 2025-07-19 at 11.41.27.png

The Federated Data page in the Ontology Composer provides all configuration options for establishing a Federated Data setup for an Ontology. There are five key configuration steps:

  • General - enabling, configuration, and testing of the Federation Server.

  • Cached MSOs - configuration of any high-latency, large data volume MSOs as Cached MSOs.

  • Materialized Views - configuration of advanced federated data queries as persisted Materialized Views.

  • Runtime Views - automatic storing of Runtime Views from federated data queries for faster retrieval during subsequent requests.

  • Data Load Jobs - configuration of scheduled data load/refresh jobs.

General

  • This page includes selecting the Federated Server environment and the Federated Server’s connections to the data sources (Catalogs) to be federated. It also has some additional cost-optimization “guardrails” in place to help the user understand how the server will be handling requests for questions in Easy Answers that may take a long time to execute.

Screenshot 2025-07-19 at 11.53.20.png

Properties

Label

UI Widget

Default

Description

Enable Federation

ON/OFF Toggle

OFF

If enabled, it will allow configuration of the Federation Server and its connections (Catalogs) to connected database data sources.

Federation Server

Dropdown

Select from available Federation server connections (configured in the Admin solution).

Test Connection

Button

Click to test the selected Federation Server connection.

GUARDRAILS

Properties defining Cost Optimizer Scores

  • Min

Number Field (read-only)

0.35

This parameter controls how Easy Answers questions are transformed and executed against a Federation Server, depending on an estimation of the duration for the results to be generated. For estimation scores below the Min value configured, questions will be executed as normal. Questions with an estimation score above the Min value provided but below the Max score will show a message to the user about the query taking a long time to execute. The query will run in the background, and the user will receive a Notification when the Results are ready.

  • Max

Number Field (read-only)

0.67

For estimation scores above the Max value configured, questions will not be executed, and a message will be shown. The user should add one or more Filters to the Question to reduce the data needed to respond to the Question.

CATALOGS

Repeater section

  • Data Source

Text Field (read-only)

OFF

List of active database data sources on the Ontology > Sourcing page.

  • Catalog Name

Text Field

Enter a meaningful name for the database data source used for the Catalog Name.

  • Primary

Radio-button

Not Selected

Select the radio button for the Primary Catalog.

  • Status

Text Field (read-only)

Not Registered

A Status informing the user whether the Catalog has been registered in the Federation Server or not.

  • Register

Button

Register

Buttons allow the user to manually register (or unregister if no longer required) a Catalog in the Federation Server. Note: Any Catalogs configured, but not yet registered, will be registered on Save of the Ontology.

Message to Easy Answers Users if the Guardrails score for a Federated Data Question is between Min and Max

Message to Easy Answers Users if the Guardrails score for a Federated Data Question is above Max

image-20250716-123834.png
image-20250716-121213.png
image-20250716-123732.png

Cached MSOs

This page includes the configuration for one or more Cached MSOs that can be created to persist data retrieved from the federated environment using either Build the Query or Advanced mode. In other words, it’s a way to eliminate long-running processes retrieving data in a federated environment in a live production environment, but instead loading data from one or more MSOs into Cached MSOs that can then be accessed “locally” to the AO Platform. Such Cached MSOs can be refreshed both manually and on schedule.

image-20250704-091131.png

Properties

Label

UI Widget

Default

Description

Cached MSOs

Repeater section

  • +

Icon

Click to create a new Cached MSO.

  • Cached MSO Name

Read-Only Text Field

Displays the name for the configuration of a Cached MSO.

  • Delete

Icon

Click to delete a configured Cached MSO.

Cached MSO Details

  • Preview Data in Cached MSO

Button

Click to display the data from the Cached MSO.

  • Load Data into Cached MSO

Button

Click to run the process that loads data from the original MSO into the Cached MSO.

  • MSO

Text Field w/Search

Enter the Name of the Cached MSO that will be created.

AUDITING

  • Created By

Read-Only Text Field

<empty>

Displays the user name of the user who created the Cached MSO.

  • Created On

Read-Only Timestamp Field

<empty>

Displays the timestamp for when the Cached MSO was created.

  • Modified By

Read-Only Text Field

<empty>

Displays the user name of the user who modified the Cached MSO.

  • Modified On

Read-Only Timestamp Field

<empty>

Displays the timestamp for when the Cached MSO was modified.

STATUS

  • Last Action

Read-Only Text Field

<empty>

Displays the most recent Action performed. Options include: Cached MSO Refreshed, Cached MSO Dropped. The Field will be empty if the Last Action Status is Not Started.

  • Last Action Status

Read-Only Text Field

Not Started

Displays the status from the Cached MSO process. Options include: Not Started (black), In Progress, Completed, Failed.

  • Last Action At

Read-Only Timestamp Field

<empty>

Displays the timestamp for when the Cached MSO was most recently refreshed. The field will be empty if the Last Action Status is Not Started.

  • Last Action By

Read-Only Text Field

<empty>

Displays the user name of the user who started the most recent process. The field will be empty if the Last Action Status is Not Started.

  • Current Row Count

Read-Only Number Field

<empty>

Displays the number of records loaded into the Cached MSO. If Last Action Status resulted in Failed or Not Started, the field will be empty.

Materialized Views

This page includes the configuration for one or more Materialized Views that can be created to persist data retrieved from the federated environment using either Build the Query or Advanced mode. In other words, it’s a way to eliminate long-running processes retrieving data in a federated environment in a live production environment, but instead loading data from a federated data query into a persisted view of the data that can then be accessed “locally” to the AO Platform. Such Materialized Views can be refreshed both manually and on schedule.

Data - using SQL

Data - using Build the Query

image-20250704-092336.png
image-20250704-092450.png

Properties

Label

UI Widget

Default

Description

Materialized Views

Repeater section

  • +

Icon

Click to create a new Materialized View

  • Materialized View Name

Read-Only Text Field

Displays the name for the configuration of a Materialized View.

  • Delete

Icon

Click to delete a configured Materialized View.

View Details

  • Load View

Button

Click to run the process that creates the Materialized View and populates the view with the data extracted from the Federation Server.

  • Drop View

Button

Click to run the process that drops the Materialized View, including data if populated, from the data source.

  • Name

Text Field

Enter the Name of the Materialized View that will be created.

  • Description

Multi-Line Text Field

Enter a short Description of the Materialized View.

AUDIT

  • Created By

Read-Only Text Field

<empty>

Displayss the user name of the user who created the Materialized View.

  • Created On

Read-Only Timestamp Field

<empty>

Displays the timestamp for when the Materialized View was created.

  • Modified By

Read-Only Text Field

<empty>

Displays the user name of the user who modified the Materialized View.

  • Modified On

Read-Only Timestamp Field

<empty>

Displays the timestamp for when the Materialized View was modified.

STATUS

  • Last Action

Read-Only Text Field

<empty>

Displays the most recent Action performed. Options include: View Refreshed, View Dropped. The Field will be empty if the Last Action Status is Not Started.

  • Last Action Status

Read-Only Text Field

Not Started

Displays the status from the Materialized View process. Options include: Not Started (black), In Progress, Completed, Failed.

  • Last Action At

Read-Only Timestamp Field

<empty>

Displays the timestamp for when the Materialized View was most recently refreshed. The field will be empty if the Last Action Status is Not Started.

  • Last Action By

Read-Only Text Field

<empty>

Displays the user name of the user who started the most recent process. The field will be empty if the Last Action Status is Not Started.

  • Number of Rows

Read-Only Number Field

<empty>

Displays the number of records loaded into the Materialized View. If Last Action Status resulted in Failed or Not Started, the field will be empty.

DATA

This section is used to create the Federated Data Query to retrieve data from the Federation Server, and to populate the Materialized View. Use either Build a Query or the Advanced mode to create the query.

  • Build a Query

Radio-button

Default

This option is the interactive way of building a query by selecting an MSO, Properties, and configuring Criteria (optional).

…MSO

Text Field w/Search

Enter the primary MSO for which the Federated Data Query shall be based.

…Property

Dropdown w/Expression and Additional Properties

A Repeater section for entering one or more MSO Properties for which the Federated Data Query shall be based, - including Properties for Connected MSOs.

…Criteria

Text Field w/Query Builder

Opens a Query Builder dialog to allow entering one or more filters to be used as a data filter for the Federated Data Query.

  • Advanced

Radio-button

This is an Advanced option for power users entering a query in the SQL language.

…MSO Query

Multi-Line Text Field

Enter or paste an entire MSO Query SQL into a multi-line text box.

  • Preview Data

Button

Opens a dialog showing the data retrieved from the Federated Data Query.

  • Preview Trino SQL

Button

Opens a dialog showing the Trino-specific SQL used to retrieve data based on the Federated Data Query.

  • Preview MSO Query SQL

Button

Opens a dialog showing the MSO Query SQL used to retrieve data from the Federated Server.

Runtime Views

Runtime Views are automatically created for federated data queries that are considered “long-running” queries, ie, those queries that have a computed “guardrail score” between Min and Max (on the General page). The limit of Runtime Views created will be determined by the property at the top of the Runtime Views page (default: 100). Once a Runtime View has been auto-created, subsequent questions in Easy Answers that makes use of the same MSOs from which the Runtime View was created, will automatically retrieve data from the Runtime View instead, and thereby execute with improved performance.

image-20250704-092702.png

Properties

Label

UI Widget

Default

Description

  • Max Number of runtime Views to be stored

Number Field

100

Enter the number for the maximum number of Runtime Views to be stored.

  • Delete

Button

Click to delete selected Runtime Views.

View Details

  • Checkbox

Checkbox

Unchecked

Check the checkbox to select a Runtime View. Used if multiple Runtime Views are to be deleted.

  • View Name

Read-Only Text Field

Displays the Name of the Runtime View.

  • MSO Query

Read-Only Text Field

Displays the MSO Query for the Runtime View.

  • Status

Read-Only Text Field

Display the Status of the Runtime View.

  • No. of Records

Read-Only Number Field

Displays the number of records stored in the Runtime View.

  • Created By

Read-Only Text Field

Displays the user name of the user who created the Runtime View.

  • Created On

Read-Only Timestamp

Displays the timestamp for when the Runtime View was created.

Data Load Jobs

This page provides status monitoring of any scheduled, longer-running tasks relating to the federated data and materialized view configurations, and it allows scheduled tasks to be created.

Status tab

Scheduled Tasks tab

image-20250704-093542.png
image-20250704-093959.png

History dialog

New Scheduled Task dialog

image-20250204-144028.png
image-20250204-144101.png

Properties

Label

UI Widget

Default

Description

Tab: Status

  • Refresh every 10 secs

ON/OFF toggle

ON

If enabled, the entries on the Status tab will automatically refresh every 10 seconds.

  • Search

Enter a search term to find specific View Names.

  • Refresh

Click to manually refresh all entries on the page to get the latest status.

Table with Status

All read-only

  • Last Run Status

Displays the most recent status of an executed task. There are three types of Status buttons that can appear in this column: COMPLETED RUNNING and FAILED

  • View Name

Displays the name of the materialized view that the task relates to.

  • Description

Displays the short description for the scheduled task.

  • Next Run Time

Displays the timestamp for when the task will be executed next.

  • Last Run Duration

Displays the duration for the most recent execution of the task.

  • Last Run By

Displays the user name of the person who initiated the most recent execution of the task.

  • Last Run Row Count

Displays the amount of records that were loaded into the materialized view from a federated data query.

  • Last Run Time

Displays the timestamp for the most recent execution of the task.

Options menu

Available for each entry in the Status table.

  • Refresh

Select to refresh the specific entry for which the Options menu is selected.

  • View Log

Select to view the log file content in a separate dialog for the specific entry for which the Options menu is selected.

  • History

Select to view the history in a separate dialog for the specific entry for which the Options menu is selected.

Tab: Scheduled Tasks

  • + Add New

Click to open the New Scheduled Task dialog allowing the user to configure a scheduled task for the loading of data into a materialized view.

Table of Scheduled Tasks

All read-only

  • View Name

Displays the name of the materialized view that the task relates to.

  • Description

Displays the short description for the scheduled task.

  • Last Execution

Displays the timestamp for the most recent execution of the task.

  • Next Execution

Displays the timestamp for when the task will be executed next.

  • Recurrence

Displays a short description of the recurrence schedule.

  • Created By

Displays the user name of the person who created the scheduled task.

  • Created At

Displays the timestamp for when the scheduled task was created.

Options menu

  • Run

Select to run the task manually, outside the schedule.

  • History

Select to view the history in a separate dialog for the specific entry for which the Options menu is selected.

  • Enable/Disable

Select to enable/disable a scheduled task.

  • Edit

Select to open the Scheduled Task dialog to edit existing scheduled properties.

  • Delete

Select to delete the scheduled task.

Notifications

Notifications are used to alert users about the progress in creating, loading, and dropping materialized views relative to the Federated Data configurations. They appear as both desktop notifications as well as from the Bell icon in the header of Ontology Composer.

image-20250204-112351.png

Using Ontology Discovery on a Materialized View

Once one or more materialized views have been created from data retrieved from a federated environment, they need to be added to the Ontology in the same way as other data sources are added, ie, using the Discover Ontology wizard. See Discovering an Ontology.

Select the Trino Data Source Type on the Data Source Type page in the wizard, and follow the steps to create MSOs from Materialized Views for Federated Data. The Materialized Views will be in the schema: aodatalake.

image-20250204-113109.png

Limitations and Other Considerations When Using Federated Data Configurations

GEOM data type

  • MSOs representing data source tables that contain spatial data in the GEOM format cannot be cached (as a Cached MSO) or included in Materialized Views. The GEOM data type is not currently supported by the technology that is used by Trino to persist Cached MSOs and Materialized Views. Therefore, such MSOs with GEOM data types should retrieve data directly from their original data source via Trino.

AI Response Table

  • Queries being executed against Federated Data Sources directly will generate output as AI Response Tables in Easy Answers solutions. This is caused by the fact that statistics have not been generated on the data being retrieved from multiple data sources, and therefore, curations, such as charts, maps, and other visualizations, cannot be auto-generated. See AI Response - Table. To avoid the AI Response Tables in response to Federated Data questions, consider using Cached MSOs and Materialized Views.

Supported data sources that can be used with Federated Data configurations

  • Although the Federated Data server technology, Trino, supports a great number of data sources with its plugin connectors, the AO Platform 4.3 release has been tested with the following:

    • Snowflake

    • Google BigQuery

    • SAP HANA

    • PostgreSQL

Which Trino version is supported

  • 4.5.1


Slides…

image-20250718-150343.png
image-20250718-150929.png
image-20250718-151028.png
image-20250718-151514.png
image-20250718-151850.png
image-20250718-153148.png


Contact App Orchid | Disclaimer

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.