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

Similar documents
Knowledge management. OWL Web Ontology Language

Knowledge management. OWL Web Ontology Language

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

University of Dublin Trinity College. RDF Schema and OWL

Semantic Web Technologies: Web Ontology Language

The Semantic Web RDF, RDF Schema, and OWL (Part 2)

Short notes about OWL 1

Semantic Technologies

Web Ontology Language: OWL

OWL Web Ontology Language

OWL Web Ontology Language Guide

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

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Semantic Web in Depth: Web Ontology Language (OWL) Dr Nicholas Gibbins 32/3019

Web Ontology Language: OWL

OWLET: An Object-Oriented Environment for OWL Ontology Management

Web Ontology Language: OWL by Grigoris Antoniou Frank van Harmelen

Lecture 8 OWL: Web Ontology Language

XML and Semantic Web Technologies. III. Semantic Web / 2. Web Ontology Language (OWL)

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

Web Ontology Language: OWL

The Semantic Web. Mansooreh Jalalyazdi

Chapter 4 Web Ontology Language: OWL

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

Bryan Smith May 2010

OWL Web Ontology Language

Semantic Web Technologies Web Ontology Language (OWL) Part II. Heiko Paulheim

2 nd International Semantic Web Conference (ISWC2003)

Deep integration of Python with Semantic Web technologies

OWL-based reasoning with retractable inference

Reasoning with the Web Ontology Language (OWL)

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

Table of Contents. iii

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

Semantic Web Ontologies

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

OWL an Ontology Language for the Semantic Web

Chapter 4 OWL. Outline. A Brief History of OWL: SHOE. The OWL Family Tree

Goals. Introduction to Ontologybased. Service Semantics. Functional Semantics. Need more than XML Schema. Non-functional Semantics

INF3580/4580 Semantic Technologies Spring 2017

DEVELOPING AN OWL ONTOLOGY FOR E- TOURISM

3/6/08. Introduction to Ontology Web Language (OWL) Graphs. Representing knowledge. Graphs as knowledge 2. Graphs as knowledge 1

08 OWL SEMANTIC WEB ONTOLOGY WEB LANGUAGE IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

OWL 2 Web Ontology Language:Mapping to RDF Graphs W3C Working Draft 02 December 2008

INF3580 Semantic Technologies Spring 2012

Description Logic. Eva Mráková,

JOURNAL OF OBJECT TECHNOLOGY

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

Introduction to OWL. Marco Ronchetti Università di Trento Italy

Ontological Modeling: Part 7

LINKING BACKGROUND INFORMATION

Semantic Web KM: A Knowledge Machine for Semantic Webs

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

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

Chapter 4 OWL. Outline. The OWL Family Tree. A Brief History of OWL: SHOE

Introduction to the Semantic Web. Alberto Fernández University Rey Juan Carlos

2. Web Information Retrieval

Semantic Web Services and OOP toward Unified Services

Why Ontologies? RRDIU - Semantic Web 2

Logical Foundations for the Semantic Web

2. RDF Semantic Web Basics Semantic Web

OWL Full and UML 2.0 Compared

Linked data basic notions!

Querying Data through Ontologies

Efficient Querying of Web Services Using Ontologies

Appendix B: The LCA ontology (lca.owl)

OWL & SPARQL - 웹정보시스템

OWL 2 Web Ontology Language Primer

Comparison of Semantic Web serialization syntaxes

$ A. Ontology%&'( Ontology A.1Kq (target.owl)

Teil IV: Wissensrepräsentation im WWW. Kap.11: Semantic Web

OWL 2 Web Ontology Language Primer W3C Recommendation 27 October 2009

Exercise 3.1 (Win-Move Game: Draw Nodes) Consider again the Win-Move-Game. There, WinNodes and LoseNodes have been axiomatized.

9 The Ontology UML Profile

FHIR RDF Sample side by side comparisons

Chapter 3 Research Method

