1. Come to JAPAN for ISWC2016@KOBE!
Tutorial in JIST2014,
Chiang Mai, Thailand, Nov. 9th 2014
Ontology Building and
its Application using Hozo
Kouji KOZAKI
The Institute of Scientific and Industrial Research (I.S.I.R),
Osaka University, Japan
Slides
http://goo.gl/28ck8p
or http://www.hozo.jp/
Tutorial@JIST2014
2014 Nov.9 1
2. Agenda
9:00-10:30
① How to build ontologies using Hozo
(with hands-on)
Basic usage of Hozo.
Basic theories of ontological engineering in Hozo.
(10:30-10:50 Coffee Break)
10:50-12:00
② Some characteristic functions of Hozo
Dynamic generation of is-a hierarchies
Ontology Exploration
③ Developments of ontology-based application
An overview of application developments
Some example applications
2014 Nov.9 Tutorial@JIST2014 2
3. Self introduction: Kouji KOZAKI
Brief biography
2002 Received Ph.D. from Graduate School of Engineering, Osaka
University.
2002- Assistant Professor, 2008- Associate Professor in ISIR, Osaka
University.
Specialty
Ontological Engineering
Main research topics
Fundamental theories of ontological engineering
2014 Nov.9 Tutorial@JIST2014 3
4. Ontological topics
Some examples of topics which I work on
Role theory
What’s ontological difference among the following concepts?
Person
Teacher
Walker
Murderer
Mother
…. Natural type (Basic Concept)
Role (dependent concept)
Definition of disease
What’s “disease” ?
What’s “causal chain” ?
Is it a object or process ?
2014 Nov.9 Tutorial@JIST2014
4
5. Self introduction: Kouji KOZAKI
Brief biography
2002 Received Ph.D. from Graduate School of Engineering, Osaka University.
2002- Assistant Professor, 2008- Associate Professor in ISIR, Osaka University.
Specialty
Ontological Engineering
Main research topics
Fundamental theories of ontological engineering
Ontology development tool based on the ontological theories
Ontology development in several domains and ontology-based application
Hozo(法造) -an environment for ontology building/using- (1996- )
A software to support ontology(=法) building(=造) and use
It’s available at http://www.hozo.jp as a free software
Registered Users:4,600+ (June 2014)
Java API for application development (HozoCore) is provided.
Support formats: Original format, RDF(S), OWL.
Linked Data publishing support is coming soon.
2014 Nov.9 Tutorial@JIST2014 5
6. My history on Ontology Building
2002-2007 Nano technology ontology
Supported by NEDO(New Energy and Industrial Technology Development Organization)
2006- Clinical Medical ontology
Supported by Ministry of Health, Labour and Welfare, Japan
Cooperated with: Graduate School of Medicine, The University of Tokyo.
2007-2009 Sustainable Science ontology
Cooperated with: Research Institute for Sustainability Science, Osaka Univ.
2007-2010 IBMD(Integrated Bio Medical Database)
Supported by MEXT through "Integrated Database Project".
Cooperated with: Tokyo Medical and Dental University, Graduate School of Medicine, Osaka U.
2008-2012 Protein Experiment Protocol ontology
Cooperated with: Institute for Protein Research, Osaka Univ.
2008-2010 Bio Fuel ontology
Supported by the Ministry of Environment, Japan.
2009-2012 Disaster Risk ontology
Cooperated with: NIED (National Research Institute for Earth Science and Disaster Prevention)
2012- Bio mimetic ontology
JIST2014(Nov.11)
Supported by JSPS KAKENHI Grant-in-Aid for Scientific Research on Innovative Areas
2012- Ontology of User Action on Web
Cooperated with: Consumer first Corp.
2013- Information Literacy ontology
Supported by JSPS KAKENHI
JIST2014(Nov.11)
2014 Nov.9 Tutorial@JIST2014 6
7. ① How to build ontologies using
Hozo
What is ontology?
Basic usage of Hozo
Representation of an ontology
Basic operation of Hozo
Basic theories of ontological engineering in
Hozo
Some tips for ontology buliding
Role theory
2014 Nov.9 Tutorial@JIST2014 7
8. What is an ontology?
What is an ontology?
[Mizoguchi 03] Tutorial on ontological engineering - Part 1: Introduction to Ontological
Engineering New Generation Computing, OhmSha&Springer, Vol.21, No.4, pp.365-384, 2003
In philosophy, it means theory of existence.
From AI point of view,
“explicit specification of conceptualization”
[Gruber 93].
From knowledge-based systems point of view,
“a theory(system) of concepts/vocabulary used as building
blocks of an information processing system”
[Mizoguchi 95].
A basic role of an ontology
It clarifies “how target world are understood” and provides
vocabulary and rules to consistent modeling
2014 Nov.9 Tutorial@JIST2014
8
9. A compositional definition
of ontology
9
An ontology consists of concepts, hierarchical (is-a)
organization of them, relations among them (in addition
to is-a and part-of), axioms to formalize the definitions and
relations. .
Content of Ontology
“Concept” represented entity in target domain
“Relationship” between concepts
Definition of a Concept
Label(,Description)
Super/Sub concept
Part concept
Attribute
Axiom
bicycle
physical
object
saddle
handle
front wheel
is-a relation
Whole-part relation
attribute-of relation
entity
size:26×2.3
color: red
gear: 24 steps
・”front wheel” in
conjunction with “handle”
・”front wheel” ≠ “rear wheel”
Other relation
agent functional
occurrent
event
2014 Nov.9 Tutorial@JIST2014
10. Ontology
Manager
Architecture of Hozo
Ontology Server
Management System
Language
Clients
(other agents)
Ontology
Model
Reference / Install
Tracking
Pane
support
building (modifying) browsing
Onto Studio
(a guide system for
ontology design)
Ontology/Model
Developer
Dependency
Management
Ontology
Editor
Information
of changes
Ontology language of Hozo: XML-based frame language.
It can be exported in OWL , and RDF(S). It also can import OWL partially.
2014 Nov.9 Tutorial@JIST2014 10
11. How to get Hozo
Download
Hozo is available as a free software at
http://www.hozo.jp .
Install
Extract the downloaded ZIP file.
You need Java Runtime Environment (JRE).
If it is not installed (that is, you couldn’t run the Hozo
tool), please download and install it from
http://www.java.com/en/download/ .
2014 Nov.9 Tutorial@JIST2014 11
12. How to run Hozo
1. You can run Hozo-ontology editor by clicking “oe5.bat” or
“oe5.exe” (for Windows) or “oe5.script” (for Mac OS) in
the extracted folder.
2. When you run the tool, a window for initial settings is
shown. Please input “user name” (arbitrary name) and
press “OK” button.
These settings are
required when you want
to manage your ontology
using project manager.
2014 Nov.9 Tutorial@JIST2014
12
13. How to open/create an ontology
After a main window of Hozo-Ontology Editor is shown.
Select “File” menu
-> “open File” for open an existing ontology
or -> “new File” for creating a new ontology
“File” menu
“new File” “open File”
*You can also use these button.
2014 Nov.9 Tutorial@JIST2014
13
14. Hozo-Ontology Editor
:Editing Screen(without project manager)
Browsing Pane
for visualizing / editing an ontology
Navigation Pane
for navigating/searching
concepts in the ontology
Definition Pane
for editing definition of
concepts in the ontology
2014 Nov.9 Tutorial@JIST2014
14
15. An overview of
ontology representation in Hozo
Node represents
a concept
(=rdfs:Class)
Is‐a link represents
an is‐a relation
(=rdfs:subClassOf)
Role concept
(≒property name )
cardinality
(=owl:card
inality) Class restriction
p/o slot represents
a part‐of relation
(=rdf:Property)
Role holder
(see the latter)
a/o slot represents an
attribute‐of relation
(=rdf:Property)
represents class of
its player
(=owl:allValuesFrom )
Link between slots
represents a relation
between parts/attributes
(=some axiom )
2014 Nov.9 Tutorial@JIST2014
15
16. Ontology representation (1)
is-a hierarchy
Node represents a concept
Is-a link represents is-a relation (sub-class-of)
e.g. bike is-a two-wheeled vehicle
→bike is a specialized concept of two-wheeled vehicle (lower concept)
→two-wheeled vehicle is a generalized concept of bike (upper concept)
Is-a relationships represent
a hierarchical organization of concepts (is-a hierarchy).
upper
concepts
When a node is clicked,
its upper/lower concepts
are highlighted.
lower
concepts
2014 Nov.9 Tutorial@JIST2014
16
17. Viewpoints to organize
an is-a hierarchy of ontology
Is-a hierarchy is an important base of an ontology
because it reflects how its target world are understood .
Ex.1) Only is-a hierarchy Ex.2) With definitions of concepts
vehicle
-two-wheel-vehicle
-motorbike
-bike
-three-wheel-vehicle
-
…
It is not clear differences of
semantics among concepts
vehicle
-two-wheel-vehicle
→The number of wheel = 2
-motorbike
→power source = engine
-bike
→power source = person
-three-wheel-vehicle
→The number of wheel = 3
-
Their …definitions show clear differences
of semantics among concepts
Definitions of concepts show clearly viewpoints
to organize an is-a hierarchy of ontology.
2014 Nov.9 Tutorial@JIST2014
17
18. Ontology representation (2)
definitions of a concept
part-of,attribute-of relation
Slot represents a relationship; p/o:part-of a/o:attribute-of
It represents definitions of a concept in a machine readable
format.
Representation of slots
Role concept name:name of parts/attributes
Class constraint shows a restriction on which concept (class) can
be the parts/attributes
*It refers other concepts defined in elsewhere.
Cardinality shows a restrictions on the number of parts/attributes
n..m →more than n以上and less than m
cardinality
(=owl:card
inality)
p/o slot represents
a part‐of relation
(=rdf:Property)
Role concept
(≒property name )
Class restriction
represents class of
its player
(=owl:allValuesFrom )
2014 Nov.9 Tutorial@JIST2014
18
19. Characteristics of is-a relation
Inheritance / Specialization
A lower concept inherits definitions (slots in Hozo) of its upper concepts.
*Inherited slots are NOT shown on the Browsing pane.
e.g.) Which slots are inherited from “bike” to “city-cycle” ?
Inherited slots are sometimes specialized in the lower concepts.
e.g.) “front-wheel-role” are specialized in “city-cycle”.
Hozo shows specialized slots in red color.
When a specialized slot is selected, its upper slots are highlighted.
specialized
Information about
its upper slot
inherits
2014 Nov.9 Tutorial@JIST2014
19
20. Ontology representation (3)
definitions pane (for concept)
When the user select a concept (node) on the Browsing pane,
Definition pane shows its definitions (slots).
Super shows the list of upper concepts of the selected concept.
working together
Inherited slot shows its inherited slots from its upper concepts.
Documentation shows exploration of it in natural language.
2014 Nov.9 Tutorial@JIST2014
20
21. A basic way of thinking
for ontology building
Considering
“what’s in essential (characteristics of concept)”
Try to be clear
“how target world are understood”
What are differences among concepts
=to be clear viewpoints to classify (organize) concepts
What are common characteristics of related concepts
2014 Nov.9 Tutorial@JIST2014 21
22. Basic operation (1)
Creating concepts and is-a hierarchy
Creation of a new concept (node)
[add Node] Button / Menu
When a node is selected, new nodes is created as its lower concept .
Change its concept name (label)
Select the node and change its label in Definition pane
Organizing an is-a hierarchy
Select 2 nodes (upper concept and lower concept) by clicking nodes
with SIFT key
[add Link] Button / Menu to add is-a link(*please check ”is-a” is
selected in the Link list)
Created is-a relation are shown as tree in Navigation pane
add Node add Link
Link list (kinds of links)
Tutorial@JIST2014
2014 Nov.9 22
23. Basic operation (2)
Creating slots(definitions of concepts)
Creation of a part-of/attribute-of slot
Select a node and [add Slot](Button/Menu)
part-of / attribute-of is chosen in the Slot list (kinds of slots)
Change definitions of a slot
Select a slot and edit role concept/class constraint/ role
holder them in Definition pane
*Class constraint
Undefined concept is shown in 「light yellow」
You can select it from existing concepts using [Select Class]
Undefined Defined
2014 Nov.9 Tutorial@JIST2014
23
24. Basic operation (3)
Definitions of a slot
Definition of a slot
Kind p/o:part-of a/o:attribute-of
Role concept name:name of parts/attributes
Class constraint :a restriction on which concept (class) can be the
parts/attributes
Choosing from existing concepts(classes)
*”Any” represents the upper concepts of the all concepts
Data type can be used:Integer, Float, String, Boolean, decimal, date, time
Cardinality :a restrictions on the number of parts/attributes
Double click
2014 Nov.9 Tutorial@JIST2014
24
25. Basic operation (4)
Inheritance / Specialization
Inherited slots are shown by selecting its upper concept
in the upper concept list on definition pane.
Specialization of a slot
Choose “specialization…” on the Slot list (kinds of slots) and
[add Slot](Button/Menu)
Choose a slot to be specialized from list of inherited slots shown on
the new dialog
Edit definition of the specialized slot
*Please note that definition of
the specialized slot must not be
inconsistent with its uppers slot
2014 Nov.9 Tutorial@JIST2014 25
26. Tips for definition of slots
To be clear difference/commonality among
concepts
Characteristics common to lower concepts should be defined as slots
of their upper concepts
To be clear using specialization of slots
Differences between upper concept and its lower concepts
Differences between brother concepts (concepts whose upper
concept is the same)
It tend to be good that an ontology has many specialized
slots (red slot)
Considering viewpoints for organization are
represented by slots
Concepts are systematized using is-a hierarchy and slots
2014 Nov.9 Tutorial@JIST2014
26
27. Ontology representation (4)
Relationships between slots
Relationships between slots can be used to represent
more detailed definition of a concept
e.g.)
In definition of “bike”,
“front-wheel” and
“rear-wheel” must be
“different (instances)”.
Relationships between slots pre-defined in Hozo
equal:two numbers are equal
not-equal: two numbers are different
larger-than: a number is larger than the other one
sameAs: must be the same instance
different: must be different instances
2014 Nov.9 Tutorial@JIST2014
27
28. Basic operation (4)
Definition of relationship among slots
Define new relation concept (class)
“Relation Concept” tab in Browsing pane
Creating a new concept with slots
The concept is defined as new “Relation
Concept” and added to [the list of links]
Add a link among slots
Select slots by clicking with SHIFT key
Choose a kind of link and [add Link]
Check information shown in confirm
dialog and [OK]
2014 Nov.9 Tutorial@JIST2014 28
29. What is Role?
John (a person) is a teacher of high school. He got
married five years ago (husband ), and now he is the
father of two children. After school (job) he goes to a
English conversation school (student ).
How is John conceptualized (recognized) ?
In any context .............. John is an instance of Person
In the high school........... John is an instance of Teacher
In the married couple...... John is an instance of Husband
In the Family................. John is an instance of Father
In the English conversation school
..... John is an instance of Student
According to the contexts,
John is recognized as different concepts ( ※→Role).
※
2014 Nov.9 Tutorial@JIST2014 29
30. Fundamental scheme of our role model
Distinction between role concepts and role-holders
“In a school, there are persons who play teacher roles and thereby
becomes teachers”
Role-Holder
Potential Player
Teacher
Teacher
Role Person
playable
Role-Holder
Role Concept
Teacher-1
Teacher
Role-1 John
Context
School
depend on
Class
Instance
Osaka
High School
Context depend on Role Concept playing Role-playing thing
“In Osaka high school, John plays teacher role-1 and thereby
becomes teacher-1”
2014 Nov.9 Tutorial@JIST2014 30
31. Fundamental scheme of our role model
DiCsotnintecxtti on between role concepts and role-holders Potential Player Role Concept
A class of things to be considered as a whole.
A class of things which are able to play
Role concept is defined as a class of concepts
played by something within a context.
It includes entities and relations.
an instance of a role concept .
“In a school, there are persons who play teacher roles and thereby
becomes teachers”
Role-Holder
Potential Player
Teacher
Role Holder
Teacher
Role Person
playable
Player-link Role-Holder
is divided
is divided
Role Concept
Teacher-1
Teacher
Role-1 John
Context
School
depend on
Class
Instance
Osaka
High School
Player
Context depend on playing
Role Concept Role-playing thing
When a person is actually playing a teacher role,
“In Osaka high school, John plays teacher role-1 and thereby
becomes teacher-1”
he/she thereby becomes an individual teacher role-holder
2014 Nov.9 Tutorial@JIST2014 31
32. Ontology representation (5)
Role Concept, Role Holder, Potential Player
The context which
the role concept
depends on
Role concept
Role holder
Potential Player
(Class Constraint)
Role
concept
Potential Player
(Class Constraint)
Role holder
2014 Nov.9 Tutorial@JIST2014
32
33. Characteristics of Roles
Individuals of role concepts
(a) They cannot exist if individuals of their contexts do
not exist because roles are externally founded[Guarino 92].
e.g. If Osaka High School does not exist, the instance of the
Teacher role (Teacher role-1) never exists.
(b) Because roles are dynamic[Masolo 04], the role
concepts have two states: played and un-played.
(c) A vacancy is conceptualized as an individuals of role
concept which is not played.
e.g. When John quits the Teacher, the teacher role-1 becomes a
vacancy.
Role-Holder
Teacher-1
Teacher
Role-1 John
Osaka
High School
Role Concept Context depend on playing Role-playing thing
2014 Nov.9 Tutorial@JIST2014 33
34. Characteristics of Roles
Disappearance of individuals of role-holders
Individuals of role-holders disappear in the cases:
(1) Its player (an individual of player) disappears.
e.g. John dies
(2) Its role (an individual of role concept) disappears.
e.g. the position of the Teacher which John filled disappears
(3) Its player (an individual of player) quits playing the role.
e.g. John quits the Teacher
Role-Holder
×(2) Teacher-1
×(3)
×(1)
Teacher
Role-1 John
Osaka
High School
Role Concept Context depend on playing Role-playing thing
2014 Nov.9 Tutorial@JIST2014 34
35. Conceptual Framework of a Role
An individual of a role-holder is composed of individuals of a role
concept and its player.
e.g. The individual of Teacher is the composite of individuals of a
teacher role and a person.
2014 Nov.9
Role-Holder
Role Concept Teacher
Subject
Name
Age
Teacher
Role
The length of
employment
Height
Player
Weight
Context
depend on
Person
playable
School
Group A
Only the role
concept has
Group B
Inherited from
its class constraint
Group C
Are NOT referred
by the role concept
Tutorial@JIST2014 35
Definitions (slots) of
role-related concepts
36. Ontology representation (6)
Definitions (slots) of role-related concepts
Group B
Inherited from
its class constraint
*shown with “▼” mark
Group A
Only the role concept has
Group C
Are NOT referred by
the role concept
2014 Nov.9 Tutorial@JIST2014
36
37. Basic operation (5)
Definitions (slots) of role-related concepts
Create specialized slots
to the role concept
Group B
Inherited from
its class constraint
*shown with “▼” mark
Group A
Create new Slot
to the role concept
Only the role concept has
Group C
Inherited slot from
its class constraint are
shown with “▽” mark
Are NOT referred by
the role concept
2014 Nov.9 Tutorial@JIST2014
37
38. Tips to define role concept
To be clear context dependency
Concepts which can not be defined without contexts
(other concept)
E.g. Teacher, Student, Husband, front-wheel, …
Concepts which can be defined independent to others
E.g. Person, Wheel, Stone, …
Considering where slots are defined
Common characteristics independent to contexts
should be defined as slots of basic concepts
Characteristics dependent to some contexts
should be defined as slots of role concepts
2014 Nov.9 Tutorial@JIST2014 38
39. Ontology representation (7)
A role holder can play a role
A role Holder can be referred as a class constraint to
define other role concepts
=A role holder can play a role
e.g.) In a school, director role can be played by
only Teacher (role-holder).
Definition of Teacher role and
Teacher (role-holder)
Referring Teacher (role-holder)
as a class constraint
* [RH] represents it is a role-holder
(this mark is added automatically)
2014 Nov.9 Tutorial@JIST2014
39
40. ② Some characteristic functions
of Hozo
Dynamic generation of is-a hierarchies
Ontology Exploration
2014 Nov.9 Tutorial@JIST2014 40
41. JIST2011
5th Dec.2011, Hangzhou, China
Dynamic Is-a Hierarchy Generation
System based on User's Viewpoint
Kouji Kozaki, Keisuke Hirota, and Riichiro Mizoguchi
The Institute of Scientific and Industrial Research,
Osaka University, Japan
2014 Nov.9 Tutorial@JIST2014 41
42. Motivation: Is-a Hierarchy in Ontology
Ontology
It is designed to provide systematized knowledge and machine readable
vocabularies of domains for Semantic Web applications.
It clearly represents how the target world is captured by people and
systems.
Is-a hierarchies in an ontology
entity
abstract physical
They reflect how the ontology captures
set number object action
the essential conceptual structure of the
target world and form the foundation of ontologies.
In an ontological theory, an is-a hierarchy should be single-inheritance
because the essential property of things cannot exist in multiple.
E.g. Imagine that objects, processes, attributes, etc.
The use of multiple-inheritance for organizing things necessarily blurs
what the essential property of things is.
2014 Nov.9 Tutorial@JIST2014 42
43. Motivation: Multi-perspectives issue
Domain experts often want to understand the
target world from their own domain-specific
viewpoint.
In some domains, there are many ways to
categorize the same kinds of concepts.
infarction
disease
Disease
disease
stenosis
disease
Understanding
from their own
viewpoints
classification by
the symptom
hyperglucemia
disease
Angina diabetes
Myocardial
infarction Stroke
How diseases are named
named by the major symptom
diabetes, angina…
named by the abnormal object
heart disease, …
named by the cause of the disease
Myocardial infarction, stroke
named by the specific environment
Altitude sickness, …
disease
named by the discoverer
Grave’s disease…
disease
heart
disease
classification by the
abnormal object
brain
disease
blood
disease
Myocardial Angina diabetes
infarction Stroke
Myocardial Stroke
infarction diabetes Angina
Several is-a hierarchies of diseases
according to their viewpoints
One is-a hierarchy of diseases cannot
cope with such a diversity of viewpoints.
2014 Nov.9 Tutorial@JIST2014 43
44. Existing approaches
Acceptance of multiple ontologies
based on the different perspectives
Multiple-inheritance, Ontology mapping
Problem
If we define every possible is-a hierarchy
using multiple-inheritances or ontology
mapping, they would be very verbose and
the user’s viewpoints would become implicit.
Exclusion of the multi-perspective
nature of domains from ontologies
The OBO Foundry
A guideline for ontology development stating
that we should build only one ontology in
each domain.
Multiple-inheritance
heart
disease
infarction
disease
Myocardial
infarction
Ontology mapping
infarction
disease
disease
stenosis
disease
hyperglycemia
disease
Angina diabetes
Myocardial
infarction Stroke
disease
heart
disease
brain
disease
blood
disease
Myocardial Angina diabetes
infarction Stroke
2014 Nov.9 Tutorial@JIST2014 44
45. Our approach
Dynamic Is-a Hierarchy Generation
Multi-perspective issue
Understanding based on User's Viewpoint
from their own
viewpoints
Generation of
is-a hierarchies
Ontology Viewpoints
Disease
We take a user-centric
approach based on
ontological viewpoint
management.
Use single-inheritance
2014 Nov.9 Tutorial@JIST2014 45
46. Our approach: Dynamic is-a Hierarchy
Generation according to User’s Viewpoint
infarction
disease
disease
stenosis
disease
classification by
the symptom
hyperglycemia
disease
Angina diabetes Myocardial
infarction Stroke
perspective A
「focus on symptoms」
abnormal state
infarction stenosis hyperglycemia
parts of human body
heart brain blood
various is-a hierarchies
based on individual perspectives
disease
heart
disease
classification by the
abnormal object
brain
disease
blood
disease
Myocardial Stroke diabetes
infarction Angina
perspective B
「focus on abnormal objects」
(2) Reorganizing some
conceptual structures from
the ontology on the fly as
visualizations to cope with
various viewpoints.
disease
Myocardial Stroke
infarction diabetes Angina
(1) Fixing the conceptual structure of an
ontology using single-inheritance based
on ontological theories
2014 Nov.9 Tutorial@JIST2014 46
47. Our approach: Dynamic is-a Hierarchy
Generation according to User’s Viewpoint
Dynamic Is-a Hierarchy Generation
Multi-perspective issue
Understanding based on User's Viewpoint
from their own
viewpoints
Generation of
is-a hierarchies
Ontology Viewpoints
Disease
We take a user-centric
approach based on
ontological viewpoint
management.
Use single-inheritance
We propose a framework for dynamic is-a hierarchy generation
according to the interests of the user and implement the framework as an
extended function of “Hozo-our ontology development tool”.
2014 Nov.9 Tutorial@JIST2014 47
48. Framework for
Dynamic is-a Hierarchy Generation
The same conceptual structure
48
Reorganization
Transcriptional
hierarchy
Transcription of a base
hierarchical stricture
X Target concept
Original
is-a hierarchy
X
A
Aspect
Is-a hierarchy
Definition of the
target concept
Base hierarchy
Generated is-a hierarchy
A
P-is-a hierarchy
A
Generated
is-a hierarchy
refer to
Viewpoint
It generates is-a hierarchies by reorganizing the conceptual structures of
the target concepts selected by a user according to the user’s viewpoint.
2014 Nov.9 Tutorial@JIST2014
49. p-is-a hierarchy
Inheritance: a special case
is-a
p-X = a generic concept
representing all parts of X
↓
Any part of X is-a p-X
Parts of heart
p-is-a hierarchy
p-heart
p-heart
valve wall
p-artrium
p-pulmonary
part-of
2014 Nov.9 Tutorial@JIST2014 49
50. Application of Dynamic Is-a
Generation to a Medical Ontology
The original is-a hierarchy of “disease” The generated is-a hierarchy
We applied dynamic is-a hierarchy generation
system to a medical ontology which we are
developing in a project supported by Japanese
government.
2014 Nov.9 Tutorial@JIST2014 50
52. ESWC2011
30th May 2011, Heraklion, Greece
Understanding an Ontology
through Divergent Exploration
Kouji Kozaki, Takeru Hirota, and Riichiro Mizoguchi
The Institute of Scientific and Industrial Research,
Osaka University, Japan
2014 Nov.9 Tutorial@JIST2014 52
53. A method to obtain meaningful
combinations using ontology exploration
They can use the maps as
viewpoints (combinations) to
get data from multiple DBs.
They explore the ontology
according to their viewpoint
and generate conceptual
maps as the result.
These maps represent
understanding from the their
own viewpoints.
An ontology presents an
explicit essential understanding
of the target world.
It provides a base knowledge
to be shared among the users.
2014 Nov.9 Tutorial@JIST2014
53
54. (Divergent)
Ontology exploration tool
1) Exploration of multi‐perspective conceptual chains
2) Visualizations of conceptual chains
Exploration of an ontology
“Hozo” – Ontology Editor
Visualizations as
conceptual maps from
different view points
Multi-perspective conceptual chains
represent the explorer’s understanding of
ontology from the specific viewpoint. Conceptual maps
2014 Nov.9 Tutorial@JIST2014 54
55. Referring to
another concept
Node represents
a concept
(=rdfs:Class)
slot represents
a relationship
(=rdf:Property)
Is-a (sub-class-of)
relationshp
2014 Nov.9 Tutorial@JIST2014
55
57. Option settings for
exploration
Selected relationships Kinds of aspects
are traced and shown as
links in conceptual map
property
names
constriction
tracing classes
Aspect dialog
Conceptual map visualizer
2014 Nov.9 Tutorial@JIST2014
57
58. 58
Explore the focused
(selected) path.
2014 Nov.9 Tutorial@JIST2014
59. Functions for ontology exploration
Manual exploration
Exploration using the aspect dialog:
Divergent exploration from one concept using the aspect
dialog for each step
Search path:
Machine exploration
Exploration of paths from stating point and ending points.
The tool allows users to post-hoc editing for extracting
only interesting portions of the map.
Change view:
The tool has a function to highlight specified paths of
conceptual chains on the generated map according to given
viewpoints.
Comparison of maps:
The system can compare generated maps and show the
common conceptual chains both of the maps.
2014 Nov.9 Tutorial@JIST2014
59
60. Ending point (1)
Selecting of ending points
Ending point (3)
Search Path
Finding all possible
paths from stating
point to ending points
Starting point
Ending point (2)
2014 Nov.9 Tutorial@JIST2014
60
62. What does the result mean?
Selected ending points
Problem
Possible combination of them
Kinds of method to solve the problem
2014 Nov.9 Tutorial@JIST2014
62
64. ③ Developments of
ontology-based application
An overview of application developments.
Using Hozo Core (Hozo-API)
Using Exported ontologies in RDF/OWL formats
Some example applications
Using Hozo Core
Hozo OAT(Ontology Application Toolkit)
Dynamic is-a generation
Disease Ontology (Disease Chain) Editor
Using RDF export
Disease Ontology (Disease Chain) Viewer
Ontology Explorer –LOD version-
Using OWL export
Abnormal State Ontology Search System
2014 Nov.9 Tutorial@JIST2014 64
65. Hozo Core / Hozo OAT
Hozo Core
Java API for ontologies developed using Hozo
Hozo OAT(Ontology Application Toolkit)
GUI library to develop ontology-based applications using
Hozo ontologies and Hozo Core
Java client version
provides basic GUIs to develop Java client applications using Hozo
ontologies
Web system version
provides basic GUI modules to develop web-based applications
using Hozo ontologies
2014 Nov.9 Tutorial@JIST2014 65
66. Hozo OAT-Java client version-GUI(1)
Is-a hierarchy
browsing
Visualizing
Definitions of
a concept
Selecting a concept
from is-a hierarchy
2014 Nov.9 Tutorial@JIST2014 66
67. Hozo OAT-Java client version-GUI(2)
Search for an ontology
(Simple version)
Search for an ontology
(Detailed version)
2014 Nov.9 Tutorial@JIST2014 67
69. Dynamic is-a generation developed
using Hozo Core and OAT
Viewpoint setting dialog
Is-a hierarchy viewer
Hozo OAT
Hozo OAT
Dynamic is-a hierarchy generation module
HozoCore
Hozo ontology OWL ontology
Hozo-ontology editor
We implemented a prototype of dynamic is-a hierarchy generation
system as an extended function of Hozo and a web-service.
It supports ontologies in OWL or Hozo format.
2014 Nov.9 Tutorial@JIST2014 69
70. Disease Ontology (Disease Chain)
Editor
Is-a hierarchy
of disease
Visual editor for
definition of disease
(causal chain in the
disease)
Definition of disease
in the ontology
2014 Nov.9 Tutorial@JIST2014 70
71. Applications using exported ontologies
in RDF/OWL formats
Ontology export function of Hozo
It is important for interoperability of developed ontologies
Because Hozo ontologies has different semantics with
RDF(S) / OWL, we provides several kinds of export
formats.
Exporting formats
(simple) RDF : for publishing an ontology as LOD (coming soon!)
OWL[A] : simple version → Considering new version
OWL[B] : middle version → Considering new version using OWL2
OWL[C] : detailed version → will be integrated to new OWL[B]
Case studies
Publishing a disease ontology in Linked Data
Developing some web system using the exported ontologies
2014 Nov.9 Tutorial@JIST2014 71
72. JIST2013,Nov. 29, 2013,
Seoul,Korea
Publishing a Disease Ontologies
as Linked Data
Kouji Kozaki*1, Yuki Yamagata*1, Takeshi Imai*2,
Kazuhiko Ohe*3 and Riichiro Mizoguchi*4
*1Osaka University *2The University of Tokyo Hospital
*3The University of Tokyo
*4Japan Advanced Institute of Science and Technology
2014 Nov.9 Tutorial@JIST2014 72
73. Motivation
Publishing Linked (Open) Data
Publishing open data as linked data is a significant trend.
One feature of linked data is the instance-centric approach,
which assumes that considerable linked instances can result in
valuable knowledge.
Ontology
In the context of linked data, ontologies offer a common
vocabulary and schema for RDF graphs.
However, from an ontological engineering viewpoint, some
ontologies offer systematized knowledge, developed under
close cooperation between domain experts and ontology
engineers.
Such ontologies could be a valuable knowledge base for
advanced information systems even if it doesn’t have instances.
2014 Nov.9 Tutorial@JIST2014 73
74. Research Goal
Publishing ontologies as Linked Data
An ontology in RDF formats such as OWL, RDFS, SKOS
etc. can be published as it is as linked data
OWL is not always convenient to use other
applications because of the complicated graph
structures.
RDFS and SKOS does not support enough semantics
for some ontologies.
Research goal
To consider appropriate methods and RDF model to
publish an ontology as Linked Open Data(LOD)for
facilitating efficient use of it.
As a case study, we focus on a disease ontology which
are developed in our Japanese Medical Ontology project.
2014 Nov.9 Tutorial@JIST2014 74
75. A Framework for System Development
based on the Medial Ontology
Applications based on the medical ontology
Developed as Additional Functions of “Hozo”
Dynamic generations of Is-a
hierarchies[Kozaki 11]
Exporting ontologies in other
formats (e.g. OWL)
→Exported ontologies are used
in other systems
Developed using “Hozo-API”
Client based systems
Disease chain
editing tool
Disease chain editing tool
Causal chain exploration tool
Anatomical Connection exploration tool
Web based systems
Ontology viewer on Web
Medical knowledge navigator [Kou 10]
Disease chain LOD:
Publishing the disease ontology as Linked Open Data
Causal chain
exploration tool
Medical knowledge
navigator
2014 Nov.9 Tutorial@JIST2014 75
76. Kinds of causal chain
in the disease ontology
Definition of Disease:A disease is a dependent continuant constituted of
one or more causal chains of (abnormal) states appearing in a human body.
The kinds of causal chain in the disease ontology
・General Disease Chains are all possible causal chains of (abnormal) states in a
human body. They are referred to by all disease definitions.
・Core Causal Chain is a causal chain that is shown in all patients of the disease.
・Derived Causal Chains of a disease are causal chains obtained by tracing general
disease chains upstream (imply possible causes) or downstream (imply possible
symptoms) from the core causal chain.
General Disease Chains
Tutorial@JIST2014
…
…
…
Derived
Causal Chains
… …
Sub-classes of a disease
are defined by extending
ranges focusing …
causal
chains
Core Causal Chain
Causal
relation
Abnormal state
2014 Nov.9 76
77. An example of causal chain
constituted diabetes.
…
Diabetes‐related
Blindness
loss of sight
…
Legends
possible causes and effects
Elevated level
of glucose in
the blood
…
Abnormal state (nodes)
Causal Relationship
Core causal chain of a disease
(each color represents a disease)
… … …
Type I diabetes
Destruction of
pancreatic
beta cells
Lack of insulin I
in the blood
Long-term steroid
treatment
Is-a relation between diseases
using chain-inclusion relationship
between core causal chains
Steroid diabetes
Diabetes
…
…
…
Deficiency
of insulin
…
…
2014 Nov.9 Tutorial@JIST2014
77
78. Defining core causal chains
/derived causal chains
Clinicians described definitions of disease using a visual
editing tool for causal chains of diseases.
The core causal chain
of the disease which
are currently selected
=They are not included in the
definition (core causal chain) of
the disease but
typically observed in its patients.
Causal chains inherited from upper
class of the selected disease
Derived Causal
Chains
Ex) Definition of
“angina pectoris(狭心症)”
2014 Nov.9 Tutorial@JIST2014
78
79. Defining general disease chains
It is obviously difficult to define all general causal chains in
advance, because it is impossible to know all possible states in
the human body and the causal relation-ships among them.
We define the general disease chains by generalizing
core/derived causal chains defined by clinicians in
bottom-up approach.
The kinds of causal chain in the disease ontology
・General Disease Chains are all possible causal chains of (abnormal) states in a
human body. They are referred to by all disease definitions.
・Core Causal Chain is a causal chain that is shown in all patients of the disease.
・Derived Causal Chains of a disease are causal chains obtained by tracing general
We can get general disease chains that represent all
causal chains in which clinicians are interested when
they consider all defined diseases.
disease chains upstream (imply possible causes) or downstream (imply possible
symptoms) from the core causal chain.
We can get not only derived causal chains, defined by the
clinician directly, but also causal chains, derived by tracing
the general disease chains through all clinical areas.
....
2014 Nov.9 Tutorial@JIST2014
79
80. Current state of the disease
ontology (2013/03/11)
Clinical Area The number of
Abnormal states
The number of
Diseases
Allergy and Rheumatoid 1,195 87
Cardiovascular Medicine 3,052 546
Diabetes and Metabolic Diseases 1,989 445
Orthopedic Surgery 1,883 198
Nephrology and Endocrinology 1,706 198
Neurology 2,960 396
Digestive Medicine 1,125 233
Respiratory Medicine 1,739 788
Ophthalmology 1,306 561
Hematology and Oncology 354 415
Dermatology 908 1,086
Pediatrics 2,334 879
Otorhinolaryngology 1,118 470
Total 21,669 6,302
2014 Nov.9 Tutorial@JIST2014 80
81. Visualization and exploration of
general causal chains
From 13 medical divisions
All 21,000 abnormal states
can be visualized with
possible causal relationships
2014 Nov.9 Tutorial@JIST2014 81
82. Implementing the Disease Ontology
Core Causal
Chain
Disease
Derived
Causal Chain
Abnormal
state
Kinds of
causal chain
Core chain
Core chain
Derived chain
Kinds of
causal chain
Kinds of
causal chain
2014 Nov.9 Tutorial@JIST2014
82
Causal
relationship
Causal
relationship
Abnorma
l state
Abnormal
state
We developed the disease
ontology using Hozo.
A disease are represented
by combination of
abnormal states with
causal relationships and
kinds of chain.
83. Purpose to publish ontology as
Linked Data
Purpose to publish ontology as Linked Data
To provide common vocabulary and schema for
instances (RDF graphs)
To define semantics for reasoning
To use systematized knowledge base (knowledge
infrastructure)
Ontology representation language
RDFS: simple schema language for ontologies which do
not have many complicated class definitions.
SKOS: data model for sharing a common vocabulary
such as thesauri, taxonomies etc.
OWL: many semantics to represent detailed class
definitions (for reasoning)
2014 Nov.9 Tutorial@JIST2014 83
84. coronary_
stenosis
hasCause
owl:allValuesFrom
owl:onProperty
rdfs:subClassOf
owl:Restriction
rdfs:type
Abnormal
_State
rdfs:subClassOf
owl:onProperty hasResult
myocardial
_ischemia
rdfs:subClassOf
Blank nodes
owl:allValuesFrom
chest_pain
rdfs:type
OWL representation of
a general causal chain
Abnormal state Causal relation
coronary
stenosis
myocardial
ischemia chest pain
SPARQL to get a cause of “myocardial ischemia”
PREFIX dont: <http://www.hozo.jp/ontology/DiseaseOntology#>
select ?o
where { dont:myocardial_ischemia rdfs:subClassOf ?e
?e owl:allValuesFrom ?o
?e owl:onProperty dont:hasCause
?e rdf:type owl:Restriction }
This query is
not intuitive.
2014 Nov.9 Tutorial@JIST2014 84
85. OWL representation of
a definition of disease
An example of OWL representation of a definition of disease
coronary
stenosis
myocardial
ischemia
chest pain
Derived
causal chain
Core causal
chain
When we want to get a
definition of disease, we
need more complicated
SPARQL queries.
We designed an original RDF model to publish the disease
ontology as linked data, because we thought a simple RDF
model was more efficient than a complicated OWL model.
2014 Nov.9 Tutorial@JIST2014 85
86. RDF data model for
the Disease Chain LOD
We extracted information
about causal chains of
diseases from the disease
ontology and concerted
them into RDF formats
as a linked data.
All classes in the ontology
also are represented as
instances (RDF resources)
for convenience of
queries.
We designed the RDF model so
that the users can obtain
necessary information about
disease chains through simple
SPARQL more intuitively than OWL
representation.
Core causal chain
of “Disease A”
Abnormal
State 1
Derived Causal Chain
of “Disease A”
Abnormal
State 2
Abnormal
State 3
Abnormal
State 4
Legends
Abnormal
State 5
Abnormal
state
Causal
relationships
Abnormal
State 6
Derived Causal Chain
of “Disease B”
Core causal chain of “Disease B”
2014 Nov.9 Tutorial@JIST2014 86
87. A comparison of SPARQL queries
Ex) A SPARQL queries to get a cause of “myocardial ischemia”
In the case of OWL representation
PREFIX dont: <http://www.hozo.jp/ontology/DiseaseOntology#>
select ?o
where {dont:myocardial_ischemia rdfs:subClassOf ?e
?e owl:allValuesFrom ?o
?e owl:onProperty dont:hasCause
?e rdf:type owl:Restriction }
In the case of the proposed model
PREFIX dont:
<http://www.hozo.jp/ontology/DiseaseOntology#>
select ?o
where {dont: myocardial_ischemia dont:hasCause ?o }
coronary
stenosis
myocardial
ischemia chest pain
Abnormal
_State
rdfs:subClassOf
coronary
stenosis
To get a all cause of “myocardial ischemia”
where {dont: myocardial_ischemia dont:hasCause* ?o }
coronary_
stenosis
coronary_
stenosis
hasCause
hasCause
owl:allValuesFrom
owl:onProperty
rdfs:subClassOf
myocardial
_ischemia
myocardial
_ischemia owl:Restriction
Restriction
rdfs:type
rdfs:type
owl:onProperty hasResult
rdfs:subClassOf
owl:allValuesFrom
chest_pain
hasResult
hasResult
myocardial
ischemia
chest pain
hasCause
hasCause
2014 Nov.9 Tutorial@JIST2014 87
88. Example queries
to get abnormal states
(a1) Get all abnormal states.
select ?abn
where { ?abn rdf:type dont:Abnormal_State }
(a2) Get all cause of abnormal state <abn_id>.
select ?o
where {<abn_id> dont:hasCause* ?o }
(a3) Get general disease chain which includes
abnormal state <abn_id>.
select ?o
where { {<abn_id> dont:hasCause* ?o}
UNION
{<abn_id> dont:hasPosibleCause* ?o} }
* “dont:” represents a prefix of the Disease Chain LOD
**<abn_id> represents id of a selected abnormal state.
2014 Nov.9 Tutorial@JIST2014 88
89. Example queries
to get definitions of disease(1)
(d1) Get all disease.
select ?dis
where {?dis rdf:type dont:Disease}
(d2) Get all super diseases of disease <dis_id>.
select ?o
where {<dis_id> dont:subDiseaseOf* ?o }
(d3) Get core causal chains of disease <dis_id>.
select ?o
where {<dis_id> dont:hasCoreState ?o}
(d4) Get core derived chains of disease <dis_id>.
select ?o
where {<dis_id> dont:hasDerivedState ?o}
* “dont:” represents a prefix of the Disease Chain LOD
**<abn_id> represents id of a selected abnormal state.
2014 Nov.9 Tutorial@JIST2014 89
90. Example queries
to get definitions of disease(2)
(d5) Get all causal chains which appear in definitions of
disease <dis_id> as a list of abnormal state.
select ?o
where { <dis_id> dont:subDiseaseOf* ?dis .
←(d2)Get all super disease
←(d3)Get core causal chain
←(d4)Get derived causal chain
{?dis dont:hasCoreState ?o }
UNION{?dis dont:hasDerivedState ?o}}
(d6) Get all causal chains which appear in definitions of
disease <dis_id> as list of causal relationships.
select DISTINCT ?abn1 ?p ?abn2
where { <dis_id> dont:subDiseaseOf* ?dis .
?abn1 ?p ?abn2 .
{?dis dont:hasCoreState ?abn1}
UNION {?dis dont:hasDerivedState ?abn1}
{?dis dont:hasCoreState ?abn2}
UNION {?dis dont:hasDerivedState ?abn2}}
* “dont:” represents a prefix of the Disease Chain LOD
**<abn_id> represents id of a selected abnormal state.
2014 Nov.9 Tutorial@JIST2014 90
91. Current state of
the Disease Chain LOD
Summary of the dataset
We extracted definitions of 2,103 diseases and
13,910 abnormal states in six major clinical areas from
the disease ontology (on May 11, 2013) and published
as the Disease Chain LOD.
The dataset contained 71,573 triples.
System for the Disease Chain
SPARQL endpoint
A supporting function to help beginners input queries
A simple visualization of RDF graphs
Disease Chain LOD Viewer
Search function by name of disease/abnormal state
Visualization of disease chain
The web site http://lodc.med-ontology.jp/
2014 Nov.9 Tutorial@JIST2014 91
92. SPARQL Endpoint
(c)The user can also browse
connected triples by clicking
rectangles that represent the objects.
(a)The user can make simple
SPARQL queries by selecting a
property and an object from lists.
(b) When the user selects a resource
shown as a query result, triples
connected the resource are visualized.
2014 Nov.9 Tutorial@JIST2014 92
93. The Disease Chain Viewer
Causal chains of a disease selected form the
class hierarchy or search results are visualized.
The system collect all information needed for visualizing the
selected disease chain through SPARQL queries.
And, the result is shown within seconds.
This system works on PCs, tablets and smart phones which
support HTML5.
2014 Nov.9 Tutorial@JIST2014 93
94. Prototype application with
Linking to other LOD
•When the user browses a disease chain, it obtains related information about the
selected disease and abnormal state form two other web services.
•One is DBpedia (Japanese /English). The other is BodyParts3D
(http://lifesciencedb.jp/bp3d/) which provide 3D images of anatomies.
2014 Nov.9 Tutorial@JIST2014 94
95. Demo:
the Disease Chain Viewer
The demo system are available at
http://lodc.med-ontology.jp/
2014 Nov.9 Tutorial@JIST2014 95
96. Generalization of the approach for
publishing ontology as LOD
Ontology Explorer –LOD version-
To design a simple RDF format to use ontology exploration
Development of web applications using an
exported ontology in OWL
A case study -Abnormal State Ontology Search System
2014 Nov.9 Tutorial@JIST2014 96
97. Ontology Explorer –LOD version-
Developed using a simple RDF
exported from Hozo
Show related Info.
on DBpedia and Wikipedia
Show the selected path
Explore next paths
See. Presentation JIST2014 main conference
Session 5A: Search and Querying [Nov.11th]
2014 Nov.9 Tutorial@JIST2014 97
98. Abnormal State Ontology
Search System
Is-a hierarchy
browsing
Search concepts Definition of the selected concept
in the ontology
Developed using an OWL ontology (simple version)
exported from Hozo
2014 Nov.9 Tutorial@JIST2014 98
99. Concluding remarks
Summary
How to build ontologies using Hozo
Basic usage of Hozo.
Basic theories of ontological engineering in Hozo.
Some characteristic functions of Hozo
Dynamic generation of is-a hierarchies
Ontology Exploration
Developments of ontology-based application using
An overview of application developments
Some example applications
Future plan
We are developing new version of Hozo focusing;
Interoperability with Linked (Open) Data technologies such as
RDF/OWL2 exprorts, SPARQL …
Development of ontology-based applications
The latest version with RDF/OWL2 export will be published
SOON
2014 Nov.9 Tutorial@JIST2014 99
100. Acknowledgements
A part of this work was supported by JSPS KAKENHI Grant
Numbers 24120002 and 22240011.
A part of research on medical ontology is supported by the
Ministry of Health, Labor and Welfare, Japan, through its
“Research and development of medical knowledge base
databases for medical information systems” and by the
Japan Society for the Promotion of Science (JSPS) through
its “Funding Program for World-Leading Innovative R&D on
Science and Technology (FIRST Program)”.
I’m also grateful to all collaborator of each study.
2014 Nov.9 Tutorial@JIST2014 100
101. Acknowledgement
Thank you for your attention!
2014 Nov.9
Hozo Support Site:
http://www.hozo.jp/
Contact:
kozaki@ei.sanken.oaka-u.ac.jp
Tutorial@JIST2014 101