Title: Coastal Atlas Interoperability - Ontologies
1Coastal Atlas Interoperability - Ontologies
- Luis Bermudez
- Stephanie Watson
- Marine Metadata Interoperability Initiative
1
2Day 1
3Preparation
4Pre-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)
5Pre-paration (10 min)
- Make sure that
- CMAP works
- TopBraidComposer works
- You can access the SVN repository
6CMAP
- tool to create concept maps
54
7TopBraidComposer (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
8Help 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
9Subversion (SVN)
54
10Introduction 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
11Check that SVN is Installed in TBC
- Window Menu
- Show View
- Other
56
12Should See the SVN Repository Folder
13If not, install SVN plugin
- Help Menu
- Software Updates
- Find and Install
14- Click on new features
- Check subclipse update site box
- Click on new remote site
15- Type URL of the SVN plugin and follow instructions
16Create Project from SVN Repository
- Window Menu
- Show View
- Other
17 18- A view titled SVN Repository should have
appeared. - Right click and select
- New
- Repository Location
19- Type the following URL https//ont.googlecode.com
/svn/trunk/ and click on Finish - User mmidemo
- Password j6x4e4b8
20- Right click on ont-coastal folder
- Choose Checkout
- Accept permanently
21- Checkout and create a new project, for example,
ont-coastal - You should have a project with the ontologies
available
22SVN Operations
Explore changes
Publish changes
Update the files in your local directory
23Overview
- 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
24Overview
- Goals
- Introduction to Ontologies
- Ontology Artifacts and Practical Exercise
- Querying Ontologies with SPARQL
- Advanced Ontology Concepts
- SKOS, Thesauri, and VINE
- Interoperability Demonstration
- Discussions
2
25Goals
- 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
26Introduction to Ontologies (20 min)Semantic
Interoperability Problems
- Semantic Interoperability
- Controlled Vocabularies
- Ontologies, RDF, OWL etc..
27Interoperability
28Diversity
29Making Connections
30Confusion
31What 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.
32Information Overload
Need Categorizations ...
33 Cant find all the data
34Semantic Interoperability Problem Cant find all
the data
35Information Overload
Need Categorizations ...
36Semantic Interoperability ProblemInformation
Overload
Need Categorizations ...
37(No Transcript)
38Agreements on content help solve semantic
interoperability problems.Ontologies could be a
mechanism
39Ontologies facilitate agreement on
- controlled vocabularies
- mappings
- categories
- knowledge of a domain
40Controlled 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
41Examples of CVs in Use SeaDataNet -
http//www.seadatanet.org
16
42Examples of CVs in UseConsortium of
Universities for the Advancement of Hydrologic
Science (CUAHSI) http//www.cuahsi.org
17
4318
44Examples of CVs in UseOGC URN Resolver
18
45SOAP WSDL
19
46- It is not always possible to agree
- on one and only one vocabulary
47Introduction 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)
47
48Ontologiesfacilitate agreement on
- controlled vocabularies
- mappings
- categories
- knowledge of a domain
49(No Transcript)
50Interoperability
51(No Transcript)
52Ontologies facilitate agreement on
- controlled vocabularies
- mappings
- categories (is a type of mapping -gt )
- knowledge of a domain
53(No Transcript)
54Categories Example - Oregon Coastal Atlas
24
55Ontologies facilitate agreement on
- controlled vocabularies
- mappings
- categories
- knowledge of a domain
56Knowledge Domain Representation
27
57OntologiesGood for Expressing Formally
- controlled vocabularies
- mappings
- categories
- knowledge of a domain
how ?
58FormalRDFResourceDescriptionFramework
59RDF
60RDF Simple Graph Model
61RDF
feature of interest
http//geonames.usgs.gov/ pls/gnispublic/f?23432
2
http//marinemetadata.org/ platformMooredBuoy
platform
observed property
define in
bounded by
http//marinemetadata.org 9600/oostethys/sos
http//marinemetadata.org/cf sea_water_temperatur
e
crs
value
urnogcdefcrsEPSG6.54329
62URI
Most fundamental web stuff
- http//somehost/absolute/URI/resource.jpg
- ftp//somehost/resource.txt
- urnissn1535-3613
- mailtoinfobot_at_ex.com?subjectsuscribe
- SIN//16137224697
63RDF Serialization
- RDF/XML
- Turtle
- N3
- N-Triple
- ...
RDF is graph model that could be stored in
different formats
64Ontologies .. good for expressing formally
- controlled vocabularies
- mappings
- categories
- knowledge of a domain
how ?
how ?
65Ontology 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
66BREAK !
- Next SeaDataNet use case (Roy Lowry)
37
67SeaDataNet Ontology Use Case
Coastal Atlas Interoperability Workshop,
Corvallis, July 17-19 2007
( Lessons Learned)
- Roy Lowry
- British Oceanographic Data Centre
68Summary
- What is SeaDataNet?
- Some SeaDataNet semantic issues
- What has SeaDataNet done?
- What is SeaDataNet going to do?
- Is SeaDataNet relevant to CAI?
69What 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
70SeaDataNet 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
71Brief 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 doesnt break user systems
72SeaDataNet 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
73What 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)
74What 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)
75Is 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 didnt work for SeaDataNet
then it probably wont work for CAI
76Is 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
77Is SeaDataNet Relevant to CAI?
- What hasnt 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.
78Thats 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
79Welcome back
- Recap
- Define an ontology
- Play with concepts
- Details on components of ontologies
79
80Ontologies .. good for expressing formally
- controlled vocabularies
- mappings
- categories
- knowledge of a domain
how ?
how ?
81Ontologies basic definition
formal mechanism for
- capturing the knowledge of a domain, including
simple controlled vocabularies - expressing hierarchies of concepts
- interrelating vocabularies via formal mappings
82Components of an Ontology
- Classes
- Individuals
- Properties
- But first... what is a concept ?
83What is a Concept ?Graph of Concepts
Explicit representation of realities
Body of Water
LAKE
Feature
hasShape
84Concept Maps
85Warming upGraph of Concepts
38
86Concept Maps (10 min)
- Open CMAP tools
- Create a concept map about what you would expect
to find on a Recreational Atlas Web site
87Concept Maps (5 min)
- In the middle of the exercise - ask about the
treatment of nouns and verbs
88Classes
- 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
89Individuals
- 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
90Ontology Example
GeographicFeature
Class
City
Wetland
Individual
Object Property
isLocatedIn
hasName Elkhorn Slough
hasName Monterey Area_in_skm xxx
Datatype Property
91Classes - subclasses
Geographic Feature
City
Wetland
92Individuals
GeographicFeature
Class
City
Wetland
Individual
93Properties
- 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
94Object Properties
GeographicFeature
Class
City
Wetland
Individual
Object Property
isLocatedIn
Domain of isLocatedIn
Range of isLocatedIn
95Domain 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
96Datatype Properties
GeographicFeature
Class
City
Wetland
Individual
Object Property
isLocatedIn
hasName Elkhorn Slough
hasName Monterey Area_in_skm 70
Domain is a class
Range is a simple type String, float, etc...
Datatype Property
97Ontology Example
GeographicFeature
Class
City
Wetland
Individual
Object Property
isLocatedIn
hasName Elkhorn Slough
hasName Monterey Area_in_skm 70
Datatype Property
98Viewing a Simple Ontology
- View an example ontology containing the Elkhorn
Slough National Estuarine Research Reserve and
the Malheur National Wildlife Refuge
69
99Open 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.
100100
101Explore 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)
102Create Your Own Classes
103Explore 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)
104Create Individuals
105Properties
- 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
106Explore 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)
107Explore 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.)
108Create Properties
109Exercise
- (it should be 200 PM by now)
70
110Hands on exercise TBC
69
111Exploring TBC (140 - 230)
- Follow the guide TBC Getting-Started-Guide
- Lets all create a simple ontology ... follow the
screen instructions
112Atlas Interoperability Exercise
- For any interoperability endeavor the first thing
that should happen is getting the requirements
right !
Use Cases
113Atlas Interoperability
114Use Case and Proposed User Interface
The topics found are the ones that will be
explicitly created as well as inferred ones
based on logic.
115Atlas OntWeb
116Note...
- Q Where is the data coming from ?
- A Distributed sources, which are simulated by
each ontology you are creating. - Very different from traditional databases.
117Process
- Create person-topic ontology (- 330)
- Break (330 - 345)
- Map with Upper Level person-topic ontology (-
430) - Publish to SVN
- View web application - use case 1 completed !
- Discussion (-500)
- Map topics with Atlas Topics
- Publish mappings
118Create 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
119Make your person-topic ontology (XYZ)
interoperable with the FOAF ontology
75
120Interoperability
121We will make your person-topic ontology (XYZ)
interoperable with the FOAF ontology
your ontology
aX.owl
75
122Experts 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.
123Map with Person Upper Level Ontology (foaf.owl)
- Import upper person ontology foaf.owl
75
124Map 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 foafPerson
75
125Make one of your properties sub-properties of
foaftopic_of_interest
75
126Commit to SVN
75
127Check the web - is your filename there ? URL
is http//marinemedata.org9600/fs
75
128Discussion
- 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
129Discussion
- You are a FOAF person because you created a
statement that said that - You foaftopic_of_interest Topic
- AND
- foaftopic_of_interest has domain foafperson
- Test it !
- Make your person class not
- a subclass of foafPerson
- Run the inference
- engine
75
130End 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
131Examples of CVs in UseConsortium of
Universities for the Advancement of Hydrologic
Science (CUAHSI) http//www.cuahsi.org
17
132Day 2
133Wednesday Advanced Fun
77
134Recap 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.
135Overview
- 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
136Mapping 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
137SKOS
- 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
138Mapping ala SKOS
- import skos.owl
- it defines 3 convenient properties to relate
instances
139Import the 2 atlas ontologiesthat were created
by the 2 groups
140(No Transcript)
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 skosrelation (broad, narrow,
exact match) to a topic from one of the atlases. - Need to add the skosproperty in the Resource Form
142(No Transcript)
143Adding SKOS Property(ies) in Resource Form
Drag and drop
144- Commit to SVN - check the web site to make sure
your file is there - Meanwhile, atlas experts - make SKOS type
mappings among the terms in your atlases
145Categorization by propertiesor the world of
restrictionsor defining classes using
Description Logics (DL)
146Story...
- 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.
147Steps
- 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.
148SuperAtlas Ontology
149Process
- Import SuperAtlas Ontology
- Create a class PersonRecreationalFeature which
is a sub (or sub-sub) class of yourPersonConcept
- make it subclass of superatlasRecreationalFeature
150Create features (e.g. places that could appear
in an atlas)
151Add Facts about Those Features
- Relative location
- add values to isPartOf
- add an existing region
- Activities that can occur
- add an Activity
- create/add new instance
152- You should have 4 instances similar to these
153- Defining Classes using Description Logics
154Defining a Class in OWL DL
- Example Define EuropeanRegion
- All regions that are part of Europe.
- More formally
155Equivalent 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 its 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
156Subclass 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 its 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
157Restriction Keywords
158Restriction Keywords (cont.)
159Complex 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.
160Restrictions Exercise
Create a WebCategory class with these
subclasses - AmericanRegion -
SwimmingPlacesInAmerica .....
161BREAK 1030-1045
78
162SPARQL AND RULES
78
163SPARQL
- Query language for RDF (similar to SQL)
- Think - triple triple triple
- How many triple matches the pattern
- x rdfstype y
- superAtlasSwimming x y
- superAtlasSwimming rdftype x
-
78
164SPARQL Examples
- PREFIX table lthttp//www.daml.org/2003/01/periodi
ctable/PeriodicTablegt - SELECT ?name ?symbol ?number ?color
- FROM lthttp//www.daml.org/2003/01/periodictable/Pe
riodicTable.owlgt - WHERE
-
- ?element tablename ?name.
- ?element tablesymbol ?symbol.
- ?element tableatomicNumber ?number.
- OPTIONAL ?element tablecolor ?color.
79
165Examples
- Find all the subclasses of superatlasFeature
SELECT ?subject WHERE ?subject rdfssubClassOf
superatlasFeature
- Find all the features that have an activity of
type Sports
SELECT ?feature WHERE ?feature rdftype
superatlasFeature. ?feature
superatlashasActivity ?activity. ?activity
rdftype superatlasSports.
166Create your own queries
167Using Rules
- OWL is limited in expressiveness.
- cant combine properties (e.g., uncle is a
composition of brother and parent) - cant 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
168Rules
- Rule is simple If A then B or A -gt B
- Semantic Web Rule Language (SWRL)
- swrlbody -gt swrlhead
- or
- using JENA rules - very similar syntax
169Create Rules
- ensure your ontology imports these namespaces
- http//www.daml.org/rules/proposal/swrlb.owl
- http//www.daml.org/rules/proposal/swrl.owl
- SWRL rules are instances of swrlImp and can be
created by - Select swrlImp, edit body and head. e.g., to
formalize the rule that says... - (?a hasChild ?c) for swrlbody
- Parent (?a) for swrl head
170Rules Exercise
171Configure Inferencing
1
2
3
5
4
6
172Example
- Create a rule to infer all american sports
- Create a class under WebCategories and add a
jenaRule property (drag it) - e.g. AmericanSports
173MMI 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
174Ontology Engineering
175Ontology Engineering
176(No Transcript)
177Engineering Lifecycle
From help system TobBraid Composer tutorial
178What 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 distributed All machine friendly
179Slides acknowledgments
- Robert Laurini INSA Lyon
- http//lisi.insa-lyon.fr/laurini
- TopBraid tutorial