A Scenario is fork of the data in the Ontology created by applying a set of Actions and evaluating a set of Models.
The fork contains only the edits or changes from the base Ontology including modified Object properties, created Objects, deleted Objects, created link types, and deleted link types.
A Scenario is immutable once created. To "modify" a Scenario, create a new Scenario with a modified set of Actions or Models. You can also duplicate a Scenario along with its existing Actions and parameters by selecting the more options ... dropdown menu next to the name of the existing scenario.
A Model in Foundry is a function that estimates object properties given other object properties. This is most commonly used to estimate or forecast unknown values in the Ontology.
You can evaluate your models in a Scenario when your model is managed and deployed via modeling objectives. You can learn more about how to select an objective-backed model to power your Scenario in the configure a model guide.
Additionally, a model in Foundry may also be used to estimate the expected value of a property given a set of Actions.
While it is possible to construct an Action that performs the same function as a model, these are not identical in meaning:
This distinction enables us to apply Actions and track Model results more precisely when making a decision based on a Scenario.
A Domain describes the valid set over which Model can be evaluated.
A Domain is defined in terms of a set of Objects in the Ontology.
In the simplest case, a Domain will be defined as all Objects of a particular object type, but more complex sets can be constructed as well.
When evaluating a Model for Objects in a Domain, the results must be independent. That is, evaluating the Model over a subset of the Domain should yield the same results for those Objects as evaluating over the entire Domain.
Domains are primarily used to determine when and how Models should be evaluated in the context of Object-based applications.
However, they can also be used to improve application performance. For example, if only a subset of the Domain is used in an application, then the Model need only be evaluated over that subset. Since model results over Objects in the Domain must be independent, there is no concern that evaluating over the subset would yield different results.
For performance reasons, there are a few limitations that you should consider when building out your workflow using Scenarios.
.all()
or .allAsync()
methods in a Foundry Function.