A Gentle Introduction To The FIBO Ontology
The goal of the “Diagrammer Series” is to explain the evolving systems landscape and its associated concepts in the context of Decentralized Finance (DeFi) in a visualized way using (UML) diagramming techniques.
Photo by Todd Quackenbush on Unsplash
As stated in a previous article, the semantic anchor for our conceptual model is the Financial Industry Business Ontology (FIBO) model. The current FIBO model is massive, and large-scale ontologies may be hard to understand for a beginner with a steep learning curve.
Therefore, in the Diagrammer series, I will introduce just the necessary concepts over time — complemented with enough background information — which helps you to build up FIBO know how incrementally. Honestly, I’m a FIBO novice as well (with a deep UML modeling background) and use the series to get all the necessary know-how built up by myself as well.
Fortunately, Jurgen Ziemer ( Jayzed Data Models Inc. ) developed the FIB-DM model, which closes the bridge between the FIBO ontology world and the conventional data management world.
There is a chasm between semantic and conventional data management. FIBO is specified in Ontology Web Language (OWL), a powerful semantic language that fully encompasses the Entity-Relationship meta-model. However, that is a barrier for Data Architects and Financial Institutions, because OWL has a gradual learning curve and Ontologists with Finance domain experience are rare. 
Jayzed Data Models developed a Configurable Ontology to Data Model Transformer (CODT), which generates a SPARX Enterprise Architecture based UML model of the FIBO ontology. The so-called Financial Business Data Model (FIB-DM) which serves as our Enterprise Reference Model during modeling.
You can get the open-source FIB-DM model for a UML- or Data Modeling Tool via the Download Page. Various modeler tools are supported, we use the Sparx Enterprise Architect modeler, which can import the XML Metadata Interchange (XMI) format of the model.
FIB-DM itself is quite enormous, with over 1800 entities (classes). Therefore there is a Conceptual Model (FIB-CM) embedded, which consists of 15 Fundamental Concepts to support high-level Business Analysis.
These Fundamental Concepts help during the high-level analysis and are the overarching super-types of the FIB-DM (as well as can be mapped onto the FIBO-Ontology).
The below diagram visualizes the 15 fundamental concepts ( TimeInstant and TimeInterval are grouped to the concept Time ). Any of the fundamental concepts are entities that do not subtype of any other entity. 70% of the FIB-DM entities are a subtype of these 15 concepts.
Let’s do an initial model exercise, which helps for a better understanding of how the various parts are inter-connected.
Conceptual Model For Assets
To define the concept Asset, we require two out of the fifteen fundamental concepts:
They may be abstract at the moment, so let’s start from bottom up.
By using the FIB-DM Entities and Association Excel (downloaded here ), we search for existing Concept Entities which are relevant for our Asset Concept Model. We identify three Entities
- Asset: “Something of monetary value that is owned or provides benefit to some party.”
- Owner: “A party in the ownership role, one that owns something. The thing owned is an Asset to that Party.”
- Person: “A person; any member of the species homo sapiens.”
We don’t search for potential existing Associations (in spite of the exercise) between the concepts but establish an own concept diagram with the identified classes.
So the diagram expresses the following concepts:
- An Asset is owned by one (1) or multiple (*) Owners. Each Owner has an Identity to a Person.
That the owner of an Asset must be a Person (species of Homo Sapiens) is too specific and not accurate. The Owner of an Asset may be a company (legal entity), an association, or potentially an autonomous thing living on a blockchain network.
Autonomous Agent Super Type
So we have to check for a generalized concept, which may cover all the possible Identity types, which brings us to one of the 15 supertypes of FIB-CM :
- The Autonomous Agent: An agent is an autonomous individual that can adapt to and interact with its environment.
We readjust our diagram and move the Association end from Person to Autonomous Agent. With this change, we express that an Asset is owned by an “Autonomous Agent,” which may be the right level of abstraction. To counter-check, we identify all child classes of the Autonomous Agent.
Beside the Person sub-class, the following concepts are available in FIBO
- Legal Person: any entity which can incur legal obligation and can be sued at law
- Organization: a unique framework of authority within which a person or persons act, or are designated to act, towards some purpose, such as to meet a need or pursue collective goals continuingly
- Automated System: a system that reduces or eliminates the need for human involvement to complete a task
So the available four concepts are covering any kind for identities for an Asset Ownership.
- Especially the AutomatedSystem may be the supertype of any kind of (distributed) autonomous organization which lives on a blockchain network and may own asset and fully controlled by code.
Having identified the supertype of a Person, let’s check out the supertype of the Asset class. Within Enterprise Architect, we check for related classes in the Asset properties window. As one can see the Asset class has three Generalization relationships
- Financial Asset and Collateral which are obviously child classes of Assets, i.e., they are more specialized, as well as the
- ThingInRole class, which looks like a higher level abstractional concept. If you countercheck the Fundamental Concept earlier in the article, your assumption gets confirmed. ThingInRole is one of the 15 fundamental concepts.
So our enhanced concept diagram looks as follows
ThingInRole Super Type
The “Thing a Role” concept is described as
a thing-in-role is a relative concept that ties some thing to a role it plays in a given situational context
Perhaps a little bit abstract, but you must understand it. The “situational context” is a very important topic. It means a “Thing” may be seen differently depending on the role it plays in a dedicated situation.
The concept Asset only makes sense in the situational context of Ownership, i.e., an Asset doesn’t exist when there is no ownership.
Now the tricky question what on our wold has no ownership and may be not an Asset per se? Well, the atmosphere of our world or the international waters have no ownership defined, be it for an enterprise or country point of view. So it’s not seen as an asset as by our definition.
International waters (high seas) do not belong to any State’s jurisdiction, known under the doctrine of ‘Mare liberum.’ States have the right to fishing, navigation, overflight, laying cables and pipelines, as well as scientific research. 
Photo by Anastasia Palagutina on Unsplash
So as long Fishes are swimming freely in the international waters, they are just a pure Thing , but as soon as they get caught by a fisher, they get a “ Thing In the Role “ of Ownership (situational context) and are seen as an Asset owned by the fishermen.
You can think of any situational context for the very same thing. I.e., in the situational context of human food supply, the fish is a “Thing In the Role” of a “Grocery.” For the Fishmonger selling the fish, it’s an asset with value. Both are talking about the same thing, “the fish,” but the meaning of the “fish” is different.
By outlining a situational context in a concept diagram, you make the meaning explicit; it requires from the diagram reader to accept and understand the contextual border of the diagram and not starting to intermingle another context of the thing when trying to interpret the diagram. Keeping the focus is key when reading and interpreting complex diagrams.
To finalize the story, let’s think about the supertype of the Owner then. Well, quite easy if you have grasped the idea. Owner is a role of an AutonomousAgent. In the situational context of an Asset, it expresses for the Thing AutonomousAgent the Role Owner. Again if the Asset doesn’t exist, there is no Owner concept (a so-called relative concept).
Our enhanced diagram confirms our observation. The Owner is sub-type of ThingInRole.
As one can see, the FIBO also introduces two sub-types for ThingInRole
- AgentInRole: is a relative concept that ties an autonomous agent to a role they are playing in a given situational context.
- PartyInRole: is a relative concept that ties an independent party to a specific role they are standing in which they play some part, i.e., are “party to”
and Owner is a direct subtype of PartyInRole.
Let’s conclude today’s article by revisiting the conceptual model for actors introduced in the last article.
Conceptual Model For Actors (Revisited)
We were modeling the role of a Person, i.e., Alice in the role of Buyer as a generalization
After today’s session, we adapt it to align it with the FIBO ontology.
- Alice, Bob, and Charlie are “Autonomous Agents” of sub-type “Person.”
- Alice (Borrower), Alice (Buyer), etc. are “Thing In Role” concepts of sub-type “Party In Role”
Out updated model looks like the following:
That’s it for today in our next session, we define fundamental concepts around the public blockchain topic and connect with the Asset concept.
Originally published at https://dev.cloudburo.net.