Coastal Atlas Interoperability

advertisement
Coastal Atlas Interoperability Ontologies
Luis Bermudez
Stephanie Watson
Marine Metadata Interoperability Initiative
1
Day 1
2
Preparation
3
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)
4
Pre-paration (10 min)
•Make sure that:
•CMAP works
•TopBraidComposer works
•You can access the SVN repository
5
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
Help in TopBraidComposer
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
1
2
4
3
5
8
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
•Used in this tutorial to publish ontologies...
simulating a distributed environment
55
Check that SVN is Installed in TBC
• Window Menu
• Show View
• Other
56
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, “ontcoastal”
• You should have a
project with the
ontologies available
SVN Operations
Explore
changes
Publish
changes
Update the
files in your
local
directory
22
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
SOAP
19
It is not always possible
to agree
on one and only one
vocabulary
Ontologies
facilitate agreement on:
•
•
•
•
controlled vocabularies
mappings
categories
knowledge of a domain
Interoperability
50
51
Ontologies
facilitate agreement on:
•
•
•
•
controlled vocabularies
mappings
categories (is a type of mapping -:> )
knowledge of a domain
Categories
Example - Oregon Coastal Atlas
Example Oregon Atlas
24
Ontologies
facilitate agreement on:
•
•
•
•
controlled vocabularies
mappings
categories
knowledge of a domain
Knowledge Domain Representation
27
Ontologies
Good for Expressing Formally:
•
•
•
•
controlled vocabularies
mappings
categories
knowledge of a domain
how ?
•formal
•machine friendly
Formal
RDF
Resource
Description
Framework
RDF
Subject
predicate
radar
Object
measures
rain
is a
measures
Most recent average
publishes
operates
NOAA
DIX
Has units
Value is
covers
Related noun
0
Has units
Philadelphia
dbZ
Value is
is in
Drexel
No Raining
Negation of
Raining
RDF Simple Graph Model
Water based
platform
RDF
isA
Mooring
http://marinemetadata.org/
platform#MooredBuoy
feature of
interest
platform
observed
property
Sea water Temperature
http://marinemetadata.org/cf#
sea_water_temperature
narrower
than
Monterey Bay
http://geonames.usgs.gov/
pls/gnispublic/f?…:234322
Observation
define in
bounded
by
MBARI
SOS
…
http://marinemetadata.org:
9600/oostethys/sos
Lower
corner
crs
value
Temperature
http://marinemetadata.org/
2005/02/ioos#Temperature
EPSG:6.5:4329
36.69 -122.338 0
urn:ogc:def:crs:EPSG:6.5:4329
URI
“Most fundamental web stuff”
• http://somehost/absolute/URI/resource.jpg
• ftp://somehost/resource.txt
• urn:issn:1535-3613
• mailto:infobot@ex.com?subject=suscribe
• SIN://16137224697
RDF Serialization
RDF is graph model
that could be
“stored” in different
formats
• RDF/XML
• Turtle
• N3
• N-Triple
• ...
Ontologies .. good for expressing
formally
•
•
•
•
controlled vocabularies
mappings
categories
knowledge of a domain
how ?
how ?
•RDF
•Web Resources
•formal
•machine friendly
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
Coastal Atlas Interoperability Workshop, Corvallis, July 17-19 2007
SeaDataNet Ontology Use Case
(+ Lessons Learned)
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
 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 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 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?
 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?
 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 (midAugust)
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?
 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?
 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!
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
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
how ?
how ?
•RDF
•Web Resources
•formal
•machine friendly
Ontologies basic definition
formal mechanism for:
• capturing the knowledge of
a domain, including simple
controlled vocabularies
• expressing hierarchies of
concepts
• interrelating vocabularies
via formal mappings
Components of an Ontology
• Classes
• Individuals
• Properties
• But first... what is a concept ?
82
What is a Concept ?
Graph of Concepts
Explicit representation of
realities:
Body of Water
LAKE
Feature
hasShape
Concept Maps
Warming up
Graph 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
Individuals
• Individuals represent real objects in the
domain in which we are interested.
• They are the members of a class.
Wetland
42
Elkhorn Slough NERR
Malheur National Wildlife Refuge
48
89
Ontology Example
GeographicFeature
Class
City
Wetland
Individual
Object
Property
isLocatedIn
hasName: Elkhorn Slough
Datatype Property
hasName: Monterey
Area_in_skm: xxx
Classes - subclasses
Geographic Feature
Wetland
City
Individuals
GeographicFeature
Class
City
Wetland
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
GeographicFeature
Class
City
Wetland
Individual
Object
Property
isLocatedIn
Domain of isLocatedIn
Range of isLocatedIn
Domain and Range
City
Wetland
isLocatedIn
Class Wetland is
Domain of isLocatedIn
Class City is
Range of isLocatedIn
Object Properties have classes as domains
Object Properties have classes as ranges
... connect objects, which are instances of a class
Datatype Properties
GeographicFeature
Class
City
Wetland
Individual
Object
Property
isLocatedIn
hasName: Elkhorn Slough
Domain is a class
hasName: Monterey
Area_in_skm: 70
Range is a simple
Datatype Property type : String, float,
etc...
Ontology Example
GeographicFeature
Class
City
Wetland
Individual
Object
Property
isLocatedIn
hasName: Elkhorn Slough
Datatype Property
hasName: Monterey
Area_in_skm: 70
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
Exploring TBC (1:40 - 2:30)
• Follow the guide: TBC Getting-Started-Guide
• Let’s all create a simple ontology ... follow
the screen instructions
111
Atlas Interoperability Exercise
For any interoperability endeavor the first
thing that should happen is getting the
requirements right !
Use Cases
Atlas Interoperability
113
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.
Atlas OntWeb
115
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 SVN
5. View web application - use case 1 completed !
6. Discussion (-5:00)
7. Map topics with Atlas Topics
8. 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
Interoperability
120
We will make your person-topic
ontology (XYZ) interoperable
with the FOAF ontology
your
ontology
aX.owl
75
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.
122
Map with Person Upper Level Ontology
(foaf.owl)
•Import upper person ontology foaf.owl
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
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
75
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.
75
128
Discussion
• 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
75
129
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
Day 2
132
Wednesday Advanced Fun
77
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.
134
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
2
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
136
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
Mapping ala SKOS
• import skos.owl
• it defines 3 convenient properties to relate
instances
138
Import the 2 atlas ontologies
that were created by the 2 groups
139
• 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
141
Adding SKOS Property(ies) in Resource Form
Drag and drop
143
• 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
144
Categorization by properties
or
the world of restrictions
or
defining classes using Description
Logics (DL)
145
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.
146
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.
147
SuperAtlas Ontology
148
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
149
Create features
(e.g. places that could appear in
an atlas)
150
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
151
You should have 4 instances similar to these:
152
Defining Classes using
Description Logics
153
Defining a Class in OWL DL
Example: Define EuropeanRegion
= All regions that are part of Europe.
More formally:
154
Equivalent Restrictions
European Region
run inference
Classifies UnitedKingdom
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
run inference
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
Restriction Keywords
157
Restriction Keywords (cont.)
158
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.
159
Restrictions Exercise
Create a WebCategory class with these subclasses:
- AmericanRegion
- SwimmingPlacesInAmerica
.....
160
BREAK 10:30-10:45
78
SPARQL AND RULES
78
SPARQL
• Query language for RDF (similar to SQL)
• Think - triple triple triple
How many triple matches the pattern:
•x
rdfs:type
y
•superAtlas:Swimming x
y
•superAtlas:Swimming rdf:type
x
78
SPARQL Examples
PREFIX table:
<http://www.daml.org/2003/01/periodictable/Per
iodicTable#>
SELECT ?name ?symbol ?number ?color
FROM
<http://www.daml.org/2003/01/periodictable/Per
iodicTable.owl>
WHERE
{
?element table:name ?name.
?element table:symbol ?symbol.
?element table:atomicNumber ?number.
OPTIONAL { ?element table:color ?color. }
}
79
Examples
• Find all the subclasses of superatlas:Feature
SELECT ?subject
WHERE { ?subject rdfs:subClassOf superatlas:Feature }
•Find all the features that have an activity of type
Sports
SELECT ?feature
WHERE {
?feature rdf:type superatlas:Feature.
?feature superatlas:hasActivity ?activity.
?activity rdf:type superatlas:Sports.
}
165
Create your own queries
• ...
166
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
Rules
Rule is simple: If A then B or A -> B
Semantic Web Rule Language (SWRL)
swrl:body -> swrl:head
or
using JENA rules - very similar syntax
168
Rules Exercise
• Import jena.owl
170
1
Configure Inferencing
2
3
5
4
171
6
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
172
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
173
Ontology
Engineering
174
Ontology
Engineering
175
176
Engineering Lifecycle
From help system TobBraid Composer tutorial
177
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
All web distributed
- Knowledge of a Domain
All machine friendly
- Formal definition of classes
- Rules expression
- MMI Tools
- Ontology Engineering
Slides acknowledgments
• Robert Laurini INSA –Lyon
http://lisi.insa-lyon.fr/~laurini
• TopBraid tutorial
179
Download