Coastal Atlas Interoperability - Ontologies

Post on 28-Jan-2016

40 views 0 download

Tags:

description

Coastal Atlas Interoperability - Ontologies. Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative. 1. Day 1. Preparation. Pre-paration (5 min). Create groups of 2. Every group will have a number (X) Your working ontology will be aX.owl - PowerPoint PPT Presentation

Transcript of Coastal Atlas Interoperability - Ontologies

Coastal Atlas Interoperability - Ontologies

Luis Bermudez

Stephanie Watson

Marine Metadata Interoperability Initiative1

2

Day 1

3

Preparation

4

Pre-paration (5 min)

•Create groups of 2.•Every group will have a number (X)•Your working ontology will be aX.owl•Example: Group 10 should work on a10.owl•One group will also be the super atlas master group - so they will add resources to this ontology if needed. (more later)

5

Pre-paration (10 min)

•Make sure that:•CMAP works•TopBraidComposer works•You can access the SVN repository

CMAP• tool to create concept maps

54

TopBraidComposer (TBC)

• TBC is a tool to develop Semantic Web ontologies and semantic applications in RDF

• Walk through the help system and Ch 3. of the tutorial

54

8

Help in TopBraidComposer

1

2

3

4

5

Configuring Help

• Click on Help / Help Contents• Click on Search Scope hypertext•Click on New• Give a name e.g. TopBraid• Select TopBraid Composer• Click OKs

Introduction to Subversion (SVN)• an open source version control system• allows users to keep track of changes made

over time to any type of electronic data• typical uses are versioning source code, web

pages or design documents

55

•Used in this tutorial to publish ontologies... simulating a distributed environment

Check that SVN is Installed in TBC

56

• Window Menu• Show View• Other

Should See the SVN Repository Folder

If not, install SVN plugin

• Help Menu• Software Updates• Find and Install

• Click on “…new features”

• Check “subclipse update site” box

• Click on “new remote site”

• Type URL of the SVN plugin and follow instructions

Create Project from SVN Repository

• Window Menu• Show View• Other

• Select SVN Repository

• A view titled “SVN Repository” should have appeared.

• Right click and select:New

Repository Location

• Type the following URL: https://ont.googlecode.com/svn/trunk/ and click on Finish

• User: mmidemo• Password: j6x4e4b8

• Right click on “ont-coastal” folder

• Choose Checkout• “Accept

permanently”

• Checkout and create a new project, for example, “ont-coastal”

• You should have a project with the ontologies available

22

SVN Operations

Publish changes

Update the files in your local directory

Explore changes

Overview• Goals• Introduction to Ontologies• Ontology Components and Practical Exercise• Advanced Ontology Concepts

– Mappings

– Restrictions and Description Logic

– SPARQL and Rules

• MMI Tools• Ontology Engineering• Interoperability Demonstration• Discussions

2

Goals

• Gain an understanding of controlled vocabularies (CVs) and ontologies

• Hands on experience developing ontologies

• Learn enough to write proposal to go further

• Have fun

3

Introduction to Ontologies (20 min)

Semantic Interoperability Problems

•Semantic Interoperability•Controlled Vocabularies•Ontologies, RDF, OWL etc..

Interoperability

Diversity

Making Connections

Confusion

What happens if we are not semantically interoperable ?

•We cannot find all the data that we are seeking.

•p. 41 of Workshop 1 report: “Terminology used to describe similar data can vary between specialties or regions, which can complicate data searches and data integration.”

•We get too many results and they are hard to classify.

Semantic Interoperability Problem: Can’t find all the data

Semantic Interoperability Problem:Information Overload

Need Categorizations ...

Agreements on content help solve semantic

interoperability problems.

Ontologies could be a mechanism

Ontologies facilitate agreement on:

• controlled vocabularies• mappings• categories• knowledge of a domain

Controlled Vocabularies (CVs) What are they?

