Ontology-based Applications

Ontology-based Applications

Properties

Element TypeOutline

Model Diagrams

Properties

Element TypeModel Diagrams, Diagrams, Plans

▣  Application Usage

A process for ontology-based applications is shown:

  1. 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.
  2. 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.
  3. 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:

StepLibraries (Example )Develop your own example
1Editor with loaded classes for building an ontology and some terms. You can add terms of the library domain.Editor with loaded classes for building an ontology. You can add terms of your application domain.
2Library Ontology as HTML
Resulting Classes for Libraries to laod in the editor.
Export SpecIF Class Definitions (third option) to load in the next step.
3Editor with loaded classes for managing application data and some instances. You can add data according to the library ontology defined above.Editor ready to load classes for managing application data exported above. You can add data according to your application ontology.
4Library Data as HTML
Resulting Library Data to load in the next step.
Export PIG (Turtle) to load in the next step.
5Load to your favorite graph database, e.g. Apache FusekiLoad to your favorite graph database, e.g. Apache Fuseki

Please note: The demonstration uses the SpecIF tools until the PIG tools are available. If you like the approach, support our implementation team validating the CASCaDE standard in preparation!

Application Usage.png

Properties

Element TypeModel Diagram
NotationApplication Usage

Statements

▣  Application Usageshows□  PIG Editor
○  Classes for Ontology [JSON-LD]
○  Classes for Application [JSON-LD]
○  Application Ontology [JSON-LD]
○  Application Data [JSON-LD]
○  Application Data [Turtle]
□  Triple-Store
○  Application Data [RDF]
□  Ontologist
□  Edit Application Ontology
□  Edit Application Data
□  Data Steward
□  Use Application Data
□  User

Business

Properties

Element TypeHeading

□  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 TypeArchiMate:BusinessRole

Statements

▣  Application Usage
shows□  Ontologist
□  Ontologistis assigned to□  Edit Application Ontology

□  Edit Application Ontology

Edit (create and maintain) the application ontology.

Properties

Element TypeArchiMate:BusinessFunction

Statements

▣  Application Usage
shows□  Edit Application Ontology
□  PIG Editor
serves□  Edit Application Ontology
□  Ontologist
is assigned to□  Edit Application Ontology
□  Edit Application OntologyArchiMate:Flow□  Edit Application Data

□  Edit Application Data

Edit (create and maintain) the application data.

Properties

Element TypeArchiMate:BusinessFunction

Statements

▣  Application Usage
shows□  Edit Application Data
□  PIG Editor
serves□  Edit Application Data
□  Data Steward
is assigned to□  Edit Application Data
□  Edit Application Ontology
ArchiMate:Flow□  Edit Application Data
□  Edit Application DataArchiMate:Flow□  Use Application Data

□  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 TypeArchiMate:BusinessRole

Statements

▣  Application Usage
shows□  Data Steward
□  Data Stewardis assigned to□  Edit Application Data

□  Use Application Data

Use (query and check) the application data.

Properties

Element TypeArchiMate:BusinessFunction

Statements

▣  Application Usage
shows□  Use Application Data
□  Triple-Store
serves□  Use Application Data
□  User
is assigned to□  Use Application Data
□  Edit Application Data
ArchiMate:Flow□  Use Application Data

□  User

Responsible for using (querying and even checking) the application data.

Properties

Element TypeArchiMate:BusinessRole

Statements

▣  Application Usage
shows□  User
□  Useris assigned to□  Use Application Data

Application

Properties

Element TypeHeading

□  PIG Editor

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 TypeApplication Component

Statements

▣  Application Usage
shows□  PIG Editor
□  PIG Editoraccesses, stores○  Classes for Ontology [JSON-LD]
○  Classes for Application [JSON-LD]
○  Classes for Application [JSON-LD]
○  Application Ontology [JSON-LD]
○  Application Data [JSON-LD]
○  Application Data [Turtle]
□  PIG Editorserves□  Edit Application Ontology
□  Edit Application Data

○  Classes for Ontology [JSON-LD]

A set of classes allowing to define an ontology. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Classes for Ontology [JSON-LD]
□  PIG Editor
accesses, stores○  Classes for Ontology [JSON-LD]

○  Classes for Application [JSON-LD]

A set of classes allowing to manage application data. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Classes for Application [JSON-LD]
□  PIG Editor
□  PIG Editor
accesses, stores○  Classes for Application [JSON-LD]

○  Application Ontology [JSON-LD]

Classes and instances (individuals) representing the application ontology. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Ontology [JSON-LD]
□  PIG Editor
accesses, stores○  Application Ontology [JSON-LD]

○  Application Data [JSON-LD]

Classes and instances (individuals) representing the application data. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Data [JSON-LD]
□  PIG Editor
accesses, stores○  Application Data [JSON-LD]

