INF3580 Semantic Technologies Spring 2012

Similar documents
INF3580/4580 Semantic Technologies Spring 2017

Semantic Web Technologies: Web Ontology Language

INF3580/4580 Semantic Technologies Spring 2017

Description Logic. Eva Mráková,

Today: RDF syntax. + conjunctive queries for OWL. KR4SW Winter 2010 Pascal Hitzler 3

OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

INF3580 Semantic Technologies Spring 2012

Semantic Web Ontologies

Knowledge Representation for the Semantic Web

Today s Plan. INF3580 Semantic Technologies Spring Model-theoretic semantics, a quick recap. Outline

Deep integration of Python with Semantic Web technologies

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL

Querying Data through Ontologies

Mandatory exercises. INF3580/4580 Semantic Technologies Spring 2017 Lecture 12: OWL: Loose Ends. Outline. Make it simple!

Table of Contents. iii

LECTURE 09 RDF: SCHEMA - AN INTRODUCTION

Short notes about OWL 1

OWL Tutorial. LD4P RareMat / ARTFrame Meeting Columbia University January 11-12, 2018

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Reasoning with the Web Ontology Language (OWL)

Semantic Technologies

Semantic Web Test

l A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics

OWL DL / Full Compatability

Logic and Reasoning in the Semantic Web (part I RDF/RDFS)

OWL 2 The Next Generation. Ian Horrocks Information Systems Group Oxford University Computing Laboratory

KDI OWL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

Semantic Web. Ontology and OWL. Morteza Amini. Sharif University of Technology Fall 95-96

OWL 2 Syntax and Semantics Sebastian Rudolph

Ontological Modeling: Part 7

Semantic Web. MPRI : Web Data Management. Antoine Amarilli Friday, January 11th 1/29

TMCL and OWL. Lars Marius Garshol. Bouvet, Oslo, Norway

Building Blocks of Linked Data

Presented By Aditya R Joshi Neha Purohit

Making BioPAX SPARQL

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

OWL and tractability. Based on slides from Ian Horrocks and Franz Baader. Combining the strengths of UMIST and The Victoria University of Manchester

12th ICCRTS. On the Automated Generation of an OWL Ontology based on the Joint C3 Information Exchange Data Model (JC3IEDM)

Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies

Formalising the Semantic Web. (These slides have been written by Axel Polleres, WU Vienna)

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Outline RDF. RDF Schema (RDFS) RDF Storing. Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements

TopBraid Composer. Getting Started Guide. Version 5.2. September 21, TopBraid Composer, Copyright TopQuadrant, Inc.

Web Ontology Language: OWL

Unit 2 RDF Formal Semantics in Detail

The OWL API: An Introduction

Bryan Smith May 2010

RDF Schema. Philippe Genoud, UFR IM2AG, UGA Manuel Atencia Arcas, UFR SHS, UGA

ARISTOTLE UNIVERSITY OF THESSALONIKI. Department of Computer Science. Technical Report

CC LA WEB DE DATOS PRIMAVERA Lecture 4: Web Ontology Language (I) Aidan Hogan

Extracting Ontologies from Standards: Experiences and Issues

Mustafa Jarrar: Lecture Notes on RDF Schema Birzeit University, Version 3. RDFS RDF Schema. Mustafa Jarrar. Birzeit University

Adding formal semantics to the Web

Knowledge Representation. Apache Jena Part II. Jan Pettersen Nytun, UiA

OWL 2 Web Ontology Language Primer W3C Recommendation 27 October 2009

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012

Semantic Web In Depth: Resource Description Framework. Dr Nicholas Gibbins 32/4037

Web Ontology Language (OWL)

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

Description Logics and OWL

The ISO D approach

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

Chapter 2 AN INTRODUCTION TO THE OWL WEB ONTOLOGY LANGUAGE 1. INTRODUCTION. Jeff Heflin Lehigh University

Languages and tools for building and using ontologies. Simon Jupp, James Malone

OWL 2 Web Ontology Language Primer

RDF Schema. Mario Arrigoni Neri

RDF AND SPARQL. Part III: Semantics of RDF(S) Dresden, August Sebastian Rudolph ICCL Summer School