• a set of restricted words, used by an information community when describing resources or discovering data;

• prevents misspellings and avoids the use of arbitrary, duplicative, or confusing words that cause inconsistencies when cataloging or searching data.

• For example:– Glossary, dictionary– Classifications and categories– Relationship categories

15

Examples of CVs in Use SeaDataNet - http://www.seadatanet.org

16

Examples of CVs in Use:Consortium of Universities for the

Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org

17

Examples of CVs in Use:OGC URN Resolver

18

19SOAP WSDL

It is not always possible to agree

on one and only one vocabulary

Ontologiesfacilitate agreement on:

• controlled vocabularies• mappings• categories• knowledge of a domain

50

Interoperability

51

Ontologies facilitate agreement on:

• controlled vocabularies• mappings• categories (is a type of mapping -:> )• knowledge of a domain

Example Oregon Atlas

24

Categories Example - Oregon Coastal Atlas

Ontologies facilitate agreement on:

• controlled vocabularies• mappings• categories• knowledge of a domain

27

Knowledge Domain Representation

OntologiesGood for Expressing Formally:

• controlled vocabularies• mappings• categories• knowledge of a domain

•formal

•machine friendly

how ?

Formal

RDF

ResourceDescriptionFramework

RDF

radarrainmeasures

Drexel

dbZ

is in

DIX

is a

Philadelphia

covers 0

Value is

publishes

NOAAoperates

Most recent average

Has units

Raining

Related noun

No Raining Negation of

measures

Value is

Has units

Subject Objectpredicate

RDF Simple Graph Model

Observation

platform

observed property

Sea water Temperature

define inMBARI

SOS

bounded by

36.69 -122.338 0

Lower corner

valuecrs

EPSG:6.5:4329

urn:ogc:def:crs:EPSG:6.5:4329

Mooring feature of interest

Monterey Bay

http://geonames.usgs.gov/pls/gnispublic/f?…:234322

http://marinemetadata.org/platform#MooredBuoy

http://marinemetadata.org:9600/oostethys/sos

http://marinemetadata.org/2005/02/ioos#Temperature

Temperature

narrower than

http://marinemetadata.org/cf#sea_water_temperature

Water based platform

isARDF

URI

• http://somehost/absolute/URI/resource.jpg• ftp://somehost/resource.txt• urn:issn:1535-3613• mailto:infobot@ex.com?subject=suscribe• SIN://16137224697

“Most fundamental web stuff”

RDF Serialization

•RDF/XML

•Turtle

•N3

•N-Triple

•...

RDF is graph model that could be “stored” in different formats

Ontologies .. good for expressing formally

• controlled vocabularies• mappings• categories• knowledge of a domain

•formal

•machine friendly

how ?

how ?•RDF

•Web Resources

Ontology Web Language IOWL) (OWL)

•RDF/XML is the syntax

• is a representation language for ontologies

•extends RDFS by allowing representation of more complex relationships and more precise constraints on classes and properties

•uses URIs

• is the “lingua franca” of the Semantic Web

BREAK !• Next: SeaDataNet use case (Roy Lowry)

37

SeaDataNet Ontology Use Case SeaDataNet Ontology Use Case

Roy Lowry

British Oceanographic Data Centre

Coastal Atlas Interoperability Workshop, Corvallis, July 17-19 2007Coastal Atlas Interoperability Workshop, Corvallis, July 17-19 2007

(+ Lessons Learned)(+ Lessons Learned)

SummarySummary

What is SeaDataNet?

Some SeaDataNet semantic issues

What has SeaDataNet done?

What is SeaDataNet going to do?

Is SeaDataNet relevant to CAI?

What is SeaDataNet?What is SeaDataNet?

SeaDataNet in a Nutshell Combine over 40 oceanographic data centres across

Europe into a single interoperable data system

Approach is to adopt established standards and technologies wherever possible

Two phases:

One brings 12 centres together with centralised metadata and distributed data as files. Due fully operational in autumn 2008 (beta next February)

