380 likes | 397 Views
Learn about OWL (Web Ontology Language), its sublanguages, practical applications, and key features like properties, constructs, and reasoning tasks.
E N D
Logics for Data and Knowledge Representation Web Ontology Language (OWL) Feroz Farazi
OWL • Web Ontology Language designed to be used when the document content is necessary to be processed by applications instead of making it understandable only by humans [OWL Overview] • It can be used to represent ontology • Vocabulary terms and the relationships between them • Concepts and relations between them • Provides more facilities than RDF and RDF Schema • In the representation of semantics • In performing reasoning tasks
OWL Sublanguages • There are three sublanguages of OWL • OWL Lite: trades expressivity for efficiency • OWL DL: a balance between expressivity and computational completeness • OWL Full: trades computational completeness for expressivity • OWL Lite supports • Encoding simple classification hierarchy (e.g., taxonomy and thesaurus) • Assigning cardinality constraints 0 or 1 • OWL DL supports • More expressive than OWL Lite while guarantees conclusions and decidability • Using all OWL constructs, some of them with certain restrictions • The restriction of not making a class an instance of another class
OWL Sublanguages • OWL DL is named so because of its connection with description logics, which form the formal basis of OWL • OWL Full • an extension of RDF with maximum expressiveness, e.g., a class can be represented also as an individual • For these sublanguages the following statements can be made: • Each OWL Lite representation belongs to OWL DL • Each OWL DL representation belongs to OWL Full • Each valid OWL Lite conclusion is also valid in OWL DL • Each valid OWL DL conclusion is also valid in OWL Full
OWL Lite • In OWL Lite • users are allowed to use a subset of the OWL, RDF and RDFS vocabulary • to define a class, one must use the OWL construct owl:Class • OWL constructs, namely: complementOf, disjointWith, hasValue, oneOf and unionOf are not allowed • Some OWL Constructs are allowed to use but their use is limited • all three cardinality constructs – cardinality, maxCardinality and minCardinality, can only have 0 or 1 in their value fields • Moreover, equivalentClass and intersectionOf cannot be used in a triple if the subject or object represents an anonymous class
OWL DL • In OWL DL • Each individual must be an extension of a class • Even if an individual cannot be classified under any user defined class, it must be classified under the general owl:Thing class • Individuals can not be used as properties, and vice versa • Moreover, properties can not be used as classes, and vice versa • It is allowed to use the intersectionOf construct with any number of classes and of any non negative integer in the cardinality restrictions value fields • The computational complexity is the same as the corresponding Description Logic
Properties • Inverse • Given that a property P is inverse of another property Q, P owl:inverseOf Q, and two individuals x and y are connected using P as follows: x P y. We can infer that y Q x. • For example, the property hasChild can be an inverse property of hasParent • Symmetric • Given that a property P is symmetric, P rdf:typeowl:symmetricProperty, two individuals x and y are connected using P as follows: x P y. We can infer that y P x. • For example, the property isMarriedTo is symmetric • Transitive property is used with owl:TransitiveProperty
Properties • Equivalent Property • In RDFS, x rdfs:subPropertyOf y y rdfs:subPropertyOf x • In OWL, x owl:equivalentProperty y • For example, buy and purchase can be equivalent properties • Functional Property • A functional property can have only one value attached to it for any individual • Given that a property P is functional, P rdf:typeowl:FunctionalProperty, the individuals x, y and z are connected using P as follows: x P y and x P z. We can infer that y owl:sameAs z. • For example, the property hasMother is functional
Properties • Inverse Functional Property • An inverse functional property can have only one individual as a subject attached to it for any value • Given that a property P is inverse functional, P rdf:typeowl:InverseFunctionalProperty, the individuals x, y and z are connected using P as follows: x P y and z P y. We can infer that x owl:sameAs z. • For example, the property motherOf is inverse functional • Used • Especially in settings where data come from multiple sources • In entity matching on the Semantic Web
OWL 2 • OWL 2: • Extends OWL 1 • Inherits OWL 1 language features • The new features of OWL 2 based on: • Real applications • User experience • Tool developer experience
Features and Rationale • Syntactic sugar • New constructs for properties • Extended datatypes • Punning • Extended annotations • Some innovations • Minor features
Features and Rationale • Syntactic sugar • Makes some patterns easier to write • Does not change • Expressiveness • Semantics • Complexity • Can help implementations • For more efficient processing
Features and Rationale • Syntactic sugar: • DisjointUnion • DisjointClasses • NegativeObjectPropertyAssertion • NegativeDataPropertyAssertion • DisjointUnion • Union of a set of classes • All the classes are pairwise disjoint
Syntactic sugar • Need for disjointUnion construct • A :CarDoor is exclusively either • a :FrontDoor, • a :RearDoor or • a:TrunkDoor • and not more than one of them • A disjointUnion example • <owl:Classrdf:about="CarDoor"> <owl:disjointUnionOfrdf:parseType="Collection"> <rdf:Descriptionrdf:about="FrontDoor"/> <rdf:Descriptionrdf:about="RearDoor"/> <rdf:Descriptionrdf:about="TrunkDoor"/> </owl:disjointUnionOf> </owl:Class>
Syntactic sugar • DisjointClasses • A set of classes • All the classes are pairwise disjoint • Need for DisjointClasses • Nothing can be both • A LeftLung and • A RightLung
Syntactic sugar • NegativeObjectPropertyAssertion • Two individuals • A property does not hold between them Example, Patient “John” does not live in “Povo” • NegativeDataPropertyAssertion • An individual • A literal • A property does not hold between them Example, “John” is not “5” years old.
New constructs for properties • Self restriction • Qualified cardinality restriction • Object properties • Disjoint properties • Property chain • keys
Self restriction • Classes of objects that are related to themselves by a given property • For example, the class of processes that regulate themselves • It is also called local reflexivity • An example: Auto-regulating processes regulate themselves
Qualified cardinality restrictions • Qualifies the instances to be counted • Restrain the class or data range of the instances to be counted • For example, • Persons that have exactly three children who are girls • Each individual has at most one SSN
Qualified cardinality restrictions • ObjectMinCardinality • ObjectMaxCardinality • ObjectExactCardinality • DataMinCardinality • DataMaxCardinality • DataExactCardinality
Object properties • ReflexiveObjectProperty • Globally reflexive • Everything is part of itself • IrreflexiveObjectProperty • Nothing can be a proper part of itself • AsymmetricObjectProperty • If x is proper part of y, then the opposite does not hold
Disjoint propertis • DisjointObjectProperties • Deals with object properties • Pairwise disjointness can be asserted • E.g., connectedTo and contiguousWith • DisjointDataProperties • Deals with data properties • Pairwise disjointness can be asserted • E.g., startTime and endTime of a surgery
Property chain inclusion • Properties can be defined as a composition of other properties • If disease A is locatedIn body part B and B is part of body part C then A is locatedIn C • SubObjectPropertyOf ( ObjectPropertyChain( locatedIn partOf) locatedIn)
Keys • Individuals can be identified uniquely • Identification can be done using • A data property • An object property or • A set of properties • HasKey( :RegisteredPatient:hasWaitingListN ) ClassAssertion( :RegisteredPatient:ThisPatient ) DataPropertyAssertion( :hasWaitingListN:ThisPatient "123-45-6789" ) • HasKey( :Transplantation :donorId:recipientId:ofOrgan )
Features and Rationale • Syntactic sugar • New constructs for properties • Extended datatypes • Punning • Extended annotations • Some innovations • Minor features
Extended datatypes • Extra datatypes • For example, owl:real and owl:rational • Datatype restrictions • Range of datatypes • For example, adult has an age >= 18 • DatatypeRestriction(xsd:integerminInclusive 18) • Datatype definitions • New datatypes • DatatypeDefinition( :adultAgeDatatypeRestriction(xsd:integerminInclusive 18))
Extended datatypes • Data range combinations • Intersection of • DataIntersectionOf( xsd:nonNegativeIntegerxsd:nonPositiveInteger ) • Union of • DataUnionOf( xsd:stringxsd:integer ) • Complement of data range • DataComplementOf( xsd:positiveInteger )
Punning • Punning: “What's black and white and red all over?” • Classes and individuals can have the same name thanks to punning • E.g., Eagle as a class and as an individual • Properties and individuals can have the same name • E.g., is_located_in as a property and as an individual of Deprecated_Properties class
Punning • Classes and object properties also can have the same name • But classes and datatype properties can not have the same name • Also datatype properties and object properties can not have the same name
Features and Rationale • Extended Annotations • Axioms can be annotated • For example, SubClassOf( Annotation( rdfs:comment "Middle lobes of lungs are necessarily right lobes since left lungs do not have middle lobe.") :MiddleLobe:RightLobe ) • Innovations • Top and Bottom properties • IRI: Internationalized Resource Identifier
Features and Rationale • Inverse object properties: • some object property can be inverse of another property • For example, partOf and hasPart • ObjectInverseOf( :partOf ): this expression represents the inverse property of :part of • This makes writing ontologies easier by avoiding the need to name an inverse
Profiles • Profiles are sublanguages of OWL 2 • Profiles considered • Useful computational properties, e.g., reasoning complexity • Implementation possibilities, e.g., using RDBs • There are three profiles • OWL 2 EL • OWL 2 QL • OWL 2 RL
OWL 2 EL • The EL acronym reflects the profile’s basis in the EL family of description logics • This logic is also called small descriptionlogic (DL) EL • This logic allows for conjunction and existentialrestrictions • It does not allow disjunction and universal restrictions • It can capture the expressive power used by many large-scale ontologies, e.g., SNOMED CT
OWL 2 QL • The QL acronym reflects its relation to the standard relational Query Language • It does not allow existential and universal restrictions to a class expression or a data range • These restrictions • enable a tight integration with RDBMSs, • reasoners can be implemented on top of standard relational databases • Can answer complex queries (in particular, unions of conjunctive queries) over the instance level (ABox) of the DL knowledge base
OWL 2 RL • The RL acronym reflects its relation to the Rule Languages • OWL 2 RL is desgined to accommodate • OWL 2 applications that can trade the full expressivity of the language for efficiency • RDF(S) applications that need some added expressivity from OWL 2 • Existential quantification to a class, union and disjoint union to class expressions are not allowed • These restrictions • allow OWL 2 RL to be implemented using rule-based technologies such as rule extended DBMSs
Profiles • Profile selection depends on • Expressivenss required by the application • Priority given to reasoning on classes or data • Size of the datasets
References • OWL Overview (2004). W3C Recommendation. • OWL 2 New Features and Rationale (2009). W3C Recommendation. • F. Giunchiglia, F. Farazi, L. Tanca, and R. D. Virgilio. The semantic web languages. In Semantic Web Information management, a model based perspective. Roberto de Virgilio, Fausto Giunchiglia, Letizia Tanca (Eds.), Springer, 2009. • D. Allemang and J. Hendler. Semantic web for the working ontologist: modeling in RDF, RDFS and OWL.Morgan Kaufmann Elsevier, Amsterdam, NL, 2008.