Describing Ontology Relationships

Automatic Transformation of Relational Database Schema into OWL Ontologies

Teil IV: Wissensrepräsentation im WWW. Kap.11: Semantic Web. The semantic web layer cake

Publishing OWL ontologies with Presto

Ontology-based Metadata for MidArch-Styles

Forward Chaining Reasoning Tool for Rya

Making BioPAX SPARQL

The ISO D approach

Racer - An Inference Engine for the Semantic Web

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

GraphOnto: OWL-Based Ontology Management and Multimedia Annotation in the DS-MIRF Framework

Knowledge Representation for the Semantic Web Lecture 4: Description Logics III

Semantic Web Test

OWL Concepts. Last Modified Tuesday, July 21, 2009 at 01:41:30 PM Document Revision: 65

F. Farazi Department of Information Engineering and Computer Science, University of Trento, Trento, Italy

BeliefOWL An Evidential Extension to OWL

The Semantic Web. Craig Knoblock. (based on slides by Yolanda Gil, Ian Horrocks, Jose Luis Ambite, and Tom Russ)

Semantic Web OWL. Dieter Fensel and Federico Facca

Parsing OWL DL: Trees or Triples?

SEMANTIC WEB AND COMPARATIVE ANALYSIS OF INFERENCE ENGINES

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

Shared content-vocabularies: Ontologies

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

Web Ontology Language (OWL)

Transcription:

Intelligent Agents Pınar Yolum p.yolum@uu.nl Utrecht University Spring 2018 Pınar Yolum

Web Ontology Language Spring 2018 Pınar Yolum Based largely on Dean Allemang; James Hendler, Semantic Web for the Working Ontologist, 2nd Edition, Morgan Kaufmann, 2011. Munindar P. Singh and Michael N. Huhns, Service-Oriented Computing: Semantics, Processes, Agents, Wiley, 2004

Web Ontology Language (OWL) RDF captures the basics, i.e., an objectoriented type system Additional subtleties of meaning are needed for effective KR OWL builds on RDF Spring 2018 Pınar Yolum 3

OWL in Brief Specifies classes and properties in a form of description logic (DL) Class operators analogous to Boolean operators and, not, and or Constraints on properties: transitive, Restrictions: constructs unique to DL OWL 1.0 has three species: OWL Full, OWL DL, and OWL Lite OWL 2.0 Spring 2018 Pınar Yolum 4

Constructing OWL Classes Asssertions (Specify the class in relation to other classes) <owl:class rdf:about="http://www.w3.org/tr/2003/pr-owl-guide-20031209/food#dessert"> <rdfs:subclassof rdf:resource="20031209/food#ediblething"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#Fowl"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#Fruit"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#Meat"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#OtherTomatoBasedFood"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#Pasta"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#Seafood"/> </owl:class> Spring 2018 Pınar Yolum 5

Equivalence <owl:class rdf:about="http://www.w3.org/tr/2003/pr-owl-guide-20031209/food#fruit"> <owl:equivalentclass> <owl:class> <owl:unionof rdf:parsetype="collection"> <rdf:description rdf:about="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#NonSweetFruit"/> <rdf:description rdf:about="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#SweetFruit"/> </owl:unionof> </owl:class> </owl:equivalentclass> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide-20031209/food#meat"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#OtherTomatoBasedFood"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide-20031209/food#pasta"/> <owl:disjointwith rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide-20031209/food#seafood"/> </owl:class> Spring 2018 Pınar Yolum 6

Set operators intersectionof, unionof, complementof <owl:class rdf:id="fruit"> <owl:unionof rdf:parsetype='collection'> <owl:class rdf:resource="#sweetfruit" /> <owl:class rdf:resource="#nonsweetfruit" /> </owl:unionof> </owl:class> <owl:class rdf:id='sugarybread'> <owl:intersectionof rdf:parsetype='collection'> <owl:class rdf:about='#bread'/> <owl:class rdf:about='#sweetfood'/> </owl:intersectionof> </owl:class> <owl:class> <owl:complementof> <owl:class rdf:about="#meat"/> </owl:complementof> </owl:class> Spring 2018 Pınar Yolum 7