Two introduces data virtualisation, aggregation, cutting and 30 more centres. Due in 2010

Project is well on its way up the interoperability operational implementation curve

SeaDataNet Semantic Issues SeaDataNet Semantic Issues

The major problem facing the project is heterogeneous legacy content SeaDataNet inherited 3 independently-developed

metadatabases

Each is heavily populated (3000-30000 records)

Each had its own independently developed controlled vocabularies

These vocabularies

– Covered overlapping domains

– Said similar things in different ways

– Provided a shining example of how NOT to manage vocabularies

Brief DiversionBrief Diversion

Vocabularies can have two types of governance Content governance

Mechanism for making decisions on vocabulary population

– Expected deliverables include:» Vocabulary standards and internal consistency» Change on a timescale matching the needs of

the user community» Terms with definitions!!!

Technical governance Vocabulary storage, maintenance and serving

– Expected deliverables include:» Convenient access to up to date vocabularies» Clear, rigorous vocabulary versioning» Version history through audit trails» Maintenance that doesn’t break user systems

SeaDataNet Semantic IssuesSeaDataNet Semantic Issues

Vocabulary content governance Done by individuals who were often inadequately qualified

to do the job Metadata entry form with an ‘Add to Vocabulary’ button

used by students

Vocabulary technical governance Scattered files on servers or inaccessible database tables Multiple data models (e.g. some with abbreviations, some

without) No versioning Vocabularies updated by destructive overwrites

Harmonisation required for related vocabularies Within centralised metadata Between partner local systems and centralised metadata

What has SeaDataNet Done?What has SeaDataNet Done?

Established content governance

Within SeaDataNet (TTT e-mail list)

Further afield (SeaVoX e-mail list)

Established technical governance

Adopted the NERC DataGrid Vocabulary Server

– Heavily defended Oracle back end

– Automated version and audit trail management

– Web Service API front end plus clients e.g. http://vocab.ndg.nerc.ac.uk/client/vocabServer.jsp

– Currently serving out 75 lists

Established a Mapping Infrastructure

List entries connected by SKOS RDF triples

Operational mappings between parameter vocabularies (GCMD science keywords, CF Standard Names)

What is SeaDataNet Going To Do?What is SeaDataNet Going To Do?

Harmonise centralised metadata vocabularies or map if too hard

Map centralised vocabularies to partner system vocabularies

Build metadata crosswalks and generators (e.g. from CF) that include semantics (Use case 1)

Implement ‘Smart Discovery’ for legacy plaintext. E,g. search for pigment, find chlorophyll (Use case 2)

Establish URLs to represent vocabularies and individual entries delivering XML – probably SKOS – documents

Extend mapping efforts to other areas such as ‘devices’

Release a much improved Vocabulary Server API (mid-August)

Is SeaDataNet Relevant to CAI?Is SeaDataNet Relevant to CAI?

This workshop is about building a coastal atlas ontology that brings together semantic resources that say similar things in different ways

The vocabulary entry semantic content may be different from oceanographic parameters, but the problem is essentially the same

If it works for SeaDataNet it will probably work for the CAI community

More important – if it didn’t work for SeaDataNet then it probably won’t work for CAI

Is SeaDataNet Relevant to CAI?Is SeaDataNet Relevant to CAI?

What has worked for SeaDataNet: The NERC DataGrid Vocabulary Server

Content governance through a MODERATED e-mail list (also works pretty well for CF Standard Names)

Representing vocabulary terms by URNs in metadata documents

What I believe will work in the next 12 months: Semantic interoperability through mappings

The conceptual framework of RDF in general and SKOS in particular

21st Century tooling

Is SeaDataNet Relevant to CAI?Is SeaDataNet Relevant to CAI?

What hasn’t worked for SeaDataNet: Weak content governance

Examples– Terms without definitions– Vocabularies without strict entity definitions populated by mixed