Ontology mutation testing

Genea: Schema-Aware Mapping of Ontologies into Relational Databases

Lecture 8 OWL: Web Ontology Language

Knowledge Representation for the Semantic Web

Efficient Querying of Web Services Using Ontologies

Lessons Learned from a Greenhorn Ontologist

RDF /RDF-S Providing Framework Support to OWL Ontologies

Web Ontology Language: OWL

For return on 19 January 2018 (late submission: 2 February 2018)

Ontological Modeling: Part 8

Web Science & Technologies University of Koblenz Landau, Germany. RDF Schema. Steffen Staab. Semantic Web

Ontological Modeling: Part 14

Intelligent Agents. Pınar Yolum Utrecht University. Spring 2018 Pınar Yolum

Logik für Informatiker Logic for computer scientists. Ontologies: Description Logics

! Assessed assignment 1 Due 17 Feb. 3 questions Level 10 students answer Q1 and one other

Linked data basic notions!

Linguaggi Logiche e Tecnologie per la Gestione Semantica dei testi

Ontological Modeling: Part 11

Semantic Web Services and OOP toward Unified Services

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

LINKING BACKGROUND INFORMATION

Linked data and its role in the semantic web. Dave Reynolds, Epimorphics

Semantic Web. RDF and RDF Schema. Morteza Amini. Sharif University of Technology Spring 90-91

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker

2 nd International Semantic Web Conference (ISWC2003)

SEMANTIC WEB 05 RDF SCHEMA MODELLING SEMANTICS IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

Extracting knowledge from Ontology using Jena for Semantic Web

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Racer - An Inference Engine for the Semantic Web

Ontological Modeling: Part 2

Transcription:

INF3580 Semantic Technologies Spring 2012 Lecture 10: OWL, the Web Ontology Language Martin G. Skjæveland 20th March 2012 Department of Informatics University of Oslo

Outline Reminder: RDFS 1 Reminder: RDFS 2 Description Logics 3 Introduction to OWL INF3580 :: Spring 2012 Lecture 10 :: 20th March 2 / 40

Reminder: RDFS The RDFS vocabulary RDFS adds the concept of classes which are like types or sets of resources. A predefined vocabulary allows statements about classes. Defined resources: rdfs:resource: The class of resources, everything, rdfs:class: The class of classes, rdf:property: The class of properties (from rdf). Defined properties: rdf:type: relates resources to classes they are members of. rdfs:domain: The domain of a relation. rdfs:range: The range of a relation. rdfs:subclassof: Concept inclusion. rdfs:subpropertyof: Property inclusion. INF3580 :: Spring 2012 Lecture 10 :: 20th March 3 / 40

Example Reminder: RDFS rdfs:class rdf:type rdf:type rdfs:subclassof rdfs:resource rdfs:subclassof rdfs:subclassof rdf:type foaf:person rdf:property citroen:twocv rdf:type rdf:type rdf:type :me :owns :mycar INF3580 :: Spring 2012 Lecture 10 :: 20th March 4 / 40

Reminder: RDFS Clear semantics RDFS has formal semantics. Entailment is a mathematically defined relationship between RDF(S) graphs. E.g., answers to SPARQL queries are well-defined, and the interpretation of blank nodes is clear. The semantics allows for rules to reason about classes and properties and membership. Using RDFS entailment rules we can infer: type propagation property inheritance, and domain and range reasoning. INF3580 :: Spring 2012 Lecture 10 :: 20th March 5 / 40

Reminder: RDFS Yet, it s inexpressive RDFS does not allow for complex definitions, other than multiple inheritance. All RDFS graphs are satisfiable; we want to express negations also. RDFS semantics is quite weak. E.g., reasoning about the domain and range of properties is not supported. INF3580 :: Spring 2012 Lecture 10 :: 20th March 6 / 40

Reminder: RDFS Modelling patterns Common modelling patterns cannot be expressed properly in RDFS: Every person has a mother. Penguins eat only fish. Horses eat only chocolate. Every nuclear family has two parents, at least two children and a dog. No smoker is a non-smoker (and vice versa). Everybody loves Mary. Adam is not Eve (and vice versa). Everything is black or white. There is no such thing as a free lunch. Brothers of fathers are uncles. My friend s friends are also my friends. If Homer is married to Marge, then Marge is married to Homer. If Homer is a parent of Bart, then Bart is a child of Homer. INF3580 :: Spring 2012 Lecture 10 :: 20th March 7 / 40

