coastal atlas interoperability - ontologies (continued) luis bermudez stephanie watson marine...

47
Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Upload: alexis-lindsey

Post on 18-Dec-2015

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Coastal Atlas Interoperability -

Ontologies(continued)

Luis BermudezStephanie Watson

Marine Metadata Interoperability Initiative 1

Page 2: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

2

Welcome back

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

2

Page 3: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Ontologies .. good for expressing formally

• controlled vocabularies

• mappings• categories• knowledge of a domain

•formal•machine friendly

how ?

how ?•RDF•Web Resources

Page 4: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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:

Page 5: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

5

Components of an Ontology

• Classes• Individuals• Properties

• But first... what is a concept ?

Page 6: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

What is a Concept ?Graph of Concepts

Explicit representation of realities:

Body of Water

Feature

LAKE

hasShape

Page 7: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Concept Maps

Page 8: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Warming upGraph of Concepts

38

Page 9: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Concept Maps (10 min)

• Open CMAP tools• Create a concept map about what you would expect to find on a Recreational Atlas Web site

Page 10: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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

Page 11: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

12

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

Page 12: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Ontology Example

hasName: Elkhorn Slough

isLocatedIn

hasName: MontereyArea_in_skm: xxx

Wetland City

GeographicFeature

Class

Datatype Property

IndividualObject

Property

Page 13: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Classes - subclasses

Wetland City

Geographic Feature

Page 14: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Individuals

Wetland City

GeographicFeature

Class

Individual

Page 15: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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

Page 16: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Object Properties

isLocatedIn

Wetland City

GeographicFeature

Class

IndividualObject

Property

Domain of isLocatedIn

Range of isLocatedIn

Page 17: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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

Page 18: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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...

Page 19: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Ontology Example

hasName: Elkhorn Slough

isLocatedIn

hasName: MontereyArea_in_skm: 70

Wetland City

GeographicFeature

Class

Datatype Property

IndividualObject

Property

Page 20: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Viewing a Simple Ontology

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

69

Page 21: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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.

Page 22: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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)

Page 23: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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)

Page 24: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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)

Page 25: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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.)

Page 26: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Exercise

70

Page 27: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Hands on exercise TBC

69

Page 28: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

34

Exploring TBC (1:40 - 2:30)

• Follow the guide: TBC Getting-Started-Guide

• Let’s all create a simple ontology ... follow the screen instructions

Page 29: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Atlas Interoperability Exercise

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

Use Cases

Page 30: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

36

Atlas Interoperability

Page 31: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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.

Page 32: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

38

Atlas OntWeb

Page 33: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Note...Q: Where are the data coming

from ?

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

Very different from traditional databases.

Page 34: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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

Page 35: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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 hand75

Page 36: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Make your person-topic ontology (XYZ)

interoperable with the FOAF ontology

75

Page 37: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

43

Interoperability

Page 38: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

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

with the FOAF ontology

75aX.owl

your ontology

Page 39: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

45

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.

Page 40: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

Map with Person Upper Level Ontology (foaf.owl)

75

•Import upper person ontology foaf.owl

Page 41: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

75

Map with person upper ontology

Make your classes as subclasses of a FOAF class. For example if you have a class Person, make it subclass of foaf:Person

Page 42: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

75

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

Page 43: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

75

Commit to SVN

Page 44: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

75

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

Page 45: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

51

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.

Page 46: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

52

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

Page 47: Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1

End Day 1

76