○  Application Data [Turtle]

Classes and instances (individuals) representing the application data. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Data [Turtle]
□  PIG Editor
□  Triple-Store
accesses, stores○  Application Data [Turtle]

□  Triple-Store

A standard database for knowledge graphs, e.g. Apache Fuseki.

Properties

Element TypeApplication Component

Statements

▣  Application Usage
shows□  Triple-Store
□  Triple-Storeaccesses, stores○  Application Data [Turtle]
○  Application Data [RDF]
□  Triple-Storeserves□  Use Application Data

○  Application Data [RDF]

Classes and instances (individuals) representing the application ontology. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel, so that standard queries can be used.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Data [RDF]
□  Triple-Store
accesses, stores○  Application Data [RDF]

Model Elements (Glossary)

Properties

Element TypeModel Elements (Glossary)

○  Application Data [JSON-LD]

Classes and instances (individuals) representing the application data. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Data [JSON-LD]
□  PIG Editor
accesses, stores○  Application Data [JSON-LD]

○  Application Data [RDF]

Classes and instances (individuals) representing the application ontology. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel, so that standard queries can be used.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Data [RDF]
□  Triple-Store
accesses, stores○  Application Data [RDF]

○  Application Data [Turtle]

Classes and instances (individuals) representing the application data. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Data [Turtle]
□  PIG Editor
□  Triple-Store
accesses, stores○  Application Data [Turtle]

○  Application Ontology [JSON-LD]

Classes and instances (individuals) representing the application ontology. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Application Ontology [JSON-LD]
□  PIG Editor
accesses, stores○  Application Ontology [JSON-LD]

○  Classes for Application [JSON-LD]

A set of classes allowing to manage application data. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Classes for Application [JSON-LD]
□  PIG Editor
□  PIG Editor
accesses, stores○  Classes for Application [JSON-LD]

○  Classes for Ontology [JSON-LD]

A set of classes allowing to define an ontology. The data structure (pattern) conforms with the Product Information Graph (PIG) metamodel.

Properties

Element TypeData Object

Statements

▣  Application Usage
shows○  Classes for Ontology [JSON-LD]
□  PIG Editor
accesses, stores○  Classes for Ontology [JSON-LD]

□  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 TypeArchiMate:BusinessRole

Statements

▣  Application Usage
shows□  Data Steward
□  Data Stewardis assigned to□  Edit Application Data

□  Edit Application Data

Edit (create and maintain) the application data.

Properties

Element TypeArchiMate:BusinessFunction

Statements

▣  Application Usage
shows□  Edit Application Data
□  PIG Editor
serves□  Edit Application Data
□  Data Steward
is assigned to□  Edit Application Data
□  Edit Application Ontology
ArchiMate:Flow□  Edit Application Data
□  Edit Application DataArchiMate:Flow□  Use Application Data

□  Edit Application Ontology

Edit (create and maintain) the application ontology.

Properties

Element TypeArchiMate:BusinessFunction

Statements

▣  Application Usage
shows□  Edit Application Ontology
□  PIG Editor
serves□  Edit Application Ontology
□  Ontologist
is assigned to□  Edit Application Ontology
□  Edit Application OntologyArchiMate:Flow□  Edit Application Data

□  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 TypeArchiMate:BusinessRole

Statements

▣  Application Usage
shows□  Ontologist
□  Ontologistis assigned to□  Edit Application Ontology

□  PIG Editor

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 TypeApplication Component

Statements

▣  Application Usage
shows□  PIG Editor
□  PIG Editoraccesses, stores○  Classes for Ontology [JSON-LD]
○  Classes for Application [JSON-LD]
○  Classes for Application [JSON-LD]
○  Application Ontology [JSON-LD]
○  Application Data [JSON-LD]
○  Application Data [Turtle]
□  PIG Editorserves□  Edit Application Ontology
□  Edit Application Data

□  Triple-Store

A standard database for knowledge graphs, e.g. Apache Fuseki.

Properties

Element TypeApplication Component

Statements

▣  Application Usage
shows□  Triple-Store
□  Triple-Storeaccesses, stores○  Application Data [Turtle]
○  Application Data [RDF]
□  Triple-Storeserves□  Use Application Data

□  Use Application Data

Use (query and check) the application data.

Properties

Element TypeArchiMate:BusinessFunction

Statements

▣  Application Usage
shows□  Use Application Data
□  Triple-Store
serves□  Use Application Data
□  User
is assigned to□  Use Application Data
□  Edit Application Data
ArchiMate:Flow□  Use Application Data

□  User

Responsible for using (querying and even checking) the application data.

Properties

Element TypeArchiMate:BusinessRole

Statements

▣  Application Usage
shows□  User
□  Useris assigned to□  Use Application Data