And it s complicated Reminder: RDFS In the standardised RDFS semantics (not our simplified version): No clear ontology/data boundary No restrictions on the use of the built-ins. Can have relations between classes and relations: :mycar rdf:type citroen:twocv. citroen:twocv rdf:type cars:modelclass. Remember: in RDF, properties are resources, so they can be subject or object of triples. Well, in RDFS, classes are resources, so they can also be subject or object of triples. The RDFS entailment rules are incomplete. Can t derive all statements that are semantically valid. INF3580 :: Spring 2012 Lecture 10 :: 20th March 8 / 40

Outline Description Logics 1 Reminder: RDFS 2 Description Logics 3 Introduction to OWL INF3580 :: Spring 2012 Lecture 10 :: 20th March 9 / 40

Description Logics Make it simple! Keep classes, properties, individuals and relationships apart. Data level with individuals and relationships between them. Ontology level with properties and classes. Use a fixed vocabulary of built-ins for relations between classes and properties, and their members and nothing else. Interpret classes as sets of individuals, and properties as relations between individuals, i.e., sets of pairs which is what do in our simplified semantics. A setting well-studied as Description Logics. INF3580 :: Spring 2012 Lecture 10 :: 20th March 10 / 40

Description Logics The ALC Description Logic Vocabulary Fix a set of atomic concepts A, roles R and individuals a, b. ALC concept descriptions Axioms C, D A (atomic concept) (universal concept) (bottom concept) C (atomic negation) C D (intersection) C D (union) R.C (value restriction) R.C (existential restriction) C D and C D for concept descriptions D and C. C(a) and R(a, b) for concept description C, role R and individuals a, b. INF3580 :: Spring 2012 Lecture 10 :: 20th March 11 / 40

ALC Examples Description Logics TwoCV Car Any 2CV is a car. TwoCV (mycar) mycar is a 2CV. owns(martin, mycar) martin owns mycar. TwoCV driveaxle.frontaxle All drive axles of 2CVs are front axles. FrontDrivenCar Car driveaxle.frontaxle A front driven car is one where all drive axles are front axles. FrontAxle RearAxle (disjointness) Nothing is both a front axle and a rear axle. FourWheelDrive driveaxle.frontaxle driveaxle.rearaxle A 4WD has at least one front drive axle and one rear drive axle. INF3580 :: Spring 2012 Lecture 10 :: 20th March 12 / 40

Description Logics ALC Semantics Interpretation An interpretation I fixes a set I, the domain, A I for each atomic concept A, R I for each role R, and a I for each individual a. Interpretation of concept descriptions I = I I = ( C) I = I \ C I (C D) I = C I D I (C D) I = C I D I ( R.C) I = {a I for all b, if a, b R I then b C I } ( R.C) I = {a I there is a b where a, b R I and b C I } Interpretation of Axioms I = C D if C I D I and I = C D if C I = D I I = C(a) if a I C I and I = R(a, b) if a I, b I R I. INF3580 :: Spring 2012 Lecture 10 :: 20th March 13 / 40

Description Logics I C I D I Negation The interpretation I satisfies the axiom C D: I C D C I = ( D) I C I = ( I \ D I ) A C is not a D. Example: EvenNo OddNo, assuming the domain is N. An even number is not an odd number. INF3580 :: Spring 2012 Lecture 10 :: 20th March 14 / 40

Disjointness Description Logics The interpretation I satisfies the axiom C D : I C D (C D) I I C I D I Nothing is both a C and a D. I C I D I Example: FrontAxle RearAxle. A FrontAxle is not a RearAxle, and vice versa. INF3580 :: Spring 2012 Lecture 10 :: 20th March 15 / 40

Description Logics Existential restrictions The interpretation I satisfies the axiom C R.D: I C R.D C I ( R.D) I C I {a I there is a b where a, b R I and b D I } A C is R-related to (at least) a D. I ( R.D) I R I C I D I Example: Toyota driveaxle.frontaxle. A Toyota has a front axle as drive axle. INF3580 :: Spring 2012 Lecture 10 :: 20th March 16 / 40

