Title: Ontology Views An Update
1Ontology ViewsAn Update
- A BISTI Collaborative RO1 with the National
Center for Biomedical Ontology - James F. Brinkley, PI
- Structural Informatics Group
- University of Washington
2 Personnel
- Dan Suciu
- Linda Shapiro
- Marianne Shaw
- Gary Yngve
- Todd Detwiler
- Joshua Franklin
- Onard Mejino
- Dan Cook
- John Gennari
- Daniel Rubin
- Natasha Noy
- Mark Musen
3Motivation
- Large number of application ontologies
- Need to link them together into the semantic web
- Reference ontologies as one way to do this
- But reference ontologies are (or will be) too
large for practical use - How can reference ontologies be made practical
for applications, yet retain potential to link
application ontologies?
4Approach
- Application ontologies as views over one or more
reference ontologies - A view is a query that defines a formal
transformation from one or more source ontologies
to a target application ontology
5Main advantage of views
- View query describes the specific operations used
to create the application ontology - Therefore the connection to the source(s) are not
lost - If the query can be made bidirectional (a
mapping) then application ontologies can be
related to each other via views
6Secondary advantages
- View query can be re-run at any time as the
reference ontology changes - The query is formal so can be manipulated by a
GUI - Application ontology need not be materialized, so
the update problem is not an issue (but there may
be other reasons to materialize views)
7FMA
anatomist
8Q1 What are all the cavities of organ parts?
anatomist
9Q1 What are all the cavities of organ parts?
N263
R1
10Use case 1 Image annotation
Q1 What are all the cavities of organ parts?
anatomist
11(No Transcript)
12Use case 1 Image annotation
Q1 What are all the cavities of organ parts?
Heart Anatomy
A1
V1
anatomist
13Use case 1 Image annotation
Q1 What are all the cavities of organ parts?
A1 Heart Anatomy
A1
V1
V1
V1 What are the parts of the heart and their
types?
anatomist
14Use case 1 Image annotation
Q1 What are all the cavities of organ parts?
A1 Heart Anatomy
A1
V1
V1
V1 What are the parts of the heart and their
types?
VGen
anatomist
15Use case 1 Image annotation
Q1 What are all the cavities of organ parts?
A1 Heart Anatomy
V1 What are the parts of the heart and their
types?
VGen
anatomist
16Use case 1 Image annotation
Q1 What are all the cavities of organ parts?
A1 Heart Anatomy
V1 What are the parts of the heart and their
types?
VGen
Q2 What are the cavities of organ parts that are
parts of the heart?
anatomist
17Q2 What are the cavities of organ parts that are
parts of the heart?
R2
18(No Transcript)
19Use case 1 Image annotation
VGen
anatomist
20Use case 1 Image annotation
- Features
- View query is a basis for linking
- Application ontologies are always up-to-date
- Application ontologies are composable
VGen
anatomist
21Use case 1 Image annotation
A1 Heart Anatomy
VGen
physiologist
anatomist
22Use case 1 Image annotation
A2 Heart Physiology
A1 Heart Anatomy
VGen
VGen
physiologist
anatomist
23Use case 1 Image annotation
Use case 2 Model merging
VGen
VGen
physiologist
anatomist
24Basic Architecture
VGen
25Data and Knowledge Layer
Ontologies
FMA
OPB
Wrappers
Query Visualization Services
VQP
Service Layer
Web Services
Editors Tools
VGen
Presentation Layer
26Research Issues (aims)
- How to define the view
- How to implement the view query processor
- How to graphically generate views
- Driven by and evaluated in terms of use cases
27Current Results
- Ontology web services
- Extensions to SparQL
- Regular path expressions
- Subqueries and recursive queries
- Graphical view generation
- FMA-RADLEX use case
- Other use cases
28FMA in OWL via an Ontology Web Service
--------------------------- object
fmaRight_side_of_heart fmaLeft_side_of_heart
---------------------------
29All the parts of the heart
- Select all parts of the heart
- SELECT ?object
- WHERE
-
- fmaHeart fmapart ?object .
-
- ----------
- object
-
- ----------
30Gleen SparQL Regular Path LibraryTodd Detwiler
- Property Function library for ARQ/Jena2 (Java)
- Supports processing of regular paths in SparQL
queries - one or more
- zero or more
- ? zero or one
- / concatenation
- alternation
- grouping and property delineation
31Regional or constitutional parts
- Select either regional or constitutional parts
of the heart - SELECT ?object
- WHERE
-
- fmaHeart gleenOnPath ("fmaregional_partfmaco
nstitutional_part" ?object) . -
- ORDER BY ?object
32Results
- ----------------------------------------
- object
-
- fmaAortic_valve
- fmaAtrioventricular_septum
- fmaCardiac_vein
- fmaCavity_of_left_atrium
- fmaCavity_of_left_ventricle
- fmaCavity_of_right_atrium
- fmaCavity_of_right_ventricle
- fmaCoronary_sinus
- fmaFibrous_skeleton_of_heart
- fmaInteratrial_septum
- fmaInterventricular_septum
- fmaLeft_coronary_artery
- fmaLeft_side_of_heart
- fmaLymphatic_capillary_bed_of_heart
- fmaMitral_valve
- fmaNeural_network_of_heart
33Transitive closure
- Select either regional or constitutional parts
of the heart - SELECT ?object
- WHERE
-
- fmaHeart gleenOnPath ("fmaregional_partfmaco
nstitutional_part" ?object) . -
- ORDER BY ?object
34(No Transcript)
35Constructing a part view
Construct heart parts as either the regional or
constitutional parts of the heart CONSTRUCT fmaH
eart fmapart ?object WHERE fmaHeart
gleenOnPath ("fmaregional_partfmaconstitution
al_part" ?object) . ORDER BY ?object
36(No Transcript)
37(No Transcript)
38(No Transcript)
39(No Transcript)
40(No Transcript)
41SELECT ?prop ?val WHERE nciGastric_Mucosa-As
sociated_Lymphoid_Tissue_Lymphoma gleenOnPath (
"owlequivalentClass?/owlintersectionOf/rd
frest/rdffirst" ?restriction ) .
?restriction owlonProperty ?prop .
?restriction gleenOnPath ( "owlsomeValuesFromo
wlallValuesFrom" ?val ). ORDER BY ?prop
42(No Transcript)
43CONSTRUCT nciGastric_Mucosa-Associated_Lymphoid_
Tissue_Lymphoma ?prop ?val WHERE
nciGastric_Mucosa-Associated_Lymphoid_Tissue_Lymp
homa gleenOnPath ( "owlequivalentClass?/o
wlintersectionOf/rdfrest/rdffirst"
?restriction ) . ?restriction owlonProperty
?prop . ?restriction gleenOnPath (
"owlsomeValuesFromowlallValuesFrom" ?val ).
44Demo
45SparQL Extensions vSparQLMarianne Shaw and Dan
Suciu
- Subqueries
- Recursive Queries
46vSparQL Subqueries
- Builds upon CONSTRUCT query
CONSTRUCT ?subj ?prop ?obj FROM lt ... gt WHERE
?subj ?prop ?obj
- Subqueries treated as data source
- Named or unnamed data source
SELECT ... FROM NAMED ltsubquery_namegt
CONSTRUCT ... FROM lt ... gt WHERE
... WHERE GRAPH ltsubquery_namegt ...
47vSparQL Example Subquery
- Get all of the direct regional_parts of the liver
PREFIX dl lthttp//.../fmaOwlDlComponent_2_0gt
SELECT ?obj FROM NAMED ltsubquerygt
CONSTRUCT dlLiver dlregional_part ?a
FROM lthttp//.../fmaOwlFullComponent_2_0gt
WHERE dlLiver dlregional_part ?a WHERE
GRAPH ltsubquerygt ?subj ?prop ?obj
48Results
----------------------------- obj
dlCaudate_lobe_of_liver dlRight_lobe_of_liv
er dlLeft_lobe_of_liver
dlQuadrate_lobe_of_liver ----------------------
-------
49vSparQL Recursive Subqueries
- Union of CONSTRUCT queries
SELECT ... FROM NAMED ltrecursive_subqgt
CONSTRUCT ... Base queries
FROM lt ... gt WHERE ... UNION
Set union CONSTRUCT ...
Recursive queries FROM NAMED
ltrecursive_subqgt FROM lt ... gt WHERE
GRAPH ltrecursive_subqgt ... . ...
WHERE GRAPH ltrecursive_subqgt ...
50vSparQL Recursive Query
- Regional_parts of the liver, transitive closure
PREFIX dl lthttp//.../fmaOwlDlComponent_2_0gt
SELECT ?obj FROM NAMED ltlivergt Base case
get the direct regional_parts of the
liver CONSTRUCT dlLiver dlregional_part
?z FROM lthttp//.../fmaOwlFullComponent_2_0gt W
HERE dlLiver dlregional_part ?z . UNION
Get all of the regional_parts of the liver
recursively CONSTRUCT ?c dlregional_part
?d FROM NAMED ltlivergt FROM NAMED
lthttp//.../fmaOwlFullComponent_2_0gt WHERE
GRAPH ltlivergt ?a ?b ?c . . GRAPH
lthttp//.../fmaOwlFullComponent_2_0gt ?c
dlregional_part ?d . . WHERE
GRAPH ltlivergt ?subj ?prop ?obj .
51Results
- Get all of the regional_parts of the liver
--------------------------------------------------
------------------------ obj
dlLateral_inferior_a
rea_of_lateral_segment_of_left_lobe_of_liver
dlLateral_superior_area_of_lateral_segment_of
_left_lobe_of_liver dlQuadrate_lobe_of_l
iver
dlCaudate_lobe_of_liver
dlLeft_lobe_proper_o
f_liver
dlLateral_segment_of_left_lobe_of_liver
dlMedial_segment_of_
left_lobe_of_liver
dlQuadrate_lobe_of_liver
dlLeft_lobe_of_liver
dlRight_lobe_of_liver
dlCaudate_lobe_of_li
ver
dlMedial_superior_area_of_medial_segment_of_l
eft_lobe_of_liver dlMedial_inferior_ar
ea_of_medial_segment_of_left_lobe_of_liver
dlPosterior_segment_of_right_lobe_of_liver
dlAnterior_segment_o
f_right_lobe_of_liver
dlPosterior_superior_area_of_posterior_segmen
t_of_right_lobe_of_liver dlPosterior_inferior
_area_of_posterior_segment_of_right_lobe_of_liver
dlPapillary_process_of_caudate_lobe_of_liver
dlCaudate_process_of
_caudate_lobe_of_liver
dlLeft_segment_of_caudate_lobe_of_liver
dlRight_segment_of_c
audate_lobe_of_liver
dlAnterior_superior_area_of_anterior_segment_
of_right_lobe_of_liver dlAnterior_inferior_
area_of_anterior_segment_of_right_lobe_of_liver
------------------------------------------------
--------------------------
52Current Work
- Investigating different DBMS formats
- Especially important for recursive queries
- Pushing recursive queries to DBMS
- Combining Gleen with vSparQL
53Research Issues (aims)
- How to define the view
- How to implement the view query processor
- How to graphically generate views
54Graphical View GenerationGary Yngve and Linda
Shapiro
Demo
PREFIX dl lthttp//.../fmaOwlDlComponent_2_0gt
SELECT ?obj FROM NAMED ltlivergt Base case
get the direct regional_parts of the
liver CONSTRUCT dlLiver dlregional_part
?z FROM lthttp//.../fmaOwlFullComponent_2_0gt W
HERE dlLiver dlregional_part ?z . UNION
Get all of the regional_parts of the liver
recursively CONSTRUCT ?c dlregional_part
?d FROM NAMED ltlivergt FROM NAMED
lthttp//.../fmaOwlFullComponent_2_0gt WHERE
GRAPH ltlivergt ?a ?b ?c . . GRAPH
lthttp//.../fmaOwlFullComponent_2_0gt ?c
dlregional_part ?d . . WHERE
GRAPH ltlivergt ?subj ?prop ?obj .
55The FMA-RadLex Use CaseOnard Mejino and Daniel
Rubin
- RadLex
- Need to reorganize
- Use FMA as an organizing framework for the
anatomy component - Dont need or want all of FMA
- Need a view
- Serves as initial validation for various
approaches
56Approaches
- Manual generation of the view
- Creating the view using the graphical ontology
browser - Creating the view using vSparQL and GLEEN
57Manual Approach
Onard Mejino
58Graphical Approach
Onard Mejino
59(No Transcript)
60(No Transcript)
61(No Transcript)
62- Application view required
- Add class/node Abdominal organ to class/node
Organ - Reassign existing and appropriate organ to
Abdominal organ - Reassign all other organs as direct subclasses of
Organ - Remove intervening or intermediate classes/nodes
-
63Create new class Abdominal organ
64Organs reassigned to new class Abdominal organ
65Rest of organs are reassigned directly under
superclass Organ
66Deleted Solid Organ
67Deleted Cavitated Organ
68Hide deleted classes
69Using vSparQL Marianne Shaw
70(No Transcript)
71Combining vSparQL and GLEENTodd Detwiler and
Marianne Shaw
Demo
72(No Transcript)
73Initial conclusions from RadLeX Use Case
- Graphical view generation
- Promising but too granular
- Incomplete and somewhat buggy
- Does not generate queries
- Queries
- vSparQL plus GLEEN seems promising
- Need to look at other use cases
74Image Annotation Use Case
Demo
75Other Use Cases
- Spatial/Symbolic Query Processor
- Dynamic Scene Generation
- Distributed XQuery-Based Data Integration
- Model annotation and merging
- Clinical trials data integration (possible)
76Planned work
- Graphical view generation
- Develop less granular operations
- Generate view queries
- Compare with other approaches
- Query generation
- Extend expressiveness
- Optimize
- Explore view composition
- Explore how to integrate with BioPortal
77Conclusions
- A query-based approach to deriving application
ontologies from reference ontologies - Facilitates interoperability and version control
- Promotes a service-oriented view
- Significant research issues
- Solutions could help to achieve at least part of
the vision of the semantic web