Tutorial Le Phuoc Son Hoang Huu Hanh Hue University.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

29/11/2004CS646: N. Drummond, M. Horridge1 Presented by the CO-ODE and HyOntUse projects Funded by CS646: OWL Tutorial (session 2)
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
29/11/2004CS646: N. Drummond, M. Horridge1 Presented by the CO-ODE and HyOntUse projects Funded by CS646: OWL Tutorial (session 1)
Developing OWL Ontologies with Protégé 4
Chronos: A Tool for Handling Temporal Ontologies in Protégé
An Introduction to RDF(S) and a Quick Tour of OWL
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 3: Additional.
1 OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors & Common Patterns Alan Rector 1, Nick Drummond 1, Matthew Horridge 1, Jeremy Rogers.
Protege Tutorial Based on ProtegeOWLTutorial at protege website.
Protege Tutorial Based on ProtegeOWLTutorial at protege website.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
1 Ontology Language Comparisons doug foxvog 16 September 2004.
Ontology development in Protégé. Lecture 2 Introduction to Protégé 2 Pablo Romero, Department of Informatics Overview Components of an ontology The ontology.
Protégé Classes, Properties and Instances Susana R. de Novoa UNIK4710.
1 CSC 9010 Spring, Paula MatuszekSome slides taken from
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
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.
From SHIQ and RDF to OWL: The Making of a Web Ontology Language
Editing Description Logic Ontologies with the Protege OWL Plugin.
DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester.
Logics for Data and Knowledge Representation
SEMANTIC WEB, OWL & PROTÉGÉ Matthew J Wood CS 570 – Topics in Artificial Intelligence Spring 2013.
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.
1 Making OWL Easier: Practical Ontology Development in using Protégé-OWL-CO-ODE Tools Alan Rector, Hai Wang, Jeremy Rogers with acknowledgement to Nick.
8/11/2011 Web Ontology Language (OWL) Máster Universitario en Inteligencia Artificial Mikel Egaña Aranguren 3205 Facultad de Informática Universidad Politécnica.
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.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
OWL 2 in use. OWL 2 OWL 2 is a knowledge representation language, designed to formulate, exchange and reason with knowledge about a domain of interest.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
Umi Laili Yuhana December, Context Aware Group - Intelligent Agent Laboratory Computer Science and Information Engineering National Taiwan University.
Advanced topics in software engineering (Semantic web)
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
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,
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
Organization of the Lab Three meetings:  today: general introduction, first steps in Protégé OWL  November 19: second part of tutorial  December 3:
2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester1 Protégé-OWL Tutorial Session 2: Defined Classes Nick Drummond.
© University of Manchester Simplifying OWL Learning lessons from Anaesthesia Nick Drummond BioHealth Informatics Group.
2nd Sept 2004UK e-Science all hands meeting1 Designing User Interfaces to Minimise Common Errors in Ontology Development Alan Rector, Nick Drummond, Matthew.
Protégé-OWL Screens Introduction* *Summarized from various examples from the Protégé web site ( and interacting with the tool.
Ontology Engineering Lab #5 – September 30, 2013.
Ontology Engineering Lab #3 – September 16, 2013.
OWL & Protege Introduction Dongfang Xu Ph.D student, School of Information, University of Arizona Sept 10, 2015.
ONTOLOGY ENGINEERING Lab #2 – September 8,
ONTOLOGY ENGINEERING Lab #3 – September 15,
ece 627 intelligent web: ontology and beyond
Ontology Engineering Lab #4 - September 23, 2013.
BioHealth Informatics Group Copyright © 2005, The University of Manchester1 A Practical Introduction to Ontologies & OWL Additional Exercises: Common Errors.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
1 Letting the classifier check your intuitions Existentials, Universals, & other logical variants Some, Only, Not, And, Or, etc. Lab exercise - 3b Alan.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
A Practical Introduction to Ontologies & OWL
Based on ProtegeOWLTutorial at protege website
Semantic Web Project Status
Information Organization
Stanford Medical Informatics
Presentation by the COODE and
Session 2: Defined Classes Nick Drummond
Ontology.
CS646: OWL Tutorial (session 2)
ece 720 intelligent web: ontology and beyond
Session 1: Primitive Classes Nick Drummond
Ontology.
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
University of Manchester
Presentation transcript:

Tutorial Le Phuoc Son Hoang Huu Hanh Hue University

What is Protégé? Protégé is a free, open-source platform Provides a suite of tools to construct domain models and knowledge-based applications with ontologies Support the creation, visualization, and manipulation of ontologies in various representation formats.

What is Protégé? The Protégé platform supports two main ways of modeling ontologies: The Protégé-Frames editor The Protégé-OWL editor

Protégé-OWL The Protégé-OWL editor enables users to: Load and save OWL and RDF ontologies. Edit and visualize classes, properties, and SWRL rules. Define logical class characteristics as OWL expressions. Execute reasoners such as description logic classifiers. Edit OWL individuals for Semantic Web markup.

Download Protégé-OWL Protégé 4 - support for OWL 2.0 Protégé 3 - support for OWL 1.0, RDF(S), and Frames

Protégé-OWL 3.4.1

Install Protégé-OWL Select “Basic + OWL” in the installation Wizard

Protégé User Interface

Properties Tab

Individuals Tab

Saving Projects

Building an OWL Ontology

Components of OWL Ontologies Individuals: represent objects in the domain that we are interested in.

Components of OWL Ontologies Properties: binary relations on individuals.

Components of OWL Ontologies Classes: sets that contain individuals.

Building an OWL Ontology Start Protégé When the Create New Project dialog box appears, select ‘OWL/RDF Files’ from the ‘Project Type’ list section.

Building an OWL Ontology Specify a URI for this ontology. Pizza Ontology

Building an OWL Ontology Select which elements of OWL and RDF you want to use in your project.

Creating named class Select the Classes tab use the ‘Create subclass’ to create Pizza, PizzaBase and PizzaTopping. Ensuring that owl:Thing is selected before the ‘Create subclass’ button is pressed; Rename the class using the ‘Class editor widget’.

Creating named class

The Initial Class Hierarchy

Disjoint Classes To specify classes that are disjoint from the selected class the ‘Disjoints widget’ which is located in the lower right hand corner of the ‘OWLClasses’ tab is used.

Disjoint Classes Select the class Pizza in the class hierarchy. Press the ‘Add all siblings...’ button on the disjoint classes widget.

Using The OWL Wizards To Create Classes The OWL Wizards plugin is an extensible set of Wizards that are designed to make carrying out common, repetitive and time consuming tasks easy.

Using The OWL Wizards To Create Classes Use the ‘Create multiple subclasses...’ Wizard to create ThinAndCrispy and DeepPan as subclasses of PizzaBase.

Using The OWL Wizards To Create Classes

PizzaTopping: MeatTopping, VegetableTopping, CheeseTopping and SeafoodTopping. MeatTopping: SpicyBeefTopping, PepperoniTopping, SalamiTopping, HamTopping. VegetableTopping: TomatoTopping, OliveTopping, MushroomTopping, PepperTopping, OnionTopping and CaperTopping. PepperTopping: RedPepperTopping, GreenPepperTopping and JalapenoPepperTopping. CheeseTopping: MozzarellaTopping, ParmezanTopping. SeafoodTopping: TunaTopping, AnchovyTopping and PrawnTopping.

Class Hierarchy

Meaning of subClasses

OWL Properties There are two main types of properties, Object properties and Datatype properties. Object properties link an individual to an individual. Datatype properties link an individual to an XML Schema Datatype value or an rdf literal. OWL also has a third type of property – Annotation properties. Annotation properties can be used to add information (metadata— data about data) to classes, individuals and object/datatype properties.

The Different Types of OWL Properties

Create Properties

Create subProperties

Inverse Properties

isToppingOf hasTopping

Functional Properties Property Characteristics Widget

Inverse Functional Properties

Transitive Properties

Symmetric Properties

Property Domain and Range The domain and range for the hasTopping property and its inverse property isToppingOf

Property Domain and Range Specify the range of hasTopping Range Widget

Property Domain and Range Specify the domain of hasTopping Domain Widget

Property Domain and Range Specify the domain of isToppingOf => Specify the domain and range for the hasBase property and its inverse property isBaseOf

Describing and Defining Class Property Restrictions - Quantifier Restrictions - Cardinality Restrictions - hasValue Restrictions.

Describing and Defining Class Quantifier Restrictions - The existential quantifier, which can be read as at least one, or some. - The universal quantifier, which can be read as only

Existential Restrictions The Restriction hasTopping Mozzarella. This restriction describes the class of individuals that have at least one topping that is Mozzarella. The restriction describes an anonymous (unnamed) class of individuals that satisfy the restriction.

Existential Restrictions Conditions Widget

Existential Restrictions Add a restriction to Pizza that specifies a Pizza must have a PizzaBase Type PizzaBase or...

Existential Restrictions Conditions Widget: Description of a Pizza

Existential Restrictions In order for something to be a Pizza it is necessary for it to have a (at least one) PizzaBase

Creating Some Different Kinds Of Pizzas Create a subclass of Pizza called NamedPizza, and a subclass of NamedPizza called MargheritaPizza

Creating Some Different Kinds Of Pizzas Create an existential restriction on MargheritaPizza to specify that a MargheritaPizza has at least one MozzarellaTopping

Creating Some Different Kinds Of Pizzas Create an existential restriction on MargheritaPizza to specify that a MargheritaPizza has at least one TomatoTopping

Creating Some Different Kinds Of Pizzas Create AmericanaPizza by cloning and modifying the description of MargheritaPizza

Creating Some Different Kinds Of Pizzas Create AmericanaPizza by cloning and modifying the description of MargheritaPizza

Creating Some Different Kinds Of Pizzas Create an AmericanHotPizza and a SohoPizza An AmericanHotPizza is almost the same as an AmericanaPizza, but has Jalapeno peppers on it—create this by cloning the class AmericanaPizza and adding an existential restriction along the hasTopping property with a filler of JalapenoPepperTopping. A SohoPizza is almost the same as a MargheritaPizza but has additional toppings of olives and and parmezan cheese create this by cloning MargheritaPizza and adding two existential restrictions along the property hasTopping, one with a filler of OliveTopping, and one with a filler of ParmezanTopping.

Creating Some Different Kinds Of Pizzas Create an AmericanHotPizza and a SohoPizza

Creating Some Different Kinds Of Pizzas Create an AmericanHotPizza and a SohoPizza

Creating Some Different Kinds Of Pizzas Make subclasses of NamedPizza disjoint from each other

Using a Reasoner compute the inferred ontology class hierarchy consistency checking Determining the OWL Sub- Language

Using a Reasoner

Inconsistent Classes Add a Probe Class called ProbeInconsistentTopping which is a subclass of both CheeseTopping and Vegetable

Inconsistent Classes The Class ProbeInconsistentTopping found to be inconsistent by the reasoner

Inconsistent Classes Remove the disjoint statement between CheeseTopping and VegetableTopping, what happens?

Necessary And Sufficient Conditions (Primitive and Defined Classes) All of the classes that we have created so far have only used necessary conditions to describe them. Necessary conditions can be read as, “If something is a member of this class then it is necessary to fulfil these conditions”. With necessary conditions alone, we cannot say that, “If something fulfils these conditions then it must be a member of this class”. A class that only has necessary conditions is known as a Primitive Class.

Create a subclass of Pizza called CheesyPizza and specify that it has at least one topping that is a kind of CheeseTopping Necessary And Sufficient Conditions (Primitive and Defined Classes)

Convert the necessary conditions for CheesyPizza into necessary & sufficient conditions Necessary And Sufficient Conditions (Primitive and Defined Classes)

Use the reasoner to automatically compute the subclasses of CheesyPizza Necessary And Sufficient Conditions (Primitive and Defined Classes)

Download and install a recent version of Graphviz: OWLViz

OWLViz Displaying the Asserted Hierarchy for CheesyPizza OWLViz

OWLViz Displaying the Inferred Hierarchy for CheesyPizza OWLViz

Create a class to describe a VegetarianPizza Universal Restrictions

Create a class to describe a VegetarianPizza Universal Restrictions

Convert the necessary conditions for VegetarianPizza into necessary & sufficient conditions Universal Restrictions

Closure Axioms Press the ‘Classify taxonomy’ button. You will notice that MargheritaPizza and also SohoPizza have not been classified as subclasses of VegetarianPizza

Add a closure axiom on the hasTopping property for MargheritaPizza Closure Axioms

Add a closure axiom on the hasTopping property for SohoPizza Closure Axioms

Automatically create a closure axiom on the hasTopping property for AmericanaPizza Closure Axioms

Automatically create a closure axiom on the hasTopping property for AmericanHotPizza Closure Axioms

Use the reasoner to classify the ontology Closure Axioms

Visualizating in OWLViz Closure Axioms

Visualizating in OWLViz Closure Axioms

Value Partitions to refine our descriptions of various classes.

Value Partitions Create a ValuePartition to represent the spiciness of pizza toppings

Value Partitions Create a ValuePartition to represent the spiciness of pizza toppings

Value Partitions Create a ValuePartition to represent the spiciness of pizza toppings

Value Partitions Create a ValuePartition to represent the spiciness of pizza toppings

Using Quick Restriction Editor Use the properties matrix wizard to specify the spiciness of pizza toppings

Using Quick Restriction Editor Use the properties matrix wizard to specify the spiciness of pizza toppings

Using Quick Restriction Editor Use the properties matrix wizard to specify the spiciness of pizza toppings

Using Quick Restriction Editor Use the properties matrix wizard to specify the spiciness of pizza toppings

Using Quick Restriction Editor Use the properties matrix wizard to specify the spiciness of pizza toppings

Creating Individuals The Individuals Tab

Creating Individuals Create a class called Country and populate it with some individuals

Creating Individuals Create a class called Country and populate it with some individuals

hasValue Restrictions A hasValue restriction, denoted by the symbol , describes the set of individuals that have at least one relationship along a specified property to a specific individual. For example, the hasValue restriction hasCountryOfOrigin  Italy (where Italy is an individual) describes the set of individuals (the anonymous class of individuals) that have at least one relationship along the hasCountryOfOrigin property to the specific individual Italy.

hasValue Restrictions Create a hasValue restriction to specify that MozzarellaTopping has Italy as its country of origin

hasValue Restrictions Create a hasValue restriction to specify that MozzarellaTopping has Italy as its country of origin

hasValue Restrictions Create a hasValue restriction to specify that MozzarellaTopping has Italy as its country of origin

Some different problems Will be presented in the next time??? Cardinality Restrictions Enumerated Classes Annotation Properties...

Thanks for your attention