Enumeration List instances that are members of a class <owl:class rdf:id="continent"> <owl:oneof rdf:parsetype="collection"> <owl:thing rdf:about="#eurasia"/> <owl:thing rdf:about="#africa"/> <owl:thing rdf:about="#northamerica"/> <owl:thing rdf:about="#southamerica"/> <owl:thing rdf:about="#australia"/> <owl:thing rdf:about="#antarctica"/> </owl:oneof> </owl:class> Spring 2018 Pınar Yolum 8

OWL Entities and Relationships rdfs:subclassof rdfs:class rdfs:datatype owl:equivalentclass owl:datarange owl:class owl:disjointwith rdf:range owl:equivalentproperty rdf:domain rdf:property x owl:inverseof rdfs:subpropertyof owl:object Property owl:datatype Property rdf:subpropertyof owl:equivalentproperty owl:functional Property owl:inverse Functional owl:symmetric owl:transitive Property Property Property Spring 2018 Pınar Yolum 9

Transitive Property P(x,y) and P(y,z) implies P(x, z) OWL Object Properties <owl:objectproperty rdf:id="locatedin"> <rdf:type rdf:resource="&owl;transitiveproperty" /> <rdfs:domain rdf:resource="&owl;thing" /> <rdfs:range rdf:resource="#region" /> </owl:objectproperty> <Region rdf:id="santacruzmountainsregion"> <locatedin rdf:resource="#californiaregion" /> </Region> <Region rdf:id="californiaregion"> <locatedin rdf:resource="#usregion" /> </Region> Spring 2018 Pınar Yolum 10

Symmetric Property P(x,y) iff P(y,x) OWL Object Properties <owl:objectproperty rdf:id="adjacentregion"> <rdf:type rdf:resource="&owl;symmetricproperty" /> <rdfs:domain rdf:resource="#region" /> <rdfs:range rdf:resource="#region" /> </owl:objectproperty> <Region rdf:id="mendocinoregion"> <locatedin rdf:resource="#californiaregion" /> <adjacentregion rdf:resource="#sonomaregion" /> </Region> Spring 2018 Pınar Yolum 11

Functional Property P(x, y) and P(x,z) implies y=z OWL Object Properties <owl:class rdf:id="vintageyear" /> <owl:objectproperty rdf:id="hasvintageyear"> <rdf:type rdf:resource="&owl;functionalproperty" /> <rdfs:domain rdf:resource="#vintage" /> <rdfs:range rdf:resource="#vintageyear" /> </owl:objectproperty> Spring 2018 Pınar Yolum 12

OWL Object Properties inverseof P1(x,y) iff P2(y,x) <owl:objectproperty rdf:id="hasmaker"> <rdf:type rdf:resource="&owl;functionalproperty" /> </owl:objectproperty> <owl:objectproperty rdf:id="produceswine"> <owl:inverseof rdf:resource="#hasmaker" /> </owl:objectproperty> Spring 2018 Pınar Yolum 13

inversefunctionalproperty P(y,x) and P(z,x) implies y=z OWL Object Properties <owl:objectproperty rdf:id="hasmaker" /> <owl:objectproperty rdf:id="produceswine"> <rdf:type rdf:resource="&owl;inversefunctionalproperty" /> <owl:inverseof rdf:resource="#hasmaker" /> </owl:objectproperty> Spring 2018 Pınar Yolum 14

Restrictions: 1 A unique feature of description logics Like division: define classes in terms of a restriction that they satisfy with respect to a given property Anonymous: typically included in a class def to enable referring them Key primitives are somevaluesfrom a specified class allvaluesfrom a specified class hasvalue equal to a specified individual or data type mincardinality maxcardinality Cardinality (when maxcardinality equals mincardinality) Spring 2018 Pınar Yolum 15

