Gain an understanding of controlled vocabularies (CVs) and ontologies
Hands on experience developing ontologies
Learn enough to write proposal to go further
Have fun
Introduction to Ontologies (20 min) Semantic Interoperability Problems
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.
Information Overload
Can’t find all the data
Semantic Interoperability Problem: Can’t find all the data
Information Overload
Semantic Interoperability Problem: Information Overload
Agreements on content help solve semantic interoperability problems. Ontologies could be a mechanism
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
Examples of CVs in Use SeaDataNet - http://www.seadatanet.org
Examples of CVs in Use: Consortium of Universities for the Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org
Examples of CVs in Use: OGC URN Resolver
It is not always possible to agree
It is not always possible to agree
on one and only one vocabulary
Introduction to Ontologies
In computer science -- an explicit and formal specification of mental abstractions, that conforms to a community agreement about a domain and design for a specific purpose (Gruber, 1993).
Representation, in a machine-readable language, of terms important to a domain of interest (e.g., coastal management). An ontology contains:
classes (concepts),
individuals (members of the classes), and
properties (relationships between individuals)
Ontologies facilitate agreement on:
controlled vocabularies
mappings
categories
knowledge of a domain
Interoperability
Ontologies facilitate agreement on:
controlled vocabularies
mappings
categories (is a type of mapping -:> )
knowledge of a domain
Example Oregon Atlas
Example Oregon Atlas
Ontologies facilitate agreement on:
controlled vocabularies
mappings
categories
knowledge of a domain
Ontologies Good for Expressing Formally:
controlled vocabularies
mappings
categories
knowledge of a domain
Formal RDF Resource Description Framework
RDF
RDF Simple Graph Model
URI
RDF Serialization
RDF/XML
Turtle
N3
N-Triple
...
Ontologies .. good for expressing formally
controlled vocabularies
mappings
categories
knowledge of a domain
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)
SeaDataNet Ontology Use Case
Roy Lowry
British Oceanographic Data Centre
Summary
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?
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
The major problem facing the project is heterogeneous legacy content
Create a concept map about what you would expect to find on a Recreational Atlas Web site
Concept Maps (5 min)
In the middle of the exercise - ask about the treatment of nouns and verbs
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
Individuals
Individuals represent real objects in the domain in which we are interested.
They are the members of a class.
Ontology Example
Classes - subclasses
Individuals
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.
Object Properties
Domain and Range
Datatype Properties
Ontology Example
Viewing a Simple Ontology
View an example ontology containing the Elkhorn Slough National Estuarine Research Reserve and the Malheur National Wildlife Refuge
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)
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)
Create Individuals
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.
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.)
Create Properties
Exercise
(it should be ~ 2:00 PM by now)
Hands on exercise TBC
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 !
A: Distributed sources, which are simulated by each ontology you are creating.
Very different from traditional databases.
Process
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. luishasInterestYOGA
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
Make your person-topic ontology (XYZ) interoperable with the FOAF ontology
Interoperability
We will make your person-topic ontology (XYZ) interoperable with the FOAF ontology
Experts are now “Atlases”
Map with Person Upper Level Ontology (foaf.owl)
Discussion
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.
Discussion
You are a FOAF person because you created a statement that said that:
Youfoaf:topic_of_interestTopic
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
Examples of CVs in Use: Consortium of Universities for the Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org
Day 2
Wednesday Advanced Fun
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
Mapping ala SKOS
SKOS
provides a standardized way of representing KOS, such as thesauri, classification schemes, and taxonomies