Description Logics Universal restrictions The interpretation I satisfies the axiom C R.D: I C R.D C I ( R.D) I C I {a I for all b, if a, b R I then b D I } A C has R-relationships to D s only. I ( R.D) I R I C I D I Example: Lotus driveaxle.rearaxle. A Lotus has only rear axles as drive axles. INF3580 :: Spring 2012 Lecture 10 :: 20th March 17 / 40

Description Logics Universal and Existential Restrictions cont. Assume: All Citroen cars have one drive axle and that is the front axle. All Lotus cars have one drive axle and that is the rear axle. All LandRover cars have two drive axles, one front and one back. In such a model: Citroen driveaxle.frontaxle LandRover driveaxle.frontaxle driveaxle.rearaxle Lotus driveaxle.rearaxle INF3580 :: Spring 2012 Lecture 10 :: 20th March 18 / 40

Description Logics Universal Restrictions and rdfs:range If role R has the range C, then anything one can reach by R is in C, or for any a and b, if a, b R I, then b C I, or any a is in the interpretation of R.C, or the axiom R.C holds. Everything has R-relationships to C s only. Ranges can be expressed with universal restrictions. Example: a drive axle is either a front or a rear axle, so the range of driveaxle is FrontAxle RearAxle. Axiom: driveaxle.(frontaxle RearAxle). INF3580 :: Spring 2012 Lecture 10 :: 20th March 19 / 40

Description Logics Existential Restrictions and rdfs:domain If role R has the domain C, then anything from which one can go by R is in C, or for any a, if there is a b with a, b R I, then a C I, or any a in the interpretation of R. is in the interpretation of C, or the axiom R. C holds. Everything which is R-related (to a thing) is a C. Domains can be expressed with existential restrictions. Example: a drive axle is something cars have, so the domain of driveaxle is Car. Axiom: driveaxle. Car. INF3580 :: Spring 2012 Lecture 10 :: 20th March 20 / 40

Description Logics What is the score? We still express C(a), R(x, y), C D like we did in RDFS, but now we can express complex C s and D s. A concept can be defined by use of other concepts and roles. Examples: Person hasmother. Penguin eats.fish NonSmoker Smoker BlackThing WhiteThing FreeLunch INF3580 :: Spring 2012 Lecture 10 :: 20th March 21 / 40

Description Logics Modelling patterns So, what can we say with ALC? Every person has a mother. Penguins eats only fish. Horses eats only chocolate. Every nuclear family has two parents, at least two children and a dog. No smoker is a non-smoker (and vice versa). Everybody loves Mary. Adam is not Eve (and vice versa). Everything is black or white. There is no such thing as a free lunch. Brothers of fathers are uncles. My friend s friends are also my friends. If Homer is married to Marge, then Marge is married to Homer. If Homer is a parent of Bart, then Bart is a child of Homer. INF3580 :: Spring 2012 Lecture 10 :: 20th March 22 / 40

Little Boxes Description Logics Historically, description logic axioms and assertions are put in boxes. The TBox is for terminological knowledge, is independent of any actual instance data, and for ALC, it is a set of axioms and axioms. Example TBox axioms: TwoCV driveaxle.frontaxle FrontDrivenCar Car driveaxle.frontaxle. The ABox is for assertional knowledge, contains facts about concrete instances a, b, c, a set of concept membership assertions C(a), and role assertions R(b, c). Example ABox axioms: driveaxle(mycar, axle) (FrontAxle RearAxle)(axle). INF3580 :: Spring 2012 Lecture 10 :: 20th March 23 / 40

Description Logics TBox Reasoning Remainder: Entailment A entails B, written A = B, if I = B for all interpretations where I = A. Many reasoning tasks use only the TBox: Concept unsatisfiability: Given C, does T = C? Concept subsumption: Given C and D, does T = C D? Concept equivalence: Given C and D, does T = C D? Concept disjointness: Given C and D, does T = C D? INF3580 :: Spring 2012 Lecture 10 :: 20th March 24 / 40