entities e.g. » helicopter = class » RRS Discovery = instance

– Vocabularies without managed deprecation

Poor technical governance

Example– A vocabulary served by:

» Dynamic web page from database» Static HTML page» ASCII file as e-mail attachment» Each having a different number of entries….

That’s All Folks!That’s All Folks!

Thank you for your attention

Any questions?

Morals

Always provide definitions for your terms

If you are going to use vocabularies to build an ontology make sure that they are properly governed

79

Welcome back

• Recap• Define an ontology• Play with concepts• Details on components of ontologies

79

Ontologies .. good for expressing formally

• controlled vocabularies• mappings• categories• knowledge of a domain

•formal

•machine friendly

how ?

how ?•RDF

•Web Resources

Ontologies basic definition

• capturing the knowledge of a domain, including simple controlled vocabularies

• expressing hierarchies of concepts

• interrelating vocabularies via formal mappings

formal mechanism for:

82

Components of an Ontology• Classes• Individuals• Properties

• But first... what is a concept ?

What is a Concept ?Graph of Concepts

Explicit representation of realities:

Body of Water

Feature

LAKE

hasShape

Concept Maps

Warming upGraph of Concepts

38

Concept Maps (10 min)

• Open CMAP tools• Create a concept map about what you would

expect to find on a Recreational Atlas Web site

Classes

• Classes define concepts in a domain – Nouns, boxes in previous exercise

• Classes are organized in hierarchies:– Example: Habitat is super class of Wetland

• Classes are sets that contain individuals

42

89

Individuals• Individuals represent real objects in the

domain in which we are interested. • They are the members of a class.

48

42

Elkhorn Slough NERR Malheur National Wildlife Refuge

Wetland

Ontology Example

hasName: Elkhorn Slough

isLocatedIn

hasName: MontereyArea_in_skm: xxx

Wetland City

GeographicFeature

Class

Datatype Property

IndividualObject Property

Classes - subclasses

Wetland City

Geographic Feature

Individuals

Wetland City

GeographicFeature

Class

Individual

Properties• Properties are relationships (loosely, verbs)

between two individuals.– lines in previous exercise

• 2 types:– Object Properties link an individual to

an individual– Datatype properties link an individual

to a Literal (String, integer, etc..). Defined as XML Schema datatypes.

45

Object Properties

isLocatedIn

Wetland City

GeographicFeature

Class

IndividualObject Property

Domain of isLocatedIn Range of isLocatedIn

Domain and Range

isLocatedIn

Wetland City

Class Wetland isDomain of isLocatedIn

Class City isRange of isLocatedIn

Object Properties have classes as domainsObject Properties have classes as ranges... connect objects, which are instances of a class

Datatype Properties

hasName: Elkhorn Slough

isLocatedIn

hasName: MontereyArea_in_skm: 70

Wetland City

GeographicFeature

Class

Datatype Property

IndividualObject Property

Domain is a class Range is a simple type : String, float, etc...

Ontology Example

hasName: Elkhorn Slough

isLocatedIn

hasName: MontereyArea_in_skm: 70

Wetland City

GeographicFeature

Class

Datatype Property

IndividualObject Property

Viewing a Simple Ontology

• View an example ontology containing the Elkhorn Slough National Estuarine Research Reserve and the Malheur National Wildlife Refuge

69

Open Ontology and Explore Classes

• View Classes tab– Note icons on upper right

•create subclass•create sibling class•delete class•menu triangle with different options

including viewing the hierarchy as starting with class “thing”. This latter menu option is important, since this is not the default of TopBraid, but is a very useful way to view a class hierarchy.

Explore Classes• Double click on class “Wetland” (subclass of

“GeographicFeature”) in wetlands.owl– view class form, note annotations and axioms; can drag

and drop annotation properties onto the form– can create subclasses by clicking on the name of the

(super) class in the view class diagram– see other classes and their relationships to (properties)

