Introduction

Ontologies is a special kind of an asset collection type in TopBraid EDG. Ontologies and ontology modeling are key to EDG since ontologies define schemas for all other types of collections. EDG is optimized for working with ontologies that are defined using SHACL, the World Wide Web Consortium’s (W3C) standard for defining graph data models. W3C is the same organization that is responsible for defining standards for XML, HTML, CSS and other web technologies. To learn more see SHACL and What is SHACL.

TopBraid EDG also supports RDFS and OWL which are the earlier generation of modeling languages defined by the W3C. You can load into EDG any standard ontology. Using features on the Transform tab for ontologies, you can then auto-generate SHACL model definitions from RDFS/OWL. Similarly, if you need RDFS/OWL for use with another tool, you can generate it from the ontology in SHACL – using options on the Export tab.

Ontologies contain classes (asset types) and associated properties – attributes and relationships.

A class in an ontology is a set of individuals that are members of the class. For example, a class Country is a set of all resources that have Country as their type.

When a class is created in EDG it is automatically declared to be a node shapes. Node shapes define schema for class members – assets of a given type. Properties of assets (resources) are declared using property shapes. Within a property shape, you can define so-called constraints on property values e.g., number of values, their type and more. If you have learned object oriented modeling in the past, you will find these concepts familiar.

For example:

  • When you define a class Country you may say (in the ontology describing it) that a Country borders with other Countries.

  • Then, if you create an asset (resource) of type Country (e.g., the United States), you will see on the form for United States a field to enter borders with value. You will be able to pick another Country (e.g., Canada) as a value for this property.

  • You may also say that a Country has date established property and the value is a date.

  • Then, on the form for United States (or any other country) you will see a field for date established and will be able to enter a date. You will not be picking another resource as the value. You will be entering a literal as the value.

Customizing Ontologies Provided with EDG

Majority of TopBraid EDG’s asset collection are based on pre-specified ontologies shipped with TopBraid EDG.

These pre-specified ontologies are located in EDG workspace as files:

  • Taxonomies in EDG are based on SKOS or SKOS-XL.

  • Data assets, enterprise assets, technical assets, requirements, glossaries, enumerations, lineage models and the governance model are based “EDG ontologies”. Their names start with “EDG Shapes”, followed by the asset collection type. For example, “EDG Shapes – Data Assets”.

  • Corpora are based on a model called “TopBraid Simple Corpus and Document Schema”.

The exception to this rule are:

  • Reference datasets and data graphs – these are based on the user defined ontologies

  • Crosswalks and content tagsets – these asset collections contain only links between other collections

  • Ontologies themselves – as described here, they are primarily based on SHACL

The process for customizing pre-built models is described below:

  • Create an ontology in EDG

  • Include in it an EDG provided model corresponding to the asset collection type you want to change

  • Make changes to your ontology:

    • You can freely add classes, node shapes, properties and property shapes

    • You should not delete properties or property shapes. In fact, since they are included by reference, you will not be able to do so. Instead, de-activate a shape for a property you need to remove by setting deactivated to true

    • You should not (and will not be able to) remove subclass relationship between pre-built classes. Instead, you can add new sub class relationships in the ontology and then change the Root Class for specific asset collections (using its Manage tab)

  • Include your customized ontology into an asset collection you want to have the modifications. If you changes should apply to all collection of a given type, EDG Administrators can define it as a default include for the type. This option is available under the EDG Configuration Parameters page.

If different groups in your organizations need to have different customizations, each should follow the process outlined above to address their specific customizations needs. EDG Business Glossaries guide provides an example of using this approach to customize a glossary.

If your organization decides that you need to physically remove anything in the pre-built ontologies, such changes can only be made directly to the underlying files. Should you decide to do this, the changes you make will need to be backed up and, possibly, reconciled with changes to the EDG models in the future releases.

Classes vs. Instances

TopBraid EDG implements the recommend practice that instance data should be separated from their class definitions, which are included via one or more ontologies. Ontologies define classes, properties, and shapes (SHACL constraints) and other asset collection types (e.g., taxonomy, etc.) contain only instances.

If any non-ontology collection needs special classes (e.g., subclasses of skos:Concept in a taxonomy), then these should be defined in an ontology that gets included in the collections that need them. Inclusion is done on creation of an asset collection and, subsequently, additional ontologies can be included using Settings>Includes. Internally, inclusions are recorded using owl:imports statements.

To support special cases such as small enumerated values, the ontology editor still supports instances in a limited manner. By default, only label and comment can be defined for these instances. A warning is shown when creating a new instance in the Instances Panel of the editor:

Ontologies should only contain shape-related assets but not instances. You may proceed creating small numbers of simple instances, for example to represent enumerated values. However, all fields of those instances except labels and comments will be marked as read-only. You are strongly encouraged to store instance data in non-Ontology asset collections such as Data Graphs.

Users with manager privileges can activatethe Allow Editing Instances option on the Manage tab. With this option activated, users will be able to edit all fields of all instances. Turning on this option may significantly slow down the system after each edit.

Warning

The SHACL shape definitions from Ontologies will typically only take effect when they are stored in the production copy of the Ontology, not from workflows. For example, the Problems and Suggestions panel will not use constraints that only exist in the workflow but not in the production copy yet.