OWL 2 Overview
-
Upload
emiliano-reynares -
Category
Technology
-
view
119 -
download
2
Transcript of OWL 2 Overview
Dr. Reynares, [email protected]
OWL 2
Overview
“OWL 2 is designed to facilitate ontology development and sharing via the Web, with the ultimate goal of making Web content more accessible to machines”
• “It’s an ontology language for the Semantic Web […]
• “[…] which provides classes, properties, individuals, and data values […]”
• “Ontologies are stored as Semantic Web documents”
Relationship to OWL 1
• OWL 2 has a very similar overall structure to OWL 1
• All OWL 1 Ontologies remain valid OWL 2 Ontologies, with identical inferences in all practical cases
• New features are syntactic sugar and offer new expressivity, including:
keys, property chains, richer datatypes, data ranges, qualified cardinality, restrictions,asymmetric, reflexive, and disjoint properties, and enhanced annotation capabilities
OWL 2
Open-World Semantics
OWL family use the open world assumptionIf a statement cannot be proven to be true with current knowledge, we cannot
draw the conclusion that the statement is false
“[The closed] world assumption implies that everything we don’t know is false, while the open world assumption states that everything we don’t
know is undefined.”Stefano Mazzocchi, Closed World vs. Open World: the First Semantic Web Battle
OWL 2
Structural Specification
• It describes the conceptual structure of OWL 2 ontologies
• It’s independent of any concrete exchange syntax
An ontology is a formal description of a domain of interest, consisting of 3 syntactic categories:
1. EntitiesThey form the primitive terms of an ontology and constitute its basic elements Such as classes, properties, and individuals, are identified by IRIs
2. ExpressionsRepresenting complex notions in the domain being described
3. AxiomsStatements that are asserted to be true in the domain being described
OWL 2
Structural Specification
The 3 syntactic categories are used to express the logical part of OWL 2 ontologiesI.e., they are interpreted under a precisely defined semantics that allows useful inferences
Annotations
• Entities, Axioms, and Ontologies can be annotated
• They have no effect on the logical aspects of an ontology
• The use of annotations is left to the applications that use OWL 2E.g., a graphical user interface might choose to visualize a class using one of its labels
Modularization
• OWL 2 provides basic support for ontology modularization
• An OWL 2 ontology O can import another OWL 2 ontology O’This allow to gain access to all entities, expressions, and axioms in O'
OWL 2
IRIs
• Ontologies and entities are identified by Internationalized Resource Identifiers (IRIs) • Each IRI must be absolute, not relative• If an ontology has an ontology IRI, it may additionally have a version IRI • The version IRI may be equal to the ontology IRI • An ontology without an ontology IRI must not contain a version IRI
Prefix name Prefix IRI
rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
rdfs: <http://www.w3.org/2000/01/rdf-schema#>
xsd: <http://www.w3.org/2001/XMLSchema#>
owl: <http://www.w3.org/2002/07/owl#>
xsd:short owl:deprecated xsd:maxLength
owl:rational owl:real owl:versionInfo
owl:Nothing rdf:langRange rdf:PlainLiteral
rdfs:isDefinedBy rdfs:label rdfs:Literal
Table 2. Reserved vocabulary
Table 1. Reserved IRIs
OWL 2
Entities
They are the fundamental building blocks of OWL 2 ontologies, and they define its vocabularyEach entity must be declared, which says that:• The entity exists, i.e., it is part of the vocabulary of the ontology• The entity is associated with an entity type, i.e., the entity is used in the ontology as a class, datatype, object property, data property, annotation property, datatype, named individual, or a combination thereof
OWL 2
Entities – Classes
They can be understood as sets of individuals
• owl:Thing (built-in) represents the set of all individuals (DL top concept)
• owl:Nothing (built-in) represents the empty set (DL bottom concept)
OWL 2
Entities – Datatypes
They refer to sets of data values. They are analogous to classes, the main difference being that the former contain data values such as strings and numbers, rather than individual
• OWL 2 ontologies can refer to data values such as strings or integers• Each kind of such values is called a datatype• Each datatype is identified by an IRI
Strings
xsd:string
xsd:normalizedString
xsd:token
xsd:language
xsd:Name
xsd:NCName
xsd:NMTOKEN
Boolean & Binary
xsd:boolean
xsd:hexBinary
xsd:base64Binary
IRI
xsd:anyURI
Time Instants
xsd:dateTime
xsd:dateTimeStamp
XML Literal
rdf:XMLLiteral
OWL 2
Entities - Datatypes
Real, Decimal, Integer and Floating-Point numbers
owl:real xsd:long
owl:rational xsd:int
xsd:decimal xsd:short
xsd:integer xsd:byte
xsd:nonNegativeInteger xsd:unsignedLong
xsd:nonPositiveInteger xsd:unsignedInt
xsd:positiveInteger xsd:unsignedShort
xsd:negativeInteger xsd:unsignedByte
OWL 2
Data Ranges
It can be used in restrictions on data properties
• The simplest data ranges are datatypes
• DataIntersectionOf( DR1 ... DRn ) contains all tuples of literals that are contained in eachdata range DRi for 1 ≤ i ≤ n
• DataUnionOf( DR1 ... DRn ) contains all tuples of literals that are contained in the at least one data range DRi for 1 ≤ i ≤ n
• DataComplementOf( DR ) contains all tuples of literals that are not contained in the data range DR
• DataOneOf( lt1 ... ltn ) data range consists of exactly the specified set of literals
• DatatypeRestriction( DT F1 lt1 ... Fn ltn ) data range restricts the value space of a datatypeby a constrain. It consists of a unary datatype DT and n pairs ( Fi , lti ). The resulting data range is unary and is obtained by restricting the value space of DT according to the semantics of all ( Fi , vi ) (multiple pairs are interpreted conjunctively), where vi are the data values of the literals lti.
OWL 2
Datatypes definitions
DatatypeDefinition( DT DR ) defines a new datatype DT as being semantically equivalent to the data range DR
• It allows one to use the defined datatype DT as a synonym for DR, i.e., in any expression in the ontology containing such an axiom DT can be replaced with DR without affecting the meaning of the ontology
OWL 2
Entities – ObjectProperty
They connects pair of individuals
The object properties with the IRIs owl:topObjectProperty and owl:bottomObjectPropertyare available as built-in object properties:
• owl:topObjectProperty connects all possible pairs of individuals
• owl:bottomObjectProperty does not connect any pair of individuals
OWL 2
Entities – DataProperty
They connect individuals with literals. In some knowledge representation systems, functional data properties are called attributes
The data properties with the IRIs owl:topDataProperty and owl:bottomDataProperty are available as built-in data properties:
• owl:topDataProperty connects all possible individuals with all literals
• owl:bottomDataProperty does not connect any individual with a literal
OWL 2
Entities – Individuals
They represent actual objects from the domain
Two types:
• Named individuals are given an explicit name that can be used in any ontology to refer it
• Anonymous individuals do not have a global name and are thus local to its ontology, they are identified by a local node ID rather than a global IR
OWL 2
Entities – Literal
They represent data values such as particular strings or integers
• Each literal consists of a lexical form (string) and a datatype (IRI)
• A literal consisting of a lexical form "abc" and a datatype identified by the IRI datatypeIRI is written as "abc"^^datatypeIRI
OWL 2
Entities – ObjectProperty Expression
Object properties are the simplest form of object property expressions, and inverse object properties allow for bidirectional navigation in class expressions and axioms
• An inverse object property expression ObjectInverseOf( P ) connects an individual I1 with I2 if and only if the object property P connects I2 with I1
OWL 2
Expressions - Class Expressions
They represent sets of individuals by formally specifying conditions on the individuals' properties; individuals satisfying these conditions are said to be instances of the respective class expressions
ClassExpression :=
Class |
ObjectIntersectionOf | ObjectUnionOf | ObjectComplementOf | ObjectOneOf |
ObjectSomeValuesFrom | ObjectAllValuesFrom | ObjectHasValue | ObjectHasSelf |
ObjectMinCardinality | ObjectMaxCardinality | ObjectExactCardinality |
DataSomeValuesFrom | DataAllValuesFrom | DataHasValue |
DataMinCardinality | DataMaxCardinality | DataExactCardinality
OWL 2
Expressions – Class Expressions
• ObjectIntersectionOf( CE1 ... CEn ) contains all individuals that are instances of all class expressions CEi for 1 ≤ i ≤ n
• ObjectUnionOf( CE1 ... CEn ) contains all individuals that are instances of at least one class expression CEi for 1 ≤ i ≤ n
• ObjectComplementOf( CE ) contains all individuals that are not instances of the class expression CE
• ObjectOneOf( a1 ... an ) contains exactly the individuals ai with 1 ≤ i ≤ n
OWL 2
Expressions – Class Expressions
• ObjectSomeValuesFrom( OPE CE ) consists of an object property expression OPE and a class expression CE, and it contains all those individuals that are connected by OPE to an individual that is an instance of CE. Such a class expression can be seen as a syntactic shortcut for the class expression ObjectMinCardinality( 1 OPE CE )
• ObjectAllValuesFrom( OPE CE ) consists of an object property expression OPE and a class expression CE, and it contains all those individuals that are connected by OPE only to individuals that are instances of CE. Such a class expression can be seen as a syntactic shortcut for the class expression ObjectMaxCardinality( 0 OPE ObjectComplementOf( CE ) )
OWL 2
Expressions – Class Expressions
• ObjectHasValue( OPE a ) consists of an object property expression OPE and an individual a, and it contains all those individuals that are connected by OPE to a. Such class expression can be seen as a syntactic shortcut for the class expression ObjectSomeValuesFrom( OPE ObjectOneOf( a ) )
• ObjectHasSelf( OPE ) consists of an object property expression OPE, and it contains all those individuals that are connected by OPE to themselves
OWL 2
Expressions – Class Expressions
• ObjectMinCardinality( n OPE CE ) consists of a nonnegative integer n, an object property expression OPE, and a class expression CE, and it contains all those individuals that are connected by OPE to at least n different individuals that are instances of CE. If CE is missing, it is taken to be owl:Thing
• ObjectMaxCardinality( n OPE CE ) consists of a nonnegative integer n, an object property expression OPE, and a class expression CE, and it contains all those individuals that are connected by OPE to at most n different individuals that are instances of CE. If CE is missing, it is taken to be owl:Thing
• ObjectExactCardinality( n OPE CE ) consists of a nonnegative integer n, an object property expression OPE, and a class expression CE, and it contains all those individuals that are connected by OPE to exactly n different individuals that are instances of CE. If CE is missing, it is taken to be owl:Thing
OWL 2
Expressions – Class Expressions
• DataSomeValuesFrom( DPE1 ... DPEn DR ) consists of n data property expressions DPEi, 1 ≤ i ≤ n, and a data range DR whose arity mustbe n. Such a class expression contains all thoseindividuals that are connected by DPEi to literals lti, 1 ≤ i ≤ n, such that the tuple ( lt1 , ..., ltn ) is in DR
• DataAllValuesFrom( DPE1 ... DPEn DR ) consists of n data property expressions DPEi, 1 ≤ i ≤ n, and a data range DR whose arity must be n. Such a class expression contains all those individuals that are connected by DPEi only to literals lti, 1 ≤ i ≤ n, such that each tuple ( lt1 , ..., ltn ) is in DR
• DataHasValue( DPE lt ) consists of a data property expression DPE and a literal lt, and it contains all those individuals that are connected by DPE to lt
OWL 2
Expressions – Class Expressions
• DataMinCardinality( n DPE DR ) consists of a nonnegative integer n, a data property expression DPE, and a unary data range DR, and it contains all those individuals that are connected by DPE to at least n different literals in DR. If DR is not present, it is taken to be rdfs:Literal
• DataMaxCardinality( n DPE DR ) consists of a nonnegative integer n, a data property expression DPE, and a unary data range DR, and it contains all those individuals that are connected by DPE to at most n different literals in DR. If DR is not present, it is taken to be rdfs:Literal
• DataExactCardinality( n DPE DR ) consists of a nonnegative integer n, a data property expression DPE, and a unary data range DR, and it contains all those individuals that are connected by DPE to exactly n different literals in DR. If DR is not present, it is taken to be rdfs:Literal
OWL 2
Axioms – Class Expression Axioms
It provides axioms that allow relationships to be established between class expressions
• SubClassOf axiom allows one to state that each instance of one class expression is also an instance of another class expression
• EquivalentClasses axiom allows one to state that several class expressions are semantically equivalent to each other
• DisjointClasses axiom allows one to state that several class expressions are pairwisedisjoint, i.e, that they have no instances in common
• DisjointUnion class expression allows one to define a class as a disjoint union of several class expressions and thus to express covering constraints
OWL 2
Axioms – Object Property Axioms
Axioms used to characterize and establish relationships between object property expressions
• SubObjectPropertyOf axiom allows one to state that the extension of one object property expression is included in the extension of another object property expression
• EquivalentObjectProperties axiom allows one to state that the extensions of several object property expressions are the same
• DisjointObjectProperties axiom allows one to state that the extensions of several object property expressions are pairwise disjoint, i.e, that they do not share pairs of connected individuals
OWL 2
Axioms – Object Property Axioms
• InverseObjectProperties axiom can be used to state that two object property expressions are the inverse of each other
• ObjectPropertyDomain and ObjectPropertyRange axioms can be used to restrict the first and the second individual, respectively, connected by an object property expression to be instances of the specified class expression
• FunctionalObjectProperty axiom allows one to state that an object property expression is functional, i.e., that each individual can have at most one outgoing connection of the specified object property expression
OWL 2
Axioms – Object Property Axioms
• InverseFunctionalObjectProperty axiom allows one to state that an object property expression is inverse-functional, i.e, that each individual can have at most one incoming connection of the specified object property expression
• ReflexiveObjectProperty,IrreflexiveObjectProperty, SymmetricObjectProperty, AsymmetricObjectProperty, and TransitiveObjectProperty axioms allow one to state that an object property expression is reflexive, irreflexive, symmetric, asymmetric, or transitive, respectively
OWL 2
Axioms – Data Property Axioms
Similar to object property axioms
• SubDataPropertyOf axiom allows one to state that the extension of one data property expression is included in the extension of another data property expression
• EquivalentDataProperties allows one to state that several data property expressions have the same extension
• DisjointDataProperties axiom allows one to state that the extensions of several data property expressions are disjoint with each other, i.e, they do not share individual–literal pairs
OWL 2
Axioms – Data Property Axioms
• DataPropertyDomain axiom can be used to restrict individuals connected by a property expression to be instances of the specified class
• DataPropertyRange axiom can be used to restrict the literals pointed to by a property expression to be in the specified unary data range
• FunctionalDataProperty axiom allows one to state that a data property expression is functional, i.e, that each individual can have at most one outgoing connection of the specified data property expression
OWL 2
Axioms – Keys
A key axiom states that each (named) instance of the class expression CE is uniquely identified by the object property expressions OPEi and/or the data property expressions DPEj
• I.E., no two distinct (named) instances of CE can coincide on the values of all object property expressions OPEi and all data property expressions DPEj.
• A key axiom of the form HasKey(owl:Thing ( OPE ) () ) is similar to the axiom InverseFunctionalObjectProperty( OPE ). The main differences is that the former axiom is applicable only to individuals that are explicitly named in an ontology, while the latter axiom is also applicable to individuals whose existence is implied by existential quantification
OWL 2
Axioms – Assertions
Rich set of axioms for stating assertions, about individuals, object properties and data properties
Individual Assertions (Facts)
• SameIndividual assertion allows one to state that several individuals are all equal to each other
• DifferentIndividuals assertion allows for the opposite, i.e, to state that several individuals are all different from each other
• ClassAssertion axiom allows one to state that an individual is an instance of a particular class
OWL 2
Axioms – Assertions
Object Property Assertions
• ObjectPropertyAssertion axiom allows one to state that an individual is connected by an object property expression to an individual
• NegativeObjectPropertyAssertion allows for the opposite, i.e, to state that an individual is not connected by an object property expression to an individual
OWL 2
Axioms – Assertions
Data Property Assertions
• DataPropertyAssertion axiom allows one to state that an individual is connected by a data property expression to a literal
• NegativeDataPropertyAssertion allows for the opposite, i.e, to state that an individual is not connected by a data property expression to a literal
Desarrollo de Sistemas de Información Basados en Ontologías
OWL 2
Resources
• OWL 2 Overview
http://www.w3.org/TR/owl2-overview/
• OWL 2 Structural Specification and Functional Style Syntax
http://www.w3.org/TR/owl2-syntax/