this class– view class diagram– view instances tab, see list of instances of this class– view import tab (this is where the namespaces of

imported ontologies would appear)– view domain tab– view SPARQL tab Queries on your class(es)

Explore Individuals

• View instances tab• Note the icons in the upper right. You can create (choosing the

class to which it will belong, first) or delete an instance, or use the instance menu to accomplish such tasks as exporting the instances to a spreadsheet.

• Double click on the instance “ElkhornSloughNERR”

• View the resource form (just above the instances tab).

• Note the name of the instance annotations, properties (especially note that the property list for the instance will include any properties identified for the class of which that instance is a member)

Explore Properties• Double click on the property “hasActivity”

– View properties tab (on right)• Note icons for creating property, deleting property, menu

triangle for creating specific types of properties (object, data type and annotation properties).

– View properties form• Note that each property has a name, may have annotations, and

may have axioms (e.g., domain, range)– think of domain as the class that has this property (e.g.,

“Wetland”) and range as the valid “value” for the property (e.g., “Activity”)

• Note that each property can also be a(n):– Subproperty of (properties can be hierarchical)– Inverse of– at the bottom, you should also see what type of property it is

(object, datatype)

Explore Properties

• View properties form (continued)•Note menus on top right on the property

form, that can:– add widget for property– show widgets for all properties with matching

domains,– arrange widgets in 2 columns– also, an inverted triangle menu with lots of

options»E.g., will find the property name on

Google, Wikipedia»E.g., will find all the usages of the

property in your workspace, etc.)

Exercise

•(it should be ~ 2:00 PM by now)

70

Hands on exercise TBC

69

111

Exploring TBC (1:40 - 2:30)

• Follow the guide: TBC Getting-Started-Guide• Let’s all create a simple ontology ... follow

the screen instructions

Atlas Interoperability Exercise

For any interoperability endeavor the first thing that should happen is getting the requirements right !

Use Cases

113

Atlas Interoperability

Use Case and Proposed User Interface

The topics found are the ones that will be explicitly created as well as inferred ones based on logic.

115

Atlas OntWeb

Note...Q: Where is the data coming from ?

A: Distributed sources, which are simulated by each ontology you are creating.

Very different from traditional databases.

Process

1. Create person-topic ontology (- 3:30)2. Break (3:30 - 3:45)3. Map with Upper Level person-topic ontology (- 4:30)4. Publish to SVN5. View web application - use case 1 completed !6. Discussion (-5:00)7. Map topics with Atlas Topics8. Publish mappings

Create a simple ontology that captures topics of interest of persons

• Use concepts from the CMAP exercise, if possible

• Create at least:– 3 Classes (on any level)

– 1 Object Property - define domain and range

– 2 Datatypes Properties - define domain and range

– 2 Individuals for class Person, and 4 for each of the other classes you create

– Add properties and values to individuals. e.g. luis hasInterest YOGA

• For example, include as topics recreational concepts that you would expect to find on an atlas

• Have fun

• If problems occur, use help system or TBC tutorial. If more problems occur, raise your hand 75

Make your person-topic ontology (XYZ) interoperable with the

FOAF ontology

75

120

Interoperability

We will make your person-topic ontology (XYZ) interoperable

with the FOAF ontology

75aX.owl

your ontology

122

Experts are now “Atlases”•Which two groups created more topics than anybody else ?

•They will become atlases. They will map their classes and properties to a a super atlas ontology.

•Change the class name “person” to “atlas” to avoid confusion.

•Import superatlas.owl (an upper atlas ontology)

•Make your classes subclasses of Atlas, and Feature. Make one of your properties a subclass of hasFeature.

•Follow similar instructions as the other groups to make your ontology aligned with superatlas.owl.

Map with Person Upper Level Ontology (foaf.owl)

75

•Import upper person ontology foaf.owl

75

Map with person upper ontologyMake your classes as subclasses of a FOAF class. For example if you have a class Person, make it subclass of foaf:Person