Restrictions: 2 <owl:class rdf:id="wine"> <rdfs:subclassof rdf:resource="&food;potableliquid" /> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="#hasmaker" /> <owl:allvaluesfrom rdf:resource="#winery" /> </owl:restriction> </rdfs:subclassof>... </owl:class> The maker of a Wine must be a Winery. The allvaluesfrom restriction is on the hasmaker property of this Wine class only. Makers of Cheese are not constrained by this local restriction Spring 2018 Pınar Yolum 16

Restrictions: 3 <owl:class rdf:id="player"> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="playsfor /> <owl:somevaluesfrom rdf:resource="#allstarteam /> </owl:restriction> </rdfs:subclassof>... </owl:class> A player is anyone who plays for some AllStarTeam. Spring 2018 Pınar Yolum 17

Restrictions: 4 Cardinality: Ex: Things that have exactly nine players <owl:restriction> <owl:onproperty rdf:resource="#hasplayer /> <owl:cardinality rdf:datatype="&xsd;nonnegativeinteger">9</owl:cardinality> </owl:restriction> MinCardinality or maxcardinality <owl:class rdf:about="http://www.w3.org/tr/2003/pr-owl-guide-20031209/food#juice"> <rdfs:subclassof rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#PotableLiquid"/> <rdfs:subclassof> <owl:restriction> <owl:onproperty rdf:resource="http://www.w3.org/tr/2003/pr-owl-guide- 20031209/food#madeFromFruit"/> <owl:mincardinality rdf:datatype="http://www.w3.org/2001/xmlschema#nonnegativeinteger">1</owl:mincar dinality> </owl:restriction> </rdfs:subclassof> </owl:class> Spring 2018 Pınar Yolum 18

Inference OWL is about content, not the syntax Statements from different documents about the same URI are automatically conjoined OWL declarations may seem conflicting Declare that no one can have more than one mother Declare Mary is John s mother Declare Jane is John s mother A DBMS would declare an integrity violation An OWL reasoner would say Mary = Jane Spring 2018 Pınar Yolum 19

Resources Wine ontology: http://www.w3.org/tr/2004/recowl-guide-20040210/wine.rdf Food ontology: http://www.w3.org/tr/2004/recowl-guide-20040210/food.rdf W3C: http://www.w3.org/tr/owl2-overview/ Editor: Protégé http://protege.stanford.edu/ Reasoners: Pellet: http://www.mindswap.org/2003/pellet/index.shtml Jena: http://jena.sourceforge.net/ OWLAPI:https://github.com/owlcs/owlapi/wiki Spring 2018 Pınar Yolum 20

Reasoners Check ontologies for consistency, infer subsumption relations, answer DL queries HermiT Pellet Fact++ OWL provides conformance tests for reasoners The reasoners can be used inside Protégé or as APIs inside programs Spring 2018 Pınar Yolum

DL Query Syntax is Manchaster OWL Syntax Start a reasoner to run the query Query consistency, classes or individuals Consistency: Individual queries: Returns the set of individuals that satisfy a given description Class queries: Returns the class that is either a superclass, subclass, ancestor, or descendant based on what is asked for Spring 2018 Pınar Yolum

Manchaster Syntax A conjunction of descriptions Class name DataProperty value individual some range min/max/exactly YYY ObjectProperty Spring 2018 Pınar Yolum some/only restriction value individual

Individual Query (1) Query 1: Wine Return: BancroftChardonnay, ChateauChevalBlancStEmilion,. Query 2: Wine and hascolor value Red Return: ChateauChevalBlancStEmilion, ChiantiClassico,... Query3: Wine and locatedin value FrenchRegion Spring 2018 Pınar Yolum Return: ChateauChevalBlancStEmilion,

