Table of Contents

Introduction

OWL (Web Ontology Language) is a formal language for representing knowledge in a way that computers can understand and reason with. Think of it as a precise, machine-readable dictionary that defines not just words, but how those words relate to each other in a specific domain.

Overview

OWL is a standard language for creating ontologies that formalize knowledge representation. It extends RDF (Resource Description Framework) and RDFS (RDF Schema) with richer vocabulary for describing classes, properties, and relationships between entities. OWL provides strong support for logical reasoning, enabling computers to infer new knowledge from existing data.

OWL has evolved through several versions: - OWL 1 (2004): First standard version - OWL 2 (2009): Major update with enhanced expressivity and performance - OWL 2 Web Ontology Language Manchester Syntax: A human-readable syntax variant

OWL is particularly valuable in digital engineering for creating interoperable domain ontologies that enable cross-domain analysis and decision-making.

OWL is not just a data format - it’s a logical framework that allows for formal reasoning about domain knowledge. This is crucial for ensuring consistency and enabling automated decision support in complex systems engineering.

Position in Knowledge Hierarchy

Broader concepts: - Ontology (is-a)

Details

OWL provides a formal foundation for representing knowledge with precise semantics. Its core components include:

Component

Description

Classes

Types of things in the domain (e.g., Catapult, Projectile)

Object Properties

Relations between entities (e.g., hasPart, isRelatedTo)

Data Properties

Relations between entities and primitive values (e.g., hasLength, hasWeight)

Annotation Properties

Metadata about the ontology (e.g., definition, documentation)

Individuals

Specific instances of classes (e.g., Catapult_1, Projectile_2)

Restrictions

Logical constraints on classes (e.g., "a Catapult must have exactly one Arm")

OWL builds upon RDF’s basic triple structure (subject-predicate-object) by adding formal semantics that allow for logical inference. For example, if we define:

Catapult subClassOf ProjectileLauncher

A reasoner can infer that any instance of Catapult is also an instance of ProjectileLauncher.

OWL’s logical foundation enables automated consistency checking and inference capabilities that are essential for complex systems engineering applications.

OWL and the Semantic Web Stack

OWL sits at the top of the Semantic Web technology stack, building upon RDF and RDFS:

graph TD A[RDF] --> B[RDF Schema - RDFS] B --> C[Web Ontology Language - OWL] C --> D[SPARQL] D --> E[Reasoners] E --> F[Applications]

OWL’s logical expressivity enables the creation of rich ontologies that can be reasoned over by automated systems. This is critical for the DEFII framework, where ontologies aligned with BFO (Basic Formal Ontology) enable interoperability across engineering domains.

OWL 2 Features

OWL 2 introduced several important enhancements over OWL 1:

Feature

Description

Improved Performance

Faster reasoning and query processing

Enhanced Expressivity

More powerful constructs for complex domain modeling

New Datatypes

Additional data types for precise representation

Profile Support

Support for different reasoning profiles (e.g., OWL 2 EL, QL, RL)

Manchester Syntax

Human-readable syntax for easier ontology authoring

OWL 2’s Manchester Syntax is particularly valuable for engineers, as it provides a more readable format for writing ontologies that’s closer to natural language and programming syntax.

OWL is a powerful language, but its expressivity comes with computational complexity. For large ontologies, careful design is required to balance expressivity with reasoning performance.

Practical applications and examples

OWL in Digital Engineering: Catapult Example

Let’s look at a practical example from the catapult case study in the DEFII framework:

:Catapult a owl:Class ;
    rdfs:subClassOf :ProjectileLauncher ;
    rdfs:label "Catapult" ;
    rdfs:comment "A device for launching projectiles" .

:hasArm a owl:ObjectProperty ;
    rdfs:domain :Catapult ;
    rdfs:range :Arm ;
    rdfs:label "has arm" .

:Arm a owl:Class ;
    rdfs:label "Arm" .

:hasLength a owl:DatatypeProperty ;
    rdfs:domain :Arm ;
    rdfs:range xsd:float ;
    rdfs:label "has length" .

This simple ontology defines the Catapult class and its relationship to the Arm class, along with a data property for arm length. When integrated with a SysML model, this ontology enables automated reasoning about catapult properties.

In practice, OWL ontologies are often developed using Protégé, which provides a graphical interface for creating and editing ontologies using Manchester Syntax.

Using Protégé to Create an OWL Ontology

Here’s how to create a basic OWL ontology using Protégé:

  1. Download and install Protégé from https://protegewiki.stanford.edu/wiki/Main_Page

  2. Launch Protégé and create a new ontology

  3. Define a new class (e.g., Catapult) using the "Classes" tab

  4. Add a subclass relationship to ProjectileLauncher

  5. Define properties (e.g., hasArm) using the "Object Properties" tab

  6. Add restrictions to ensure valid instances (e.g., "hasArm exactly 1")

When creating OWL ontologies for engineering applications, always align with a top-level ontology (like BFO) to ensure coherence and interoperability across domains.

Ontology Alignment with SysML Models

In the IoIF framework, OWL ontologies are aligned with SysML models using stereotypes:

// In SysML, a Catapult block would have a stereotype
block Catapult {
    stereotype "OWL:Catapult"
    // Other SysML elements
}

This alignment allows the SysML model to be interpreted through the lens of the OWL ontology, enabling automated reasoning about system properties and relationships.

When aligning ontologies with modeling tools, ensure consistent naming conventions and terminology to avoid ambiguity and ensure interoperability.

References

OWL in the Semantic Web Stack

Visualize OWL’s position within the Semantic Web technology stack:

graph TD A[Data Sources] --> B[RDF Triples] B --> C[RDF Schema - RDFS] C --> D[Web Ontology Language - OWL] D --> E[SPARQL Queries] E --> F[Reasoners] F --> G[Applications] G --> H[Digital Engineering Frameworks] H --> I[IoIF] I --> J[DEFII] J --> K[Armaments Interoperability and Integration Framework]