75

Make one of your properties sub-properties of foaf:topic_of_interest

75

Commit to SVN

75

Check the web - is your filename there ?URL is:http://marinemedata.org:9600/fs

128

Discussion

75

• Did you need to do any changes to your ontology ?

• We are presenting values of instances in the web interface, but this is not always the case.

129

Discussion

75

• You are a FOAF person because you created a statement that said that:– You foaf:topic_of_interest Topic

• AND – foaf:topic_of_interest has domain foaf:person

• Test it !• Make your person class not • a subclass of foaf:Person• Run the inference • engine

End Day 1• Person (local name) with HasName property – easier with semantically neutral

key

• American vs. British English? – HasLabel, HasLabel, HasLabel, or UKName, USName

• Reminder: RDF Property is highest level, then OWL added new restrictions (ObjectProperty for individual-to-individual and DataProperty for linking integers, strings to individuals)

• We need to create an upper ontology

• Extract all your semantics into an ontology, build an upper ontology

76

Examples of CVs in Use:Consortium of Universities for the

Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org

17

132

Day 2

Wednesday Advanced Fun

77

134

Recap from Yesterday• We had an introduction to ontologies • We had a hands on experience on linking

“topics of interest” ontologies to an upper level ontology.

Overview

• Goals• Introduction to Ontologies• Ontology Components and Practical Exercise• Advanced Ontology Concepts

– Mappings

– Restrictions and Description Logic

– SPARQL and Rules

• MMI Tools• Ontology Engineering• Interoperability Demonstration• Discussions

2

136

Mapping ala SKOS

An RDF vocabulary for describing the basic structure and content of concept schemes such as thesauri, classification schemes, subject heading lists, taxonomies, 'folksonomies', other types of controlled vocabulary, and also concept schemes embedded in glossaries and terminologies

137

SKOS

• provides a standardized way of representing KOS, such as thesauri, classification schemes, and taxonomies

• uses RDF– RDF vocabularies:

• SKOS Core (for describing KOS)• SKOS Mapping (for mapping between concepts -

broad, narrow, exact match)• SKOS Extensions

137

138

Mapping ala SKOS

• import skos.owl• it defines 3 convenient properties to relate

instances

139

Import the 2 atlas ontologiesthat were created by the 2 groups

141

• Make relations between your aX.owl file and one of the atlas files– select one of your favorite topics in your aX.owl

file and create an skos:relation (broad, narrow, exact match) to a topic from one of the atlases.

• Need to add the skos:property in the Resource Form

143

Adding SKOS Property(ies) in Resource Form

Drag and drop

144

• Commit to SVN - check the web site to make sure your file is there

• Meanwhile, atlas experts - make SKOS type mappings among the terms in your atlases

145

Categorization by propertiesor

the world of restrictionsor

defining classes using Description Logics (DL)

146

Story...Facts:•We are in 2010...•SuperAtlas is a super ontology for atlas features. It was signed in 2009 in Monterey by 103 web atlas representatives.•Each group is now an atlas and will have 4 SuperAtlas Features available in the next 20 minutes.

147

Steps

• We will define categories as allowed in OWL-DL.

• The definitions of the categories are based on the SuperAtlas Ontology, which is the common vocabulary.

• We will run the inferencer, which will automatically categorize your instances.

148

SuperAtlas Ontology

149

Process

• Import SuperAtlas Ontology• Create a class “PersonRecreationalFeature” which

is a sub (or sub-sub) class of your:PersonConcept • make it subclass of superatlas:RecreationalFeature

150

Create features (e.g. places that could appear

in an atlas)

151

Add Facts about Those Features:

• Relative location

– add values to isPartOf

– add an existing region

•Activities that can occur– add an Activity

– create/add new instance

152

You should have 4 instances similar to these:

153

Defining Classes using Description Logics

154

Defining a Class in OWL DL

