coastal atlas interoperability - ontologies
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 PresentationTRANSCRIPT
![Page 1: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/1.jpg)
Coastal Atlas Interoperability - Ontologies
Luis Bermudez
Stephanie Watson
Marine Metadata Interoperability Initiative1
![Page 2: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/2.jpg)
2
Day 1
![Page 3: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/3.jpg)
3
Preparation
![Page 4: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/4.jpg)
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)
![Page 5: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/5.jpg)
5
Pre-paration (10 min)
•Make sure that:•CMAP works•TopBraidComposer works•You can access the SVN repository
![Page 6: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/6.jpg)
CMAP• tool to create concept maps
54
![Page 7: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/7.jpg)
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
![Page 8: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/8.jpg)
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
![Page 9: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/9.jpg)
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
![Page 10: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/10.jpg)
Check that SVN is Installed in TBC
56
• Window Menu• Show View• Other
![Page 11: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/11.jpg)
Should See the SVN Repository Folder
![Page 12: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/12.jpg)
If not, install SVN plugin
• Help Menu• Software Updates• Find and Install
![Page 13: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/13.jpg)
• Click on “…new features”
• Check “subclipse update site” box
• Click on “new remote site”
![Page 14: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/14.jpg)
• Type URL of the SVN plugin and follow instructions
![Page 15: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/15.jpg)
Create Project from SVN Repository
• Window Menu• Show View• Other
![Page 16: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/16.jpg)
• Select SVN Repository
![Page 17: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/17.jpg)
• A view titled “SVN Repository” should have appeared.
• Right click and select:New
Repository Location
![Page 18: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/18.jpg)
• Type the following URL: https://ont.googlecode.com/svn/trunk/ and click on Finish
• User: mmidemo• Password: j6x4e4b8
![Page 19: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/19.jpg)
• Right click on “ont-coastal” folder
• Choose Checkout• “Accept
permanently”
![Page 20: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/20.jpg)
• Checkout and create a new project, for example, “ont-coastal”
• You should have a project with the ontologies available
![Page 21: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/21.jpg)
22
SVN Operations
Publish changes
Update the files in your local directory
Explore changes
![Page 22: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/22.jpg)
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
![Page 23: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/23.jpg)
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
![Page 24: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/24.jpg)
Introduction to Ontologies (20 min)
Semantic Interoperability Problems
•Semantic Interoperability•Controlled Vocabularies•Ontologies, RDF, OWL etc..
![Page 25: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/25.jpg)
Interoperability
![Page 26: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/26.jpg)
Diversity
![Page 27: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/27.jpg)
Making Connections
![Page 28: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/28.jpg)
Confusion
![Page 29: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/29.jpg)
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.
![Page 30: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/30.jpg)
Semantic Interoperability Problem: Can’t find all the data
![Page 31: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/31.jpg)
Semantic Interoperability Problem:Information Overload
Need Categorizations ...
![Page 32: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/32.jpg)
![Page 33: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/33.jpg)
Agreements on content help solve semantic
interoperability problems.
Ontologies could be a mechanism
![Page 34: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/34.jpg)
Ontologies facilitate agreement on:
• controlled vocabularies• mappings• categories• knowledge of a domain
![Page 35: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/35.jpg)
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
![Page 37: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/37.jpg)
Examples of CVs in Use:Consortium of Universities for the
Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org
17
![Page 38: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/38.jpg)
Examples of CVs in Use:OGC URN Resolver
18
![Page 39: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/39.jpg)
19SOAP WSDL
![Page 40: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/40.jpg)
It is not always possible to agree
on one and only one vocabulary
![Page 41: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/41.jpg)
Ontologiesfacilitate agreement on:
• controlled vocabularies• mappings• categories• knowledge of a domain
![Page 42: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/42.jpg)
![Page 43: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/43.jpg)
50
Interoperability
![Page 44: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/44.jpg)
51
![Page 45: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/45.jpg)
Ontologies facilitate agreement on:
• controlled vocabularies• mappings• categories (is a type of mapping -:> )• knowledge of a domain
![Page 46: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/46.jpg)
![Page 47: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/47.jpg)
Example Oregon Atlas
24
Categories Example - Oregon Coastal Atlas
![Page 48: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/48.jpg)
Ontologies facilitate agreement on:
• controlled vocabularies• mappings• categories• knowledge of a domain
![Page 49: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/49.jpg)
27
Knowledge Domain Representation
![Page 50: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/50.jpg)
OntologiesGood for Expressing Formally:
• controlled vocabularies• mappings• categories• knowledge of a domain
•formal
•machine friendly
how ?
![Page 51: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/51.jpg)
Formal
RDF
ResourceDescriptionFramework
![Page 52: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/52.jpg)
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
![Page 53: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/53.jpg)
RDF Simple Graph Model
![Page 54: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/54.jpg)
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
![Page 55: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/55.jpg)
URI
• http://somehost/absolute/URI/resource.jpg• ftp://somehost/resource.txt• urn:issn:1535-3613• mailto:[email protected]?subject=suscribe• SIN://16137224697
“Most fundamental web stuff”
![Page 56: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/56.jpg)
RDF Serialization
•RDF/XML
•Turtle
•N3
•N-Triple
•...
RDF is graph model that could be “stored” in different formats
![Page 57: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/57.jpg)
Ontologies .. good for expressing formally
• controlled vocabularies• mappings• categories• knowledge of a domain
•formal
•machine friendly
how ?
how ?•RDF
•Web Resources
![Page 58: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/58.jpg)
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
![Page 59: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/59.jpg)
BREAK !• Next: SeaDataNet use case (Roy Lowry)
37
![Page 60: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/60.jpg)
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)
![Page 61: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/61.jpg)
SummarySummary
What is SeaDataNet?
Some SeaDataNet semantic issues
What has SeaDataNet done?
What is SeaDataNet going to do?
Is SeaDataNet relevant to CAI?
![Page 62: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/62.jpg)
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
![Page 63: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/63.jpg)
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
![Page 64: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/64.jpg)
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
![Page 65: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/65.jpg)
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
![Page 66: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/66.jpg)
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)
![Page 67: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/67.jpg)
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)
![Page 68: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/68.jpg)
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
![Page 69: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/69.jpg)
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
![Page 70: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/70.jpg)
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….
![Page 71: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/71.jpg)
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
![Page 72: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/72.jpg)
79
Welcome back
• Recap• Define an ontology• Play with concepts• Details on components of ontologies
79
![Page 73: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/73.jpg)
Ontologies .. good for expressing formally
• controlled vocabularies• mappings• categories• knowledge of a domain
•formal
•machine friendly
how ?
how ?•RDF
•Web Resources
![Page 74: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/74.jpg)
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 75: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/75.jpg)
82
Components of an Ontology• Classes• Individuals• Properties
• But first... what is a concept ?
![Page 76: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/76.jpg)
What is a Concept ?Graph of Concepts
Explicit representation of realities:
Body of Water
Feature
LAKE
hasShape
![Page 77: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/77.jpg)
Concept Maps
![Page 78: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/78.jpg)
Warming upGraph of Concepts
38
![Page 79: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/79.jpg)
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 80: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/80.jpg)
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 81: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/81.jpg)
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
![Page 82: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/82.jpg)
Ontology Example
hasName: Elkhorn Slough
isLocatedIn
hasName: MontereyArea_in_skm: xxx
Wetland City
GeographicFeature
Class
Datatype Property
IndividualObject Property
![Page 83: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/83.jpg)
Classes - subclasses
Wetland City
Geographic Feature
![Page 84: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/84.jpg)
Individuals
Wetland City
GeographicFeature
Class
Individual
![Page 85: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/85.jpg)
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 86: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/86.jpg)
Object Properties
isLocatedIn
Wetland City
GeographicFeature
Class
IndividualObject Property
Domain of isLocatedIn Range of isLocatedIn
![Page 87: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/87.jpg)
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 88: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/88.jpg)
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 89: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/89.jpg)
Ontology Example
hasName: Elkhorn Slough
isLocatedIn
hasName: MontereyArea_in_skm: 70
Wetland City
GeographicFeature
Class
Datatype Property
IndividualObject Property
![Page 90: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/90.jpg)
Viewing a Simple Ontology
• View an example ontology containing the Elkhorn Slough National Estuarine Research Reserve and the Malheur National Wildlife Refuge
69
![Page 91: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/91.jpg)
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 92: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/92.jpg)
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 93: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/93.jpg)
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 94: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/94.jpg)
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 95: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/95.jpg)
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 96: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/96.jpg)
Exercise
•(it should be ~ 2:00 PM by now)
70
![Page 97: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/97.jpg)
Hands on exercise TBC
69
![Page 98: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/98.jpg)
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
![Page 99: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/99.jpg)
Atlas Interoperability Exercise
For any interoperability endeavor the first thing that should happen is getting the requirements right !
Use Cases
![Page 100: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/100.jpg)
113
Atlas Interoperability
![Page 101: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/101.jpg)
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 102: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/102.jpg)
115
Atlas OntWeb
![Page 103: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/103.jpg)
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.
![Page 104: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/104.jpg)
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 105: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/105.jpg)
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
![Page 106: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/106.jpg)
Make your person-topic ontology (XYZ) interoperable with the
FOAF ontology
75
![Page 107: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/107.jpg)
120
Interoperability
![Page 108: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/108.jpg)
We will make your person-topic ontology (XYZ) interoperable
with the FOAF ontology
75aX.owl
your ontology
![Page 109: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/109.jpg)
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.
![Page 110: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/110.jpg)
Map with Person Upper Level Ontology (foaf.owl)
75
•Import upper person ontology foaf.owl
![Page 111: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/111.jpg)
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
![Page 112: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/112.jpg)
75
Make one of your properties sub-properties of foaf:topic_of_interest
![Page 113: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/113.jpg)
75
Commit to SVN
![Page 114: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/114.jpg)
75
Check the web - is your filename there ?URL is:http://marinemedata.org:9600/fs
![Page 115: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/115.jpg)
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.
![Page 116: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/116.jpg)
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
![Page 117: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/117.jpg)
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
![Page 118: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/118.jpg)
Examples of CVs in Use:Consortium of Universities for the
Advancement of Hydrologic Science (CUAHSI) http://www.cuahsi.org
17
![Page 119: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/119.jpg)
132
Day 2
![Page 120: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/120.jpg)
Wednesday Advanced Fun
77
![Page 121: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/121.jpg)
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.
![Page 122: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/122.jpg)
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
![Page 123: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/123.jpg)
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
![Page 124: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/124.jpg)
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
![Page 125: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/125.jpg)
138
Mapping ala SKOS
• import skos.owl• it defines 3 convenient properties to relate
instances
![Page 126: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/126.jpg)
139
Import the 2 atlas ontologiesthat were created by the 2 groups
![Page 127: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/127.jpg)
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
![Page 128: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/128.jpg)
143
Adding SKOS Property(ies) in Resource Form
Drag and drop
![Page 129: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/129.jpg)
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
![Page 130: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/130.jpg)
145
Categorization by propertiesor
the world of restrictionsor
defining classes using Description Logics (DL)
![Page 131: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/131.jpg)
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.
![Page 132: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/132.jpg)
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.
![Page 133: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/133.jpg)
148
SuperAtlas Ontology
![Page 134: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/134.jpg)
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
![Page 135: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/135.jpg)
150
Create features (e.g. places that could appear
in an atlas)
![Page 136: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/136.jpg)
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
![Page 137: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/137.jpg)
152
You should have 4 instances similar to these:
![Page 138: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/138.jpg)
153
Defining Classes using Description Logics
![Page 139: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/139.jpg)
154
Defining a Class in OWL DL
Example: Define EuropeanRegion= All regions that are part of Europe.
More formally:
![Page 140: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/140.jpg)
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
![Page 141: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/141.jpg)
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
![Page 142: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/142.jpg)
157
Restriction Keywords
![Page 143: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/143.jpg)
158
Restriction Keywords (cont.)
![Page 144: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/144.jpg)
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.
![Page 145: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/145.jpg)
160
Restrictions Exercise
Create a WebCategory class with these subclasses:
- AmericanRegion- SwimmingPlacesInAmerica.....
![Page 146: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/146.jpg)
BREAK 10:30-10:45
78
![Page 147: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/147.jpg)
SPARQL AND RULES
78
![Page 148: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/148.jpg)
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
•
![Page 149: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/149.jpg)
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
![Page 150: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/150.jpg)
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
![Page 151: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/151.jpg)
166
Create your own queries
• ...
![Page 152: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/152.jpg)
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
![Page 153: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/153.jpg)
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
![Page 154: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/154.jpg)
170
Rules Exercise
• Import jena.owl
![Page 155: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/155.jpg)
171
Configure Inferencing1
2
3
4
5
6
![Page 156: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/156.jpg)
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
![Page 157: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/157.jpg)
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
![Page 158: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/158.jpg)
174
Ontology Engineering
![Page 159: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/159.jpg)
175
Ontology Engineering
![Page 160: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/160.jpg)
176
![Page 161: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/161.jpg)
177
Engineering Lifecycle
From help system TobBraid Composer tutorial
![Page 162: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/162.jpg)
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
![Page 163: Coastal Atlas Interoperability - Ontologies](https://reader035.vdocuments.site/reader035/viewer/2022062809/56815715550346895dc4b4bf/html5/thumbnails/163.jpg)
179
Slides acknowledgments
• Robert Laurini INSA –Lyon http://lisi.insa-lyon.fr/~laurini
• TopBraid tutorial