constructing ontologies for semantic web...

66
Tutorial: Constructing Ontologies for Semantic Web Applications Jurika Shakya, Marek Hatala, Vive Kumar [email protected] Simon Fraser University Friday, November 19, 2004

Upload: others

Post on 06-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Tutorial:Constructing Ontologies for Semantic Web Applications

Jurika Shakya, Marek Hatala, Vive [email protected] Fraser University

Friday, November 19, 2004

Page 2: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

2Outline

Tutorial Outline

OverviewDeveloping Sample ontology (in Protégé)Ontology Research in SFU SurreyDemo of Echo

Page 3: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Goal 31. Overview

Goal of this tutorial

Semantic Web and OntologyUnderstand OWL and it’s elementsAble to build an ontology (in Protégé)Know some of the limitations and common mistakes in building ontologyApplication and Use of ontology

Page 4: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

1. Overview

Page 5: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Semantic Web 51. Overview

Ontology OverviewOntology is one of the layer in the foundation for Semantic Web

What is Semantic Web?the Semantic Web, semantic indicates that the meaning of data on the Web can be discovered—not just by people, but also by computers.The purpose of semantic web is to make semantic content accessible to machines and not humans alone.

Ontologies provide the meaning in the Semantic WebOntologies provide a vocabulary of termsNew terms can be formed by combining existing onesMeaning (semantics) of such terms is formally specifiedCan also specify relationships between terms in multiple ontologies

Page 6: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Ontology 61. Overview

Ontology OverviewWhat is ontology?

An ontology is an explicit specification of a conceptualization [Gruber93].

An ontology is an engineering artifact: It is constituted by a specific vocabulary used to describe a certain reality, plus a set of explicit assumptions regarding the intended meaning of the vocabulary. [Horrocks]

Thus, an ontology describes a formal specification of a certain domain:Shared understanding of a domain of interestFormal and machine manipulable model of a domain of interest

Ontology is a catalog of the types of things that are assumed to exist in a domain of interest D from the perspective of a person who uses a language L for the purpose of talking about D [Sowa99]

Page 7: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Ontology 71. Overview

Ontology OverviewWhy Ontology?

Concepts (classes, entities)Properties of concepts (slots, attributes, roles)Relationships between concepts (associations)Additional Constraints (cardinality, type, encapsulation)

These are not all supported by all ontology language or representation. However, these are some of the core of elements of ontology.

Page 8: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Ontology 81. Overview

Ontology OverviewHow to implement Ontology?

There are wide variety of ontology languages and representation Graphical notations