Example: Define EuropeanRegion= All regions that are part of Europe.

More formally:

Equivalent Restrictions

European Region

Classifies UnitedKingdom

run inference

If it is known that an individual is a European Region, it can be inferred that it isPartOf Europe and it’s also a Region; AND also the converse--If it is known that an individual isPartOf Europe and it is also a Region, then it can be inferred that it is a European Region

Subclass Restrictions

European Town

Classifies EuropeanTown

If it is known that an individual is a European Town, it can be inferred that isPartOf a European Region and it’s also a Region; However, the converse can not be inferred:if it is known that an individual isPartOf a European Region and it is a Region that it is, in fact, a European Town

run inference

157

Restriction Keywords

158

Restriction Keywords (cont.)

159

Complex Expressions

Example:Person and hasChild some (Person and (hasChild all Man) and (hasChild some Person))

describes the set of people who have at least one child that has some children that are only men (i.e., grandparents that only have grandsons).

Note that brackets should be used to clarify the meaning of the expression.

160

Restrictions Exercise

Create a WebCategory class with these subclasses:

- AmericanRegion- SwimmingPlacesInAmerica.....

BREAK 10:30-10:45

78

SPARQL AND RULES

78

SPARQL• Query language for RDF (similar to SQL)• Think - triple triple triple

78

How many triple matches the pattern:•x rdfs:type y•superAtlas:Swimming x y•superAtlas:Swimming rdf:type x

SPARQL ExamplesPREFIX table: <http://www.daml.org/2003/01/periodictable/PeriodicTable#>SELECT ?name ?symbol ?number ?colorFROM <http://www.daml.org/2003/01/periodictable/PeriodicTable.owl>WHERE{ ?element table:name ?name. ?element table:symbol ?symbol. ?element table:atomicNumber ?number. OPTIONAL { ?element table:color ?color. }}

79

165

Examples

SELECT ?subjectWHERE { ?subject rdfs:subClassOf superatlas:Feature }

• Find all the subclasses of superatlas:Feature

SELECT ?featureWHERE { ?feature rdf:type superatlas:Feature. ?feature superatlas:hasActivity ?activity. ?activity rdf:type superatlas:Sports. }

•Find all the features that have an activity of type Sports

166

Create your own queries

• ...

Using Rules

• OWL is limited in expressiveness. – can’t combine properties (e.g., uncle is a

composition of brother and parent)

– can’t use computed values or arithmetic comparisons (e.g., stating that a teenager is a person with age between 13 and 19)

• Semantic Web Rule Language (SWRL)– combines OWL and RuleML

– proposed to standardize the expression of rules in OWL

• Open ontology and view rules

168

Rules

Rule is simple: If A then B or A -> BSemantic Web Rule Language (SWRL)swrl:body -> swrl:head

orusing JENA rules - very similar syntax

170

Rules Exercise

• Import jena.owl

171

Configure Inferencing1

2

3

4

5

6

172

Example• Create a rule to infer all american sports• Create a class under WebCategories and add a jena:Rule

property (drag it)– e.g. AmericanSports

173

MMI Tools• VOC2OWL

– to convert CVs into a common language, OWL

• VINE– to map between CVs/ontologies represented in

OWL

• SEMOR– matches your search term to terms from other

controlled vocabularies to find data and information

174

Ontology Engineering

175

Ontology Engineering

176

177

Engineering Lifecycle

From help system TobBraid Composer tutorial

What we did ....- Controlled Vocabularies

- your topics- web portal controlled vocabulary

- Mappings- among your topics and the FOAF one- among atlas and upper atlas ontology

- Categories- Infer hierarchies

- Knowledge of a Domain- Formal definition of classes- Rules expression

- MMI Tools - Ontology Engineering

All web distributedAll machine friendly

179

Slides acknowledgments

• Robert Laurini INSA –Lyon http://lisi.insa-lyon.fr/~laurini

• TopBraid tutorial