Ontology-based Applications
Properties
▣ From Ontology Definition to Data Management and Data Use
A process for ontology-based applications with three steps is shown:
- The application ontology is edited using the PIG classes for ontologies. For example the terms (concepts) for library, book and author plus their relationships owned-by and written-by are defined.
- The application data is edited using the classes for application as generated from the application ontology. For example, libraries, books and authors are defined with their relationships.
- The application data is stored in a graph database, a so-called Triple-Store. For example, the users can query the data to list all libraries owning a given book or to list all authors found in a given library. The latter is a graph search which is particularly performant when graph databases are used.
The process is shown using the ArchiMate notation. Business-related elements are yellow and IT-application-related elements are blue. The BPMN notation would show a lane per role Ontologist, Data Steward and User at the top and the business functions shown underneath as process steps within.
All data conforms to the Product Information Graph (PIG) metamodel, either in JSON-LD or Turtle format.
If you like, have a look at the demonstration:
| Step | Libraries (Example ) | Develop your own example |
|---|
| 1 | Open an Editor with loaded classes for building an ontology and some terms. You can add terms of the library domain. | Open an Editor with loaded classes for building an ontology. You can add terms of your application domain. |
| 2 | Inspect the Library Ontology as HTML.<br/>Download the Classes for Libraries (as generated from the Library Ontology) to laod in the editor in the next step. | Export SpecIF Class Definitions (third option) to load in the next step. |
| 3 | Open an Editor with loaded classes for managing libraries and some instances. You can add data according to the library ontology defined above. | Open an Editor ready to load classes for managing application data exported above. You can add data according to your application ontology. |
| 4 | Inspect the Library Data as HTML<br/>Download the Library Data as Turtle to load in the next step. | Export your application data (Turtle) to load in the next step. |
| 5 | Load the library data to your favorite graph database, e.g. Apache Fuseki. | Load your application data to your favorite graph database, e.g. Apache Fuseki. |
Please note: The demonstration uses the SpecIF tools until the CASCaRA tools are available. If you like the approach, support our implementation team validating the CASCaRA standard in preparation!

Properties
| Element Type | Viewpoint |
| Notation | Application Usage |
Statements
Model Elements (Glossary)
Properties
| Element Type | Model Elements (Glossary) |
○ Application Data [JSON-LD]
Classes and instances (individuals) representing the application data. The data structure (pattern) conforms with the CASCARA Metamodel.
Properties
Statements
○ Application Data [RDF]
Classes and instances (individuals) representing the application ontology. The data structure (pattern) conforms with the CASCARA Metamodel, so that standard queries can be used.
Properties
Statements
○ Application Data [Turtle]
Classes and instances (individuals) representing the application data. The data structure (pattern) conforms with the CASCARA Metamodel.
Properties
Statements
○ Application Ontology [JSON-LD]
Classes and instances (individuals) representing the application ontology. The data structure (pattern) conforms with the CASCARA Metamodel.
Properties
Statements
○ Classes for Application [JSON-LD]
A set of classes allowing to manage application data. The data structure (pattern) conforms with the CASCARA Metamodel.
Properties
Statements
○ Classes for Ontology [JSON-LD]
A set of classes allowing to define an ontology. The data structure (pattern) conforms with the CASCARA Metamodel.
Properties
Statements
□ Data Management
Given a software application that manages the assets (inventory) of a library, the data of the books, their authors and the owning libraries is collected and entered.
Properties
| Element Type | ArchiMate:BusinessProcess |
Statements
□ Data Steward
Responsible for defining the application data using the classes of the application ontology. In a different domain the Data Steward may be a Systems Engineer using a dedicated authoring tool.
Properties
| Element Type | ArchiMate:BusinessRole |
Statements
□ Data Use
Given a software application that has a database of books, their authors and owning libraries, a book catalog with search capabilities may be displayed.
Properties
| Element Type | ArchiMate:BusinessProcess |
Statements
□ Edit Application Data
Edit (create and maintain) the application data.
Properties
| Element Type | ArchiMate:BusinessFunction |
Statements
□ Edit Application Ontology
Edit (create and maintain) the application ontology.
Properties
| Element Type | ArchiMate:BusinessFunction |
Statements
□ Ontologist
Responsible for defining the application ontology, i.e. the concepts and terms with their relationships within a given application domain, such as library management in this example or systems engineering in another.
Properties
| Element Type | ArchiMate:BusinessRole |
Statements
□ Ontology Definition
In ontology-driven application development, the first step is to define the entities and their relationships of the application domain, called the application ontology.
For example, the ontology of a simple library asset management system (or inventory management system of a library), would include the entities are book, author plus library and the relationships are written-by plus owned-by, where the former is restricted to book-author relationships and the latter is restricted to book-library relationships.
Properties
| Element Type | ArchiMate:BusinessProcess |
Statements
□ PIG App
A web application for creating, reading, updating and deleting data elements per class. The app is configured by the classes loaded at initialization time. The classes govern the choice and the dialog layout for modifying the data. Thus, the same software is used for more or less complex applications. In this case, the PIG Editor is used both for defining the application ontology and the application data.
Properties
| Element Type | Application Component |
Statements
□ Triple-Store
A standard database for knowledge graphs, e.g. Apache Fuseki.
Properties
| Element Type | Application Component |
Statements
□ Use Application Data
Use (query and check) the application data.
Properties
| Element Type | ArchiMate:BusinessFunction |
Statements
□ User
Responsible for using (querying and even checking) the application data.
Properties
| Element Type | ArchiMate:BusinessRole |
Statements