19
OWL Web Ontology Language Overview Igor Myroshnichenko, M.S. myrosh.com/owl-web-ontology-language-overview

OWL Web Ontology Language Overview

Embed Size (px)

Citation preview

Page 1: OWL Web Ontology Language Overview

OWL Web Ontology Language Overview

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

Page 2: 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.

Page 3: OWL Web Ontology Language Overview

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.

Page 4: OWL Web Ontology Language Overview

Human-readable Notation

Page 5: OWL Web Ontology Language Overview

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.

Page 6: OWL Web Ontology Language Overview

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.

Page 7: OWL Web Ontology Language Overview

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.

Page 8: OWL Web Ontology Language Overview

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.

Page 9: OWL Web Ontology Language Overview

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.

Page 10: OWL Web Ontology Language Overview

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.

Page 11: OWL Web Ontology Language Overview

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.

Page 12: OWL Web Ontology Language Overview

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.

Page 13: OWL Web Ontology Language Overview

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.

Page 14: OWL Web Ontology Language Overview

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.

Page 15: OWL Web Ontology Language Overview

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>

Page 16: OWL Web Ontology Language Overview

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>

Page 17: OWL Web Ontology Language Overview

Syntaxes: Functional

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

Page 18: OWL Web Ontology Language Overview

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

Page 19: OWL Web Ontology Language Overview

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.