Description Logics ABox Reasoning ABox consistency: Is there a model of (T, A), i.e., is there an interpretation I such that I = (T, A)? Concept membership: Given C and a, does (T, A) = C(a)? Retrieval: Given C, find all a such that (T, A) = C(a). Conjunctive Query Answering (SPARQL). INF3580 :: Spring 2012 Lecture 10 :: 20th March 25 / 40

Description Logics More Expressive Description Logics There are description logics including axioms about roles, e.g., hierarchy, transitivity cardinality data types, e.g., numbers, strings individuals etc. We ll see more in later lectures. The balance of expressivity and complexity is important. Too much expressivity makes reasoning tasks first more expensive, then undecidable. Much research on how expressivity affects complexity/decidability. INF3580 :: Spring 2012 Lecture 10 :: 20th March 26 / 40

Outline Introduction to OWL 1 Reminder: RDFS 2 Description Logics 3 Introduction to OWL INF3580 :: Spring 2012 Lecture 10 :: 20th March 27 / 40

Introduction to OWL Quick facts OWL: Acronym for The Web Ontology Language. Became a W3C recommendation in 2004. The undisputed standard ontology language. Superseded by OWL 2; a backwards compatible extension that adds new capabilities. Built on Description Logics. Combines DL expressiveness with RDF technology (e.g., URIs, namespaces). Extends RDFS with boolean operations, universal/existential restrictions and more. INF3580 :: Spring 2012 Lecture 10 :: 20th March 28 / 40

Introduction to OWL OWL Syntaxes Reminder: RDF is an abstract construction, several concrete syntaxes: RDF/XML, Turtle,... Same for OWL: Defined as set of things that can be said about classes, properties, instances. DL symbols (,,, ) hard to find on keyboard. OWL/RDF: Uses RDF to express OWL ontologies. Then use any of the RDF serializations. OWL/XML: a non-rdf XML format. Functional OWL syntax: simple, used in definition. Manchester OWL syntax: close to DL, but text, used in some tools. INF3580 :: Spring 2012 Lecture 10 :: 20th March 29 / 40

Introduction to OWL OWL vocabulary in OWL/RDF New: owl:ontology, owl:class, owl:thing, properties (next slide), restrictions (owl:allvaluesfrom, owl:unionof,...), annotations (owl:versioninfo,...). From RDF: rdf:type, rdf:property, + RDF bookkeeping. From RDFS: rdfs:class, rdfs:subclassof, rdfs:subpropertyof, rdfs:domain, rdfs:range, rdfs:label, rdfs:comment,... (XSD datatypes: xsd:string,...) INF3580 :: Spring 2012 Lecture 10 :: 20th March 30 / 40

Properties in OWL Introduction to OWL Three kinds of mutually disjoint properties in OWL: 1 owl:datatypeproperty link individuals to data values, e.g., xsd:string. Examples: :hasage, :hassurname. 2 owl:objectproperty link individuals to individuals. Example: :hasfather, :driveaxle. 3 owl:annotationproperty has no logical implication, ignored by reasoners. anything can be annotated. use for human readable-only data. Examples: rdfs:label, dc:creator. INF3580 :: Spring 2012 Lecture 10 :: 20th March 31 / 40

Introduction to OWL Example: Universal Restrictions in OWL/RDF TwoCV driveaxle.frontaxle :TwoCV rdfs:subclassof owl:allvaluesfrom rdf:type owl:onproperty :FrontAxle owl:restriction :driveaxle In Turtle syntax: :TwoCV rdfs:subclassof [ rdf:type owl:restriction ; owl:onproperty :driveaxle ; owl:allvaluesfrom :FrontAxle ]. INF3580 :: Spring 2012 Lecture 10 :: 20th March 32 / 40

Introduction to OWL Example: Universal Restrictions in Other Formats TwoCV driveaxle.frontaxle In OWL/XML syntax: <SubClassOf> <Class URI=":TwoCV"/> <ObjectAllValuesFrom> <ObjectProperty URI=":driveAxle"/> <Class URI=":FrontAxle"/> </ObjectAllValuesFrom> </SubClassOf> In OWL Functional syntax: SubClassOf(TwoCV ObjectAllValuesFrom(driveAxle FrontAxle)) INF3580 :: Spring 2012 Lecture 10 :: 20th March 33 / 40