Semantic networks (see http://www.jfsowa.com/pubs/semnet.htm)Topic Maps (see http://www.topicmaps.org/)UML (see http://www.uml.org/)RDF (see http://www.w3.org/RDF/)

Logic basedDescription Logics (e.g., OIL, DAML+OIL, OWL)Rules (e.g., RuleML, LP/Prolog)First Order Logic (e.g., KIF)Conceptual graphs (e.g. CGs. See http://www.jfsowa.com/cg/)(Syntactically) higher order logics (e.g., LBase)Non-classical logics (e.g., Flogic, Non-Mon, modalities)

Probabilistic/fuzzyOWL can be extended to incorporate probabilistic/Fuzzy logic

Page 9: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Ontology 91. Overview

Ontology OverviewRequirements for Ontology Language:

Extends existing Web standards (e.g., RDF, RDFS)Easy to understand and useShould be based on familiar KR idiomsFormally specified Of “adequate” expressive powerPossible to provide automated reasoning support

Two languages were developed to satisfy above requirementsOIL: developed by group of (largely) European researchers (several from EU OntoKnowledge project)DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML programme)

These two languages were merged to form DAML+OIL and presented to w3C

OWL standard language (Feb 2004) based on predecessor DAML+OIL

Page 10: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

OWL 101. Overview

OWL OverviewOWL is a language and framework for representing ontological knowledge and information about the way that the world is structured and fits together.

There are three different variants of OWL implementationOWL Full

based on the union of OWL Syntax and the RDFOWL DL (will be the focus the rest of the tutorial)

Part of OWL Full that fits in the DL FrameworkHas decidable reasoning (DL semantics officially definitive)

OWL LiteA subset of OWL DLEasier reasoning but least expressive

OWL has specific characteristics such asBased on KR idioms (DL)Extends web standards such as XML, RDF, RDFsProduct of research done on DAML, OIL, DAML+OILExpressive powerPossible to provide automated reasoning support

Page 11: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

OWL 111. Overview

OWL OverviewComponents of OWL ontologies:

IndividualsRepresent objects in the domain of discourseAlso known as Instances, constants in FOLNote: Two names could represent the same “real-world” individual as OWL does not use Unique Name Assumption (UNA)

PropertiesBinary relations on individualsA collection of relationships between individualsProperties can have inverse propertiesCan be functional (single value)Can be transitive or symmetricAlso known as slots, attributes (some formalisms, relations (UML), roles (DL)

Page 12: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

OWL 121. Overview

OWL OverviewComponents of OWL ontologies:

ClassesSets of individuals with common characteristics that is formallydescribedCan be arranged as super class-subclass hierarchy, which is also known as a taxonomyAlso known as concepts, category, typeNote: Classes can overlap arbitrarily. If the two classes should not overlap then need to formally set them as disjoint.

Page 13: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

OWL 131. Overview

OWL OverviewDL Components of OWL ontologies:

OWL Class Constructors

Page 14: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

OWL 141. Overview

OWL OverviewDL Components of OWL ontologies:

OWL Axioms

Page 15: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

OWL 151. Overview

OWL OverviewComponents of OWL ontologies:

DL mainly characterized bySet of constructors for building concepts and rolesSet of axioms for asserting facts about concepts, roles and individuals

Benefits of Description LogicLogic allows the axiomatization of the domain information through

SyntaxSemantics

Logical inference or Reasoning

Page 16: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

2. Ontology Editors

Page 17: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

172.Ontology Editors

Ontology Editors

ProtégéOilEdOntolinguaOntoEditWebOntoetc…

coming soon…LORNET’s own ontology editor.

Page 18: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

182.Ontology Editors

Protégé and 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 19: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Requirements 193.Developing Ontology

Developing OntologyRequirements:

Protégé 2.1.1or later (http://protege.stanford.edu/) (current version 3.0)Protégé-OWL plugin (latest) (http://protege.stanford.edu/plugins/owl/)OWLViz (latest) (http://www.co-ode.org/downloads/OWLVizPlugin.html)OWL Wizard (latest) (http://www.co-ode.org/downloads/OWLWizardPlugin.html)Racer (latest) (http://www.sts.tu-harburg.de/~r.f.moeller/racer/)

These are the basics, most are bundled with the latest Protégé download, except for Racer.

Page 20: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

20Outline

Ontology Development Cycle

Ontology development is an iterative process

Ontology development requiressome experience and foresightcommunication between domain experts and developers

Page 21: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.1 Domain and Scope 213.Developing Ontology

Developing OntologyTutorial Sample

Domain: Education TechnologyScope: Teaching Strategies and Tactics Goal: Find Matching Strategy for

Instructor expectationProblem: What is the teaching strategy to

use with potentional content, for a particular student,...

Page 22: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.2 Available Ontologies 223.Developing Ontology

Developing OntologyTutorial Sample

Any existing Ontology?ka.owl(http://protege.stanford.edu/plugins/owl/ontologies.html/ka.html)

Defines concepts from academic research. Contributed by Ian Horrocks

Page 23: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.3 Architecture 233.Developing Ontology

Developing Ontology

Tutorial SampleArchitecture

Required ModelsEducational TheoriesTeaching StrategiesTeaching Tactics

Page 24: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.4 Create Classes 243.Developing Ontology

Developing OntologyCreating Classes

Create a new OWL Project, selecting OWL FilesCreate subclasses to owl:Thing, by clicking To specify that classes are not overlapping, we need to set them to be disjointYou can also use OWL Wizard to create Group of subclasses.

Page 25: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Create OWL Project

Page 26: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

26Create simple class

Page 27: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

27Create group class using wizard

Page 28: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

28Create class hierarchy and set disjoints

Page 29: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.5 Create Properties 293.Developing Ontology

Developing OntologyCreating Properties

Create DataType Property (simple values) for a classAttaches properties to a class.

Create ObjectType Property (references)Attaches properties between instances

Create Annotation Property (add additional information)Attaches additional non-inferable information

Page 30: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

30Create DataType Property

Page 31: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

31Edit Details DataType Property

Page 32: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

32Create ObjectType Property

Page 33: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.5 Properties Characteristics 333.Developing Ontology

Developing OntologyOWL Property Characteristics

Functional Properties (single valued property)Inverse Functional Properties (inverse property is functional)Transitive Properties Symmetric Properties

Property Domain and RangeUsually Domains and Range does not behave as constraints and they can cause ‘unexpected' classification resultsIt is incorrect to specify a class rather than its individuals as range of property

Page 34: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.6 Defining Classes 343.Developing Ontology

Developing OntologyDefining Classes

Property Restrictions (Quantifier, Cardinality, hasValue)

Primitive vs. Defined Class

A class that only has necessary conditions is known as a Primitive Class.A class that has at least one set of necessary and sufficient conditions is known as a Defined Class.

Page 35: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

35Defining Classes - example of property restriction

Page 36: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

36Primitive vs. Defined

Page 37: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.7 Importing Ontology 373. Developing Ontology

Developing OntologyImporting other ontology

Protégé OWL allows importing of one or more external ontologyUpper Ontologies can be imported through the co-ordination of the namespaces.The ontology to be imported is pointed out to the location by the use of namespace URI

Page 38: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

38Importing Other Ontology

Page 39: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

39Importing Other Ontology

Page 40: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.8 Testing Ontology 403. Developing Ontology

Developing OntologyTesting ontology - Setup the test settings

Page 41: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.8 Testing Ontology 413. Developing Ontology

Developing OntologyTesting ontology – Running the test

Page 42: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.7 Reasoner 423. Developing Ontology

Developing OntologyUsing Reasoner*

Use Species validation facility to decide on the OWL sub-languageClassifying TaxonomyCheck consistency

*Note: Have to have Racer or some other reasoner running in the background. Has to be connected to the internet.

Page 43: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

43Starting Racer

Page 44: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

44Starting Racer

Page 45: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

45OWL file

OWL File - Sample<?xml version="1.0"?><rdf:RDF

xmlns:rss="http://purl.org/rss/1.0/"xmlns:jms="http://jena.hpl.hp.com/2003/08/jms#"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:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"xmlns="http://protege.stanford.edu/plugins/owl/owl-library/ka.owl#"xmlns:daml="http://www.daml.org/2001/03/daml+oil#"xmlns:dc="http://purl.org/dc/elements/1.1/"

xml:base="http://protege.stanford.edu/plugins/owl/owl-library/ka.owl"><owl:Ontology rdf:about=""/><owl:Class rdf:ID="PaperLibrary"><rdfs:subClassOf><owl:Class rdf:ID="KAMethodology"/>

</rdfs:subClassOf></owl:Class><owl:Class rdf:ID="Activity"><rdfs:subClassOf><owl:Class rdf:ID="Event"/>

</rdfs:subClassOf></owl:Class>

...

Page 46: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

3.7 Reasoner 463. Developing Ontology

ApproachesDesign patterns in developing Ontology

Value PartitionsNot part of OWL or any other ontology languagesCan be used for refining class descriptionIn Protégé, can create value partition through the OWL Wizard tool

Not many available at the moment, maybe in future tools

Common errors & misconceptionsRestrictions using “allValuesFor” instead of “someValuesFor”

When in doubt, use “SomeValuesFrom”Forgetting to set “Defined class” instead of “Primitive class”OWL is Open World

Everything is possible until we say it is impossibleIn OWL, domain & range constraints are equivalent to “allValuesFrom”restrictionsConfusing kind-of & part-of in constructing the tree.

Page 47: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

47Reference

References:[McBride01] McBride, B. “Four Steps Towards the Widespread Adoption of a

Semantic Web”, Hewlett Packard Laboratories, Filton Road, Bristol, 2001

[Horridge04] A Practical Guide To Building OWL Ontologies With The Protégé-OWL Plugin, Edition 1.0, 2004

[Rector. et al.02] OWL Pizzas:Practical Experience of Teaching OWL-DL:CommonErrors & Common Patterns

[Knublauch04] Editing OWL Ontologies with Protégé, 7th Protégé Conference Workshop, Washinton, DC, 2004

[Knublauch. et al.03] Tutorial:Creating Semantic Web (OWL) Ontologies with Protégé, 2nd International Semantic Web Conference (ISWC2003)

[Knublauch, et al.04 ] The Protégé OWL Plugin: An Open Development Environment for Semantic Web Applications

Page 48: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

48Reference

References:[Medvedeva et.al. 04] Reasoning in a Tutoring System: Transforming

Knowledge to Teaching, Protégé 2004[Pool et.al. 04] KEEPER and Protégé: An Elicitation Environment for

Bayesian Inference Tools, Workshop on Protégé and Reasoning, 2004

[Wang et.al 04] Case Study in Rule Inferencing using Protégé and Jess[Kumar et. al 04] Toward An Ontology of Teaching Strategies, ITS2004,

Brazil, 2004

Page 49: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Walkthrough on Travel Destination Ontology(developed by Holger Knublauch)

Page 50: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

50Outline

Tutorial Scenario

Semantic Web for Tourism/TravelingGoal: Find matching holiday destinations for a customer

I am looking for a comfortable destination

with beach access

Tourism Web

Page 51: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

51Outline

Scenario Architecture

A search problem: Match customer’s expectations with potential destinationsRequired: Web Service that exploits formal information about the available destinations

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

Page 52: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

52Outline

Tourism Semantic Web

Open World:New hotels are being addedNew activities are offered

Providers publish their services dynamicallyStandard format / grounding is needed→ Tourism Ontology

Page 53: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

53Outline

Tourism Semantic Web

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

Tourism Ontology

Web Services

Destination

AccomodationActivity

Page 54: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

54Outline

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

is the shortcut for andExample: A FamilyDestination is a Destination that has at least one Accommodation and at least 2 Activities

Page 55: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

55Outline

hasValue RestrictionsMeaning: At least one of the values of the property is a certain valueSimilar to someValuesFrom but with Individuals and primitive valuesExample: A PartOfSydney is a Destination where one of the values of the isPartOf property is Sydney

Page 56: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

56Outline

Enumerated ClassesConsist of exactly the listed individuals

OneStarRating

TwoStarRatingThreeStarRating

BudgetAccomodation

Page 57: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

57Outline

ClassificationNationalPark

BackpackersDestination

A RuralArea is a DestinationA Campground is BudgetAccomodationHiking is a SportTherefore:Every NationalPark is a Backpackers-Destiantion

(Other BackpackerDestinations)

Page 58: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

58Outline

Classification (2)Input: Asserted class definitionsOutput: Inferred subclass relationships

Page 59: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

59Outline

Visualization with OWLViz

Page 60: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

60Outline

OWL Wizards

Page 61: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Ontology Research in SFU Surrey

at the LOR (Laboratory for Ontology Research)

Page 62: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

62Outline

Research ProjectsJurika Shakya – A framework for curriculum model (student model, courseware model, administrative model, cost model, workflow, …)David Brokenshire and Brittney Bogyo –Ontology for information flow between ePortfolioand User modelJon Hatol – Semantic aggregation of Dance Notation learning objects in Labanotation

Page 63: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

63Outline

Research Projects

Kate Han – Estimation of Quality of Learning Objects using Distributed BBNWenting Ma, Stephanie Chu – Ontology for instructional designTimmy Eap – Course OntologyRob Woodbury – A.VI.RE OntologiesJerry Li – Ontology for eLera

Page 64: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

64Outline

Research Projects

Leila Kalantari - Echo Project – Ontology for Museum visitsAndrew Choi – Wordnet signatures in mapping ontologies at a distanceApril Ng – Competency ontology for recommendation of learning resourcesDerek Kingston and Timmy Eap – Ontology for mapping people to LOR registryJerry Li – Mapping Local Ontologies for eLera

Page 65: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

Demo of Echo

Knowledgebase development and Reasoning using JESS

Page 66: Constructing Ontologies for Semantic Web Applicationscsis.pace.edu/~marchese/CS835/Lec9/hatala.pdf · 1. Overview Ontology 9 Ontology Overview Requirements for Ontology Language:

THANK YOU