OWL Web Ontology Language Overview

Preview:

Citation preview

OWL Web Ontology Language Overview

Igor Myroshnichenko, M.S. myrosh.com/owl-web-ontology-language-overview

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.

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.

Human-readable Notation

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Syntaxes: RDF/XML

<owl:ObjectProperty rdf:about="#hasCar"> <owl:inverseOf rdf:resource="#isCarOf"/> <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/> <rdfs:domain rdf:resource="#Person"/> <rdfs:range rdf:resource="#Car"/> </owl:ObjectProperty>

Syntaxes: OWL/XML<Declaration> <ObjectProperty IRI="#hasCar"/> </Declaration> <InverseObjectProperties> <ObjectProperty IRI="#hasCar"/> <ObjectProperty IRI="#isCarOf"/> </InverseObjectProperties> <InverseFunctionalObjectProperty> <ObjectProperty IRI="#hasCar"/> </InverseFunctionalObjectProperty> <ObjectPropertyDomain> <ObjectProperty IRI="#hasCar"/> <Class IRI="#Person"/> </ObjectPropertyDomain> <ObjectPropertyRange> <ObjectProperty IRI="#hasCar"/> <Class IRI="#Car"/> </ObjectPropertyRange>

Syntaxes: Functional

InverseObjectProperties(:hasCar :isCarOf) InverseFunctionalObjectProperty(:hasCar) ObjectPropertyDomain(:hasCar :Person) ObjectPropertyRange(:hasCar :Car)

Syntaxes: ManchesterObjectProperty: hasCar Characteristics: InverseFunctional Domain: Person Range: Car InverseOf: isCarOf

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.

Recommended