modulo3 protegè tutorial universita’ di camerino corso di laurea in informatica (classe 23/s)...

77
Modulo3 Modulo3 Protegè Tutorial Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

Upload: christine-wiggins

Post on 03-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

Modulo3 Modulo3 Protegè TutorialProtegè Tutorial

UNIVERSITA’ DI CAMERINOCorso di laurea in Informatica (classe 23/S)

Barbara [email protected]

Anno Accademico 2007-08

Page 2: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

2

This Tutorial

Introduction to OWL, the Semantic Web, and the Protégé OWL Plugin

Theory + Walkthrough

Also available: Tutorial by Matthew Horridge (http://www.co-ode.org)

Similar content but more details on logicOther example scenario (Pizzas)

... Workshop (this afternoon) ... Talks (tomorrow morning)

Page 3: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

3

Overview

The Semantic Web and OWL

Basic OWL

Interactive: Classes, Properties

Advanced OWL

Interactive: Class Descriptions

Creating Semantic Web Contents

Page 4: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

4

The Semantic Web

Shared ontologies help to exchange data and meaning between web-based services

(Image by Jim Hendler)

Page 5: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

5

Wine Example Scenario

Tell me what wines I should buy to serve

with each course of the following menu

Wine Agent

Grocery Agent

Books Agent

I recommend Chardonney or

DryRiesling

Page 6: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

6

Ontologies in the Semantic Web

Provide shared data structures to exchange information between agents

Can be explicitly used as annotations in web sites Can be used for knowledge-based services using

other web resources Can help to structure knowledge to build domain

models (for other purposes)

Page 7: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

7

OWL

Web Ontology Language Official W3C Standard since Feb 2004 Based on predecessors (DAML+OIL)

A Web Language: Based on RDF(S) An Ontology Language: Based on logic

Page 8: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

8

OWL Ontologies

What’s inside an OWL ontologyClasses + class-hierarchyProperties (Slots) / valuesRelations between classes(inheritance, disjoints, equivalents)Restrictions on properties (type, cardinality)Characteristics of properties (transitive, …)AnnotationsIndividuals

Reasoning tasks: classification,consistency checking

Page 9: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

9

OWL Use Cases

At least two different user groupsOWL used as data exchange language(define interfaces of services and agents)OWL used for terminologies or knowledge models

OWL DL is the subset of OWL (Full) that is optimized for reasoning and knowledge modeling

Page 10: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

10

Protégé OWL Plugin

Extension of Protégé for handling OWL ontologies

Project started in April 2003

FeaturesLoading and saving OWL files & databasesGraphical editors for class expressionsAccess to description logics reasonersPowerful platform for hooking in custom-tailored components

Page 11: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

11

OWL Plugin Architecture

Protégé API(Classes, properties,

individuals, etc.)

Protégé GUI(Tabs, Widgets, Menus)

DBStorage P

roté

gé C

ore

Sys

tem

Protégé OWL API(Logical class definitions,

restrictions, etc.)

Protégé OWL GUI(Expression Editor,

Conditions Widget, etc.)

OWL FileStorage

Jena API(Parsing, Reasoning)

OW

L P

lugi

n

OWL Extension APIs(SWRL, OWL-S, etc.)

OWL GUI Plugins(SWRL Editors, ezOWL,OWLViz, Wizards, etc.)

Page 12: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

12

Installation

Bundled in Protégé 2.1 (Full):

12

3

Page 13: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

13

Tutorial Scenario

Semantic Web for Tourism/Traveling Goal: Find matching holiday destinations for a

customer

I am looking for a comfortable destination

with beach access

Tourism Web

Page 14: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

14

Scenario Architecture

A search problem: Match customer’s expectations with potential destinations

Required: Web Service that exploits formal information about the available destinations

Accomodation (Hotels, B&B, Camping, ...)Activities (Sightseeing, Sports, ...)

Page 15: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

15

Tourism Semantic Web

Open WorldNew hotels are being addedNew activities are offered

Providers publish their services dynamically

Standard format / grounding is needed → Tourism Ontology

Page 16: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

16

Tourism Semantic Web

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

Tourism Ontology

Web Services

Destination

AccomodationActivity

Page 17: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

17

OWL (in Protégé)

Individuals (e.g., “FourSeasons”) Properties

ObjectProperties (references) DatatypeProperties (simple values)

Classes (e.g., “Hotel”)

Page 18: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

18

Individuals

Represent objects in the domain Specific things Two names could represent the same “real-world”

individual

SydneysOlympicBeachBondiBeach

Sydney

Page 19: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

19

ObjectProperties

Link two individuals together Relationships (0..n, n..m)

Sydney

BondiBeachhasPart

FourSeasonshasAccomodation

Page 20: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

20

Inverse Properties

Represent bidirectional relationships Adding a value to one property also adds a value to

the inverse property

Sydney

BondiBeachhasPart

isPartOf

Page 21: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

21

Transitive Properties

If A is related to B and B is related to C then A is also related to C

Often used for part-of relationships

Sydney

BondiBeach

hasPart

NewSouthWales

hasPart

hasPart (derived)

Page 22: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

22

DatatypeProperties

Link individuals to primitive values(integers, floats, strings, booleans etc)

Often: AnnotationProperties without formal “meaning”

Sydney

hasSize = 4,500,000isCapital = truerdfs:comment = “Don’t miss the opera house”

Page 23: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

23

Classes

Sets of individuals with common characteristics Individuals are instances of at least one class

City

Sydney

Beach

Cairns

BondiBeach

CurrawongBeach

Page 24: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

24

Range and Domain

Property characteristicsDomain: “left side of relation” (Destination)Range: “right side” (Accomodation)

Sydney

BestWestern

FourSeasonshasAccomodation

DestinationAccomodation

hasAccomodation

Page 25: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

25

Domains

Individuals can only take values of properties that have matching domain

“Only Destinations can have Accomodations” Domain can contain multiple classes Domain can be undefined:

Property can be used everywhere

Page 26: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

26

Superclass Relationships

Classes can be organized in a hierarchy Direct instances of subclass are also (indirect)

instances of superclasses

Cairns

Sydney

Canberra

Coonabarabran

Page 27: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

27

Class Relationships

Classes can overlap arbitrarily

City

Sydney

CairnsBondiBeach

RetireeDestination

Page 28: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

28

Class Disjointness

All classes could potentially overlap In many cases we want to make sure they don’t

share instances

Sydney

UrbanArea RuralArea

SydneyWoomera

CapeYork

disjointWith

City Destination

Page 29: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

29

(Create a new OWL project)

Page 30: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

30

(Create simple classes)

Page 31: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

31

(Create class hierarchy and set disjoints)

Page 32: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

32

(Create Contact class with datatype properties)

Page 33: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

33

(Edit details of datatype properties)

Page 34: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

34

(Create an object property hasContact)

Page 35: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

35

(Create an object property with inverse)

Page 36: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

36

(Create the remaining classes and properties)

Page 37: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

37

Class Descriptions

Classes can be described by their logical characteristics

Descriptions are “anonymous classes”

Things with three star accomodation

Things with sightseeing opportunities

RetireeDestination

SydneySanJose

BlueMountains

Page 38: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

38

Class Descriptions

Define the “meaning” of classes Anonymous class expressions are used

“All national parks have campgrounds.”“A backpackers destination is a destination that has budget accomodation and offers sports or adventure activities.”

Expressions mostly restrict property values (OWL Restrictions)

Page 39: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

39

Class Descriptions: Why?

Based on OWL’s Description Logic support Formalize intentions and modeling decisions

(comparable to test cases) Make sure that individuals fulfill conditions Tool-supported reasoning

Page 40: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

40

Reasoning with Classes

Tool support for three types of reasoning exists:Consistency checking:Can a class have any instances?

Classification:Is A a subclass of B?

Instance classification:Which classes does an individual belong to?

For Protégé we recommend RACER(but other tools with DIG support work too)

Page 41: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

41

Restrictions (Overview)

Define a condition for property values allValuesFrom

someValuesFrom

hasValue

minCardinality

maxCardinality

cardinality An anonymous class consisting of all individuals

that fulfill the condition

Page 42: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

42

Cardinality Restrictions

Meaning: The property must have at least/at most/exactly x values

is the shortcut for and

Example: A FamilyDestination is a Destination that has at least one Accomodation and at least 2 Activities

Page 43: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

43

allValuesFrom Restrictions

Meaning: All values of the property must be of a certain type

Warning: Also individuals with no values fulfill this condition (trivial satisfaction)

Example: Hiking is a Sport that is only possible in NationalParks

Page 44: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

44

someValuesFrom Restrictions

Meaning: At least one value of the property must be of a certain type

Others may exist as well Example: A NationalPark is a RuralArea that has at

least one Campground and offers at least one Hiking opportunity

Page 45: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

45

hasValue Restrictions

Meaning: At least one of the values of the property is a certain value

Similar to someValuesFrom but with Individuals and primitive values

Example: A PartOfSydney is a Destination where one of the values of the isPartOf property is Sydney

Page 46: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

46

Enumerated Classes

Consist of exactly the listed individuals

OneStarRating

TwoStarRatingThreeStarRating

BudgetAccomodation

Page 47: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

47

Logical Class Definitions

Define classes out of other classes unionOf (or) intersectionOf (and) complementOf (not)

Allow arbitrary nesting of class descriptions (A and (B or C) and not D)

Page 48: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

48

unionOf

The class of individuals that belong to class A or class B (or both)

Example: Adventure or Sports activities

Adventure Sports

Page 49: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

49

intersectionOf

The class of individuals that belong to both class A and class B

Example: A BudgetHotelDestination is a destination with accomodation that is a budget accomodation and a hotel

BudgetAccomodation

Hotel

Page 50: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

50

Implicit intersectionOf

When a class is defined by more than one class description, then it consists of the intersection of the descriptions

Example: A luxury hotel is a hotel that is also an accomodation with 3 stars

AccomodationWith3StarsHotel

LuxuryHotel

Page 51: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

51

complementOf

The class of all individuals that do not belong to a certain class

Example: A quiet destination is a destination that is not a family destination

DestinationFamilyDestination

QuietDestination (grayed)

Page 52: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

52

Class Conditions

Necessary Conditions:(Primitive / partial classes)“If we know that something is a X,then it must fulfill the conditions...”

Necessary & Sufficient Conditions:(Defined / complete classes)“If something fulfills the conditions...,then it is an X.”

Page 53: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

53

Class Conditions (2)

QuietDestination

NationalPark

(not everything that fulfills theseconditions is a NationalPark)

(everything that fulfills theseconditions is a QuietDestination)

Page 54: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

54

Classification

NationalPark

BackpackersDestination

A RuralArea is a Destination A Campground is

BudgetAccomodation Hiking is a Sport Therefore:

Every NationalPark is a Backpackers-Destiantion

(Other BackpackerDestinations)

Page 55: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

55

Classification (2)

Input: Asserted class definitions Output: Inferred subclass relationships

Page 56: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

56

(Create an enumerated class out of individuals)

Page 57: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

57

(Create a hasValue restriction)

Page 58: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

58

(Create a hasValue restriction)

Page 59: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

59

(Create a defined class)

Page 60: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

60

(Classify Campground)

Page 61: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

61

(Add restrictions to City and Capital)

Page 62: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

62

(Create defined class BackpackersDestination)

Page 63: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

63

(Create defined class FamilyDestination)

Page 64: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

64

(Create defined class QuietDestination)

Page 65: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

65

(Create defined class RetireeDestination)

Page 66: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

66

(Classification)

Page 67: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

67

(Consistency Checking)

Page 68: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

68

Visualization with OWLViz

Page 69: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

69

OWL Wizards

Page 70: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

70

Putting it All Together

Ontology has been developed Published on a dedicated web address Ontology provides standard terminology Other ontologies can extend it Users can instantiate the ontology to provide

instancesspecific hotelsspecific activities

Page 71: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

71

Ontology Import

Adds all classes, properties and individuals from an external OWL ontology into your project

Allows to create individuals, subclasses, or to further restrict imported classes

Can be used to instantiate an ontology for the Semantic Web

Page 72: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

72

Tourism Semantic Web (2)

OWLMetadata

(Individuals)Tourism Ontology

Web Services

Destination

AccomodationActivity

Page 73: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

73

Ontology Import with Protégé

On the Metadata tab:Add namespace, define prefixCheck “Imported” and reload your project

Page 74: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

74

Individuals

Page 75: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

75

Individuals

Page 76: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

76

OWL File

<?xml version="1.0"?>\<rdf:RDF xmlns="http://protege.stanford.edu/plugins/owl/owl-library/heli-bunjee.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:travel="http://protege.stanford.edu/plugins/owl/owl-library/travel.owl#" xml:base="http://protege.stanford.edu/plugins/owl/owl-library/heli-bunjee.owl">

<owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/owl-library/travel.owl"/> </owl:Ontology>

<owl:Class rdf:ID="HeliBunjeeJumping"> <rdfs:subClassOf rdf:resource="http://protege.stanford.edu/plugins/owl/owl-library/travel.owl#BunjeeJumping"/> </owl:Class>

<HeliBunjeeJumping rdf:ID="ManicSuperBunjee"> <travel:isPossibleIn> <rdf:Description rdf:about="http://protege.stanford.edu/plugins/owl/owl-library/travel.owl#Sydney"> <travel:hasActivity rdf:resource="#ManicSuperBunjee"/> </rdf:Description> </travel:isPossibleIn> <travel:hasContact> <travel:Contact rdf:ID="MSBInc"> <travel:hasEmail rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[email protected] </travel:hasEmail> <travel:hasCity rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Sydney</travel:hasCity> <travel:hasStreet rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Queen Victoria St</travel:hasStreet> <travel:hasZipCode rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1240</travel:hasZipCode> </travel:Contact> </travel:hasContact> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Manic super bunjee now offers nerve wrecking jumps from 300 feet right out of a helicopter. Satisfaction guaranteed.</rdfs:comment> </HeliBunjeeJumping>

</rdf:RDF>

Page 77: Modulo3 Protegè Tutorial UNIVERSITA’ DI CAMERINO Corso di laurea in Informatica (classe 23/S) Barbara Re barbara.re@unicam.it Anno Accademico 2007-08

77

Ci sono domande?