Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.

Slides:



Advertisements
Similar presentations
1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
Advertisements

Knowledge Representation
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
OWL TUTORIAL APT CSA 3003 OWL ANNOTATOR Charlie Abela CSAI Department.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
The Semantic Web Week 15 Reasoning with (and Visualising) Ontologies Module Website: Practical :Protégé-2000 WITH.
The Semantic Web Week 14 Module Website: Lecture (SHORT): OWL PIZZAS Practical (LONGER): Getting to know Protégé-2000.
USCISIUSCISI Loom: Basic Concepts Thomas A. Russ USC Information Sciences Institute.
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
WHAT IS INHERITANCE? Java Unit 11: Inheritance I.
Editing Description Logic Ontologies with the Protege OWL Plugin.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Chapter 6 Understanding Each Other CSE 431 – Intelligent Agents.
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
OWL and SDD Dave Thau University of Kansas
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
RDF and OWL Developing Semantic Web Services by H. Peter Alesso and Craig F. Smith CMPT 455/826 - Week 6, Day Sept-Dec 2009 – w6d21.
Building an Ontology of Semantic Web Techniques Utilizing RDF Schema and OWL 2.0 in Protégé 4.0 Presented by: Naveed Javed Nimat Umar Syed.
USCISIUSCISI Background Description Logic Systems Thomas Russ.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
Dr. Shazzad Hosain Department of EECS North South Universtiy Lecture 04 – Part A Knowledge Representation and Reasoning.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
Coastal Atlas Interoperability - Ontologies (Advanced topics that we did not get to in detail) Luis Bermudez Stephanie Watson Marine Metadata Interoperability.
Semantic Web - an introduction By Daniel Wu (danielwujr)
Advanced topics in software engineering (Semantic web)
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
Chapter 3 Part II Describing Syntax and Semantics.
Home Work. Design Principles and Weak Entity Sets.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 2: Defined.
© O. Corcho, MC Suárez de Figueroa Baonza 1 OWL and SWRL Protégé 4: Building an OWL Ontology Mari Carmen Suárez-Figueroa, Oscar Corcho {mcsuarez,
Artificial Intelligence 2004 Ontology
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
Trustworthy Semantic Webs Dr. Bhavani Thuraisingham The University of Texas at Dallas Lecture #4 Vision for Semantic Web.
The RDF meta model Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations of XML compared.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
OWL & Protege Introduction Dongfang Xu Ph.D student, School of Information, University of Arizona Sept 10, 2015.
Knowledge Representation. Keywordsquick way for agents to locate potentially useful information Thesaurimore structured approach than keywords, arranging.
ONTOLOGY ENGINEERING Lab #3 – September 15,
Motivation Dynamically identify and understand information sources Provide interoperability between agents in a semantic manner Enable distributed extensible.
WonderWeb. Ontology Infrastructure for the Semantic Web. IST Project Review Meeting, 11 th March, WP2: Tools Raphael Volz Universität.
Enable Semantic Interoperability for Decision Support and Risk Management Presented by Dr. David Li Key Contributors: Dr. Ruixin Yang and Dr. John Qu.
Of 29 lecture 15: description logic - introduction.
Ontology Technology applied to Catalogues Paul Kopp.
XML DOM Week 11 Web site:
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
BBY 464 Semantic Information Management (Spring 2016) Ontologies and OWL: Web Ontology Language Yaşar Tonta & Orçun Madran [yasartonta,
Artificial Intelligence Logical Agents Chapter 7.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
The Semantic Web By: Maulik Parikh.
Based on ProtegeOWLTutorial at protege website
Information Organization
ece 720 intelligent web: ontology and beyond
Semantic Web Foundations
ece 627 intelligent web: ontology and beyond
Survey of Knowledge Base Content
Session 2: Defined Classes Nick Drummond
Ontology.
ece 720 intelligent web: ontology and beyond
Session 1: Primitive Classes Nick Drummond
CIS Monthly Seminar – Software Engineering and Knowledge Management IS Enterprise Modeling Ontologies Presenter : Dr. S. Vasanthapriyan Senior Lecturer.
Presentation transcript:

Protege OWL Plugin Short Tutorial

OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe the contents of web pages. For example, the definitions from an animal ontology could be used to annotate images from certain animals, and thus tell an intelligent agent that this image shows a black squirrel, while another image shows a spotted koala. OWL defines syntax and semantics for an ontology language that can be used on the web for these purposes.

Syntax vs. Element Catalog OWL documents are typically stored in terms of an XML/RDF file. However, these files are awkward to read, and few people will want to edit them directly. Much more relevant than the syntax of OWL documents is the catalog of modeling elements that it provides.

Resource Types OWL ontologies roughly contain three types of resources: –Classes define concepts from the domain (e.g., the class Koala) –Individuals represent specific instances of classes (e.g., the pink Koala I just saw in my garden) –Properties define the values that each individual can take (e.g., the specific Koala has the color pink)

Strength of OWL Other modeling languages such as UML or XML have similar modeling constructs, and basically OWL can be compared to them. However, the strength of OWL is that it allows us to specify the meaning of classes and properties in various ways, so that intelligent programs can reason about it.

Example

Example Koala is a subclass of Marsupial –In Prot é g é, Koala is shown in the hierarchy below Marsupials, and Marsupial is listed under the necessary conditions. –This means that Koala is a kind of Marsupial. In other words, if we know that something is a Koala, then we also know that it is a Marsupial. –Subclasses inherit the characteristics of their superclasses, i.e. if we have a Koala, then all we know about Marsupials also applies to the Koala.

Example Koalas have dry eucalypt forests as their habitat –In Prot é g é, there is a necessary condition which states that the hasHabitat property must have at least one value of type DryEucalyptForest. –It can have other habitats, too, but we know that one of them must be of the given forest type.

Example Koalas are not hard working –In Prot é g é, there is a necessary condition which states that the isHardWorking property has the value false (the strange e-symbol means "has value"). –This provides some useful information about koalas in general. And they really are lazy. –The restriction means that the property isHardWorking must have the value false for all Koalas. Otherwise it cannot be a Koala, and an intelligent system would notify us about this oddity.

Example Koalas must have exactly one gender and at least one habitat –These two restrictions are inherited from the class animal, because they also hold for animals in general, and not only for koalas. –In Prot é g é, these conditions are listed under "inherited".

Restriction These examples illustrate that you basically define classes by restricting their property values. You can combine various restrictions, and they are inherited into subclasses. The combinations of these restrictions define all conditions that must hold for individuals of the given class.

Necessary Conditions All of the above conditions were necessary conditions only. They only apply in one direction: If we know that something is a koala, then we can deduce that it lives in dry eucalypt forests. If we know that something is an animal, then we can deduce that it has at least one habitat. These conditions do not hold in the other direction: If we know that something lives in a dry eucalypt forest, then we cannot deduce that this thing is necessarily a koala. It could also be a quokka, or a tasmanian devil, for example.

Necessary and Sufficient Conditions If you want to define stronger, bidirectional relationships, then you need to define necessary and sufficient conditions for a class.

Example The class MaleStudentWith3Daugthers is defined as the set of all student that fulfill the given three conditions: –All children of the Student must be of type Female (i.e. daughters) –There must be exactly three children –The Student must have male gender These conditions are listed under necessary & sufficient, i.e. anything that fulfills these conditions at the same time must be an instance of the class MaleStudentWith3Daughters.

Classifiers This is a very powerful statement, and a cornerstone of intelligent reasoning with OWL (using Description Logics). If a class has necessary & sufficient conditions, then intelligent tools can find out additional characteristics of these classes. These tools are called classifiers, and you can find some OWL classifiers on the web (e.g. Racer or FaCT). When you invoke Racer with Protege, the system will show the results of classification such as in the screenshot below.

Inferred In addition to the elements of the ontology that we have asserted, the system displays those that the classifier has inferred, Example: MaleStudentWith3Daughters is a subclass of Male –While the asserted hierarchy only shows MaleStudentWith3Daughters as a subclass of Student, the inferred hierarchy also displays it below Male. –The system has exploited the definition of MaleStudentWith3Daughters, which is a Student whose gender is male plus some other characteristics. –The class Male (not shown here, but you can browse it in Protege) is defined as the class of everything where the hasGender property has the value male. –This is a sufficient condition, and thus the system can find out that any MaleStudentWith3Daughters must also be a Male, although we never explained this to the system.

Inferred MaleStudentWith3Daughters is a subclass of Parent A Parent is defined as an animal that has at least one child. Since we stated that every MaleStudentWith3Daughters has 3 children, the system can deduce that he also has 1 child, and thus must be a Parent, too. This is also displayed in the inferred conditions of the class, where Male and Parent are now listed under the necessary conditions.

Inconsistencies Protege displays both asserted and inferred hierarchies in separate trees, and also provides a list of differences that the classifier has found. Beside changes in the class hierarchies, classifiers can also find inconsistencies between class definitions. (The following screenshot displays an inconsistent class)

Example The class KoalaWithPhD is inconsistent (displayed with a red border), because it defines the class of all Koalas where the hasDegree property has the value PhD. This is fairly uncommon in the real world, and especially contradicts the definitions of our classes. The system here exploits the knowledge that –only Persons can have a degree (formally: the domain of the property hasDegree is Person) –Persons and Marsupials are disjoint, i.e. there is no individual that is at the same time a Person and a Marsupial

Ontology Design Classification and consistency checks support the developers of ontologies very well. During ontology design, you may frequently invoke the classifier to see whether you missed some hidden relationships, or whether you introduced a contradiction. Overall, this should make ontologies much more reusable and safer to use.

Model Modification Whenever the classifier has revealed some new information, you may want to change your model. The list of asserted conditions allows you to copy and paste, and drag and drop conditions between the blocks. For example, you can convert a necessary condition into a necessary & sufficient condition using drag and drop. You can also define multiple blocks of sufficient conditions, in which case each of the blocks must be true for the class.