The OWL Web Ontology Language enables software engineers to define ontologies of domain knowledge which can be queried and reasoned over by software agents. OWL facilitates greater machine interpretability of content than that supported by XML, RDF, and RDF Schema by providing additional vocabulary along with formal semantics.
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OWL Web Ontology Language Overview
1. OWL Web Ontology
Language Overview
Igor Myroshnichenko, M.S.
myrosh.com/owl-web-ontology-language-overview
2. Introduction
• OWL is a language for defining ontologies of
domain knowledge which can be queried and
reasoned over by software agents.
• OWL facilitates greater machine interpretability of
content than that supported by XML, RDF, and RDF
Schema by providing additional vocabulary along
with formal semantics.
3. Versions and Sublanguages
• OWL has 2 versions: OWL 1 and OWL 2. They both
have several sublanguages/profiles with varying
expressiveness and computational complexity.
• OWL 1 - the original version of the language
introduced in 2004.
• OWL 2 - the current version of the language
introduced in 2009. OWL 2 builds on top of OWL 1
by adding new features. All OWL 1 ontologies are
valid OWL 2 ontologies.
5. Human-readable Notation:
Explanation
• Classes are blue boxes.
• Properties are green double ovals (top oval - type,
lower oval - name). Properties are tied to classes
and values by domain and range connectors.
• Property restrictions are red boxes with
corresponding connectors.
6. Ontologies
• Ontology – a structured representation of a domain
of knowledge. An OWL ontology is made up of
classes, properties, individuals and axioms
describing how they are interrelated.
7. Classes
• Class – a type of individuals that share properties. For example, a
Car class represents all Car individuals. Built-in classes: Thing and
Nothing.
• subClassOf – declares a class to be a subclass of another class.
For example, a Car is subClassOf Vehicle. Therefore, a Car is also
a Vehicle.
• equivalentClass – states that two classes are the same and have
the same individuals. For example, a Car is equivalentClass to
Automobile.
• hasKey (OWL 2 only) – states that each individual of a class is
uniquely identified by a property or a set of properties. For
example, a Car hasKey hasVIN.
8. Individuals
• Individual – an instance/object of a class. For
example, a FordMustang is an individual of the Car
class. Individuals may be interrelated via properties.
• sameAs – states that two individuals are the same.
• differentFrom – states that an individual is different
from other individuals.
• allDifferent – declares a set of individuals to be
mutually distinct.
9. Properties
• ObjectProperty – a relationship between individuals. For
example, a Person hasCar.
• DataProperty – a relationship between an individual and data
values. For example, a Person hasSSN.
• domain – states that a property belongs to a class. For example,
the Person class is the domain of the hasName property.
• range – for ObjectProperties, limits the class of individuals a
property may have as its values. For example, the range of
hasCar is Car. For DataProperties, declares the data type of
possible values. For example, the range of hasName is string.
10. Properties (continued)
• subPropertyOf – declares a property to be a subproperty of
another property. For example, isChildOf is subPropertyOf
isRelativeOf.
• inverseOf – declares a property to be the “mirror image” of
another property. For example, isCarOf is inverseOf hasCar.
• equivalentProperty – states that two properties are the same.
• PropertyChain (OWL 2 only) – declares a chain of properties
to be a named property. For example, a chain of two
hasParent properties can be declared to be the
hasGrandparent property.
11. Property Characteristics
• FunctionalProperty – states that a property has no
more than one value for each individual.
• InverseFunctionalProperty – declares a property to
be inverseOf a FunctionalProperty.
• TransitiveProperty – states that a property is
transitive. For example, if SantaClaraCounty
isRegionOf California and California isRegionOf
UnitedStates, then SantaClaraCounty isRegionOf
UnitedStates.
12. Property Characteristics
(continued)
• SymmetricProperty – declares a property to be
symmetric. For example, if John isFriendOf Ann,
then Ann isFriendOf John.
• ReflexiveProperty (OWL 2 only) – states that a
property relates an individual to itself.
• IrreflexiveProperty (OWL 2 only) – states that a
property cannot relate an individual to itself.
13. Property Restrictions
• allValuesFrom – adds a local restriction on the property’s range. For
example, hasCar allValuesFrom SportCar narrows the range of
hasCar from Car to SportsCar.
• someValuesFrom – adds a local restriction on the property’s range.
For example, hasCar someValuesFrom SportCar updates the range
of hasCar to include SportsCar individuals.
• minCardinality n – states that a property can relate an individual to
at least n other individuals or data values. For example, a Person
must have at least 1 Car.
• maxCardinality n -states that a property can relate an individual to
at most n other individuals or data values. For example, a Person
must have at most 1 SSN value.
14. Property Restrictions
(continued)
• cardinality n – states that a property’s both min and max
cardinality is n.
• minQualifiedCardinality n (OWL 2 only) – extends
minCardinality by restricting the class or data type of at
least n individuals a property can relate an individual to.
• maxQualifiedCardinality n (OWL 2 only) – extends
maxCardinality by restricting the class or data type of at
most n individuals a property can relate an individual to.
19. Thank you!
• Please refer to myrosh.com/owl-web-ontology-
language-overview for more details on OWL Web
Ontology Language, examples, info on OWL tools,
real world use cases, references and more.