Individual Query (2) Query 4: Wine and locatedin some (Region and adjacentregion value MendocinoRegion) Wine from Regions that are adjacent to MendocinoRegion Return: CotturiZinfandel, GaryFarrelMerlot,... Query 5: CaliforniaWine and not (hasbody value Medium) Open world assumption Return: CotturiZinfandel, ElyseZinfandel, Not: Kavaklidere Spring 2018 Pınar Yolum

Axioms: 1 Assertions that are given to be true Can be especially powerful in combination with other axioms, which may come from different documents Some primitives rdfs:subclassof owl:equivalentclass Spring 2018 Pınar Yolum 26

Axioms: 2 <owl:alldifferent> <! in essence, pair-wise inequalities <owl:distinctmembers rdf:parsetype='collection'> <ex:country rdf:id='russia'/> <ex:country rdf:id='india'/> <ex:country rdf:id='usa'/> <owl:distinctmembers/> </owl:alldifferent> <ex:country rdf:id='iran'/> <ex:country rdf:id='persia'> <owl:sameindividualas rdf:resource='#iran'/> </ex:country> Spring 2018 Pınar Yolum 27

Restrictions versus Axioms Axioms are global assertions that can be used as the basis for further inference Restrictions are constructors When we state that hasfather has a maxcardinality of 1, we are Defining the class of animals who have zero or one fathers: this class may or may not have any instances Not stating that all animals have zero or one fathers Often, to achieve the desired effect, we would have to combine restrictions with axioms (such as based on equivalentclass) Spring 2018 Pınar Yolum 28

Vocabulary Semantics A trivial ontology Uses simple subclasses and properties Disjointness goes beyond RDF Object properties refine RDF properties; relate two objects <owl:class rdf:id="mammal"> <rdfs:subclassof rdf:resource="#animal"/> <owl:disjointwith rdf:resource="#reptile"/> </owl:class> <owl:objectproperty rdf:id="hasparent"> <rdfs:domain rdf:resource="#animal"/> <rdfs:range rdf:resource="#animal"/> </owl:objectproperty> Spring 2018 Pınar Yolum 29

Simple Inference Given the definition for the property hasparent and <owl:thing rdf:id= Fido"> <hasparent rdf:resource="#rover"/> </owl:thing> we can infer that Fido is an Animal Given that Fido is a mammal, can we infer that Rover is a mammal? Spring 2018 Pınar Yolum 30

Expressiveness Limitations: 1 OWL DL cannot express some simple requirements Non-tree models: because instance variables are implicit in OWL restrictions, OWL cannot express conditions that require that two variables be identified Think of siblings two people who have the same parents but in terms of classes Do the same thing with class definitions Spring 2018 Pınar Yolum 31

Expressiveness Limitations: 2 Specialized properties Cannot state that the child of a mammal must be a mammal and so on without Defining new child properties for each class Adding an axiom for each class stating that it is a subclassof the restriction of haschild to itself Analogous to the problem in a strongly typed object-oriented language without generics You have to typecast the contents of a hash table or linked list Spring 2018 Pınar Yolum 32

Expressiveness Limitations: 3 Constraints among individuals Cannot define tall person: class of persons whose height is above a certain threshold (current average) Can define ETHusband: class of persons who have been married to Elizabeth Taylor (constant) Cannot capture defeasibility (also known as nonmonotonicity) Birds fly Penguins are birds Penguins don t fly Spring 2018 Pınar Yolum 33

Ontology Management Descriptions of services are improved through the use of ontologies But how do we make sure the parties involved agree upon and understand the ontologies needed? Traditional approach: standardize the ontologies via a formal process Emerging approach: be more like the Web; figure out the correct ontology via consensus Spring 2018 Pınar Yolum 34

Standard Ontologies Standardization is more a sociopolitical than a technical process IEEE Standard Upper Ontology Common Logic (language and upper-level ontology) Process Specification Language Space and time ontologies Domain-specific ontologies, such as health care, taxation, shipping, Spring 2018 Pınar Yolum 35