Introduction to OWL Manchester OWL Syntax Used in Protégé for concept descriptions. Also has a syntax for axioms, less used. Correspondence to DL constructs: DL Manchester C D C and D C D C or D C not C R.C R only C R.C R some C Examples: DL Manchester FrontAxle RearAxle FrontAxle or RearAxle driveaxle.frontaxle driveaxle only FrontAxle driveaxle.rearaxle driveaxle some RearAxle INF3580 :: Spring 2012 Lecture 10 :: 20th March 34 / 40

Introduction to OWL Demo: Using Protégé - Create a Car class. - Create an Axle class. - Create FrontAxle and RearAxle as subclasses. - Make the axle classes disjoint. - Add a driveaxle object property. - Add domain Car and range Axle. - Add 2CV, subclass of Car. - Add superclass driveaxle only FrontAxle. - Add Lotus, subclass of Car. - Add superclass driveaxle only RearAxle. - Add LandRover, subclass of Car. - Add superclass driveaxle some FrontAxle. - Add superclass driveaxle some RearAxle. - Add 4WD as subclass of Thing. - Make equivalent to driveaxle some RearAxle and driveaxle some FrontAxle. - Classify. - Show inferred class hierarchy: Car 4WD LandRover. - Tell story of 2CV Sahara, which is a 2CV with two motors, one front, one back. - Add Sahara as subclass of 2CV. - Add 4WD as superclass of 2CV. - Classify. - Show that Sahara is equivalent to bottom. - Explain why. In particular, disjointness of front and rear axles. INF3580 :: Spring 2012 Lecture 10 :: 20th March 35 / 40

Introduction to OWL The Relationship to Description Logics Protégé presents ontologies almost like an OO modelling tool. Everything can be mapped to DL axioms! We have seen how domain and range become ex./univ. restrictions. C and D disjoint: C D. Many ways of saying the same thing in OWL, more in Protégé. Reasoning (e.g., Classification) maps everything to DL first. INF3580 :: Spring 2012 Lecture 10 :: 20th March 36 / 40

Introduction to OWL OWL in Jena Can use usual Jena API to build OWL/RDF ontologies. Cumbersome and error prone! Jena class OntModel provides convenience methods to create OWL/RDF ontologies, e.g., OntModel model = ModelFactory.createOntologyModel(); Property driveaxle = model.createproperty(cars+"driveaxle"); OntClass car = model.createclass(cars+"car"); OntClass frontaxle = model.createclass(cars+"frontaxle"); Resource r = model.createallvaluesfromrestriction( null, driveaxle, frontaxle); car.addsuperclass(r); Can be combined with inferencing mechanisms from lecture 7. See class OntModelSpec. INF3580 :: Spring 2012 Lecture 10 :: 20th March 37 / 40

Introduction to OWL The OWL API OWL in Jena means OWL expressed as RDF. Still somewhat cumbersome, tied to OWL/RDF peculiarities. For pure ontology programming, consider OWL API: http://owlapi.sourceforge.net/ Works on the level of concept descriptions and axioms. Can parse and write all mentioned OWL formats, and then some. INF3580 :: Spring 2012 Lecture 10 :: 20th March 38 / 40

Introduction to OWL Next lecture More about OWL and OWL 2: Individuals: = and, and for class and property definition. Properties: cardinality, transitive, inverse, symmetric, functional properties, and property chains. Datatypes. Work through some modelling problems. INF3580 :: Spring 2012 Lecture 10 :: 20th March 39 / 40

Introduction to OWL Easter egg: Solve Einstein s riddle with OWL According to Albert Einstein only 2 % of us are able to solve the Zebra Puzzle. 15 statements about houses, people, pets, drinks and cigarettes: 1 There are five houses. 2 The Englishman lives in the red house. 3 The Spaniard owns the dog. 4... Who drinks water? Who owns the zebra? Exercise: encode the puzzle in OWL, and use reasoning to find the answer. Find the full exercise on the course website. INF3580 :: Spring 2012 Lecture 10 :: 20th March 40 / 40