Simplified OWL Ontology Editing
Is WebProtégé Enough?
Matthew Horridge, Tania Tudorache, Jennifer Vendetti
Csongor Nyulas, Mark A. Musen and Natalya F. Noy
Stanford University
Protégé’s too
complicated!
Main Goals
To develop a default simple interface for
editing OWL ontologies
Reduce the intimidation factor for OWL neophytes
Reduce choices that have to be made by OWL neophytes
Make (simple) ontology editing a more pleasant experience
WebProtégé
“Google Docs for Ontologies”
Web-based ontology editor
Configurable user interface
Collaborative editing support
WebProtégé 2.0 May
2013
OWL 2 editing support
Public ontology creation &
upload
Conjecture
The majority of domain ontologies contain relatively
large subsets of axioms that are syntactically simple.
It’s possible to design and optimise a simple, but
useful, UI for these axioms.
Conjecture
The majority of domain ontologies contain relatively
large subsets of axioms that are syntactically simple.
It’s possible to design and optimise a simple, but
useful, UI for these axioms.
If true,
how can we use this information to design an editor?
Our focus
editing “Class Frames”
The set of axioms that are written down to describe a class
Our focus
editing “Class Frames”
The set of axioms that are written down to describe a class
Empirical Design Methodology
Examine a “seed” corpus
An example of modelling in practice.
dominant types of class axioms and class constructors
Design a “profile” (The WebProtégé Profile).
Design and optimise a UI for this profile
deploy the user interface (deploy WebProtégé)
Evaluate how well the UI covers ontologies uploaded
to WebProtégé
i.e. how useful is the UI in a more general setting?
Quantitative analysis of ontologies + qualitative user study
Empirical Design Methodology
Examine a “seed” corpus
An example of modelling in practice.
dominant types of class axioms and class constructors
Design a “profile” (The WebProtégé Profile).
Design and optimise a UI for this profile
Refine &
deploy the user interface (deploy WebProtégé) evolve UI
Evaluate how well the UI covers ontologies uploaded
to WebProtégé
i.e. how useful is the UI in a more general setting?
Quantitative analysis of ontologies + qualitative user study
Our “seed” corpus
The BioPortal Corpus
BioPortal
http://bioportal.bioontology.org
300+ biomedical ontologies
More than just class hierarchy/annotations
Wide range of authors
Regularly updated
Procedure
➊ Download OWL and OBO Ontologies
➋ Parse each ontology
➌ Examine occurrences of class axioms:
(SubClassOf, DisjointClasses and EquivalentClasses)
➍ Examine occurrences of class constructors:
(SomeValuesFrom, AllValuesFrom, Cardinality, Nominals etc. etc)
Procedure
➊ Download OWL and OBO Ontologies
➋ Parse each ontology 261 ontologies
➌ Examine occurrences of class axioms:
(SubClassOf, DisjointClasses and EquivalentClasses)
➍ Examine occurrences of class constructors:
(SomeValuesFrom, AllValuesFrom, Cardinality, Nominals etc. etc)
Axiom Type Spread
DisjointClasses
DisjointWith!
EquivalentClasses
EquivalentTo!
SubClassOf!
SubClassOf
0! 50! 100! 150! 200! 250!
261
Number of Ontologies! ontologies
Axiom Types
Occurrences per Ontology
Lower Upper
AxiomType Median Maximum
Quartile Quartile
SubClassOf 521 185 2,705 847,755
EquivalentClasses 16 4 61 73,461
DisjointClasses 28 3 158 56,192
Class Expression Spread
ObjectOneOf!
MaxCardinality!
ObjectComplementOf!
ExactCardinality!
MinCardinality!
Universal!
ObjectUnionOf!
Existential!
0! 50! 100! 150! 200! 250!
Number of Ontologies! 261
ontologies
Class Expression
Occurrences per Ontology
ClassExpression Lower Upper
Median Maximum
Type Quartile Quartile
Existential 157 37 1,461 641,123
Universal 22 4 49 22,371
UnionOf 7 3 20 387
focus on
SubClassOf axioms
Class expressions which are existential restrictions
The WebProtégé Profile (WPP)
The default class frame editor in WebProtégé supports editing class frames de-
fined as follows.
Definition 2 (WPP). A WebProtégé Profile class frame for a class A in the
signature of an ontology O is the subset-maximal set of axioms S ✓ O such
that each axiom in S conforms to the following grammar, where non-terminals
are shown in bold, terminals are shown in a regular font-weight surrounded by
single quotes, choices are indicated with a bar, zero or more items are shown in
curly brackets. The non-terminals Class, ObjectProperty, DataProperty, Annotation-
Property, NamedIndividual, Datatype, Literal and IRI, are defined as they appear in
the OWL 2 Structural Specification.
ClassFrame := {ClassFrameAxiom}
ClassFrameAxiom := ‘SubClassOf’ ‘(’ A ClassExpression ‘)’ |
‘AnnotationAssertion’ ‘(’ AnnotationProperty A AnnoValue ‘)’
ClassExpression := Class |
‘ObjectIntersectionOf’ ‘(’ ClassExpression ClassExpression {ClassExpression} ‘)’ |
‘ObjectSomeValuesFrom’ ‘(’ ObjectProperty, Class ‘)’ |
‘ObjectSomeValuesFrom’ ‘(’ ObjectProperty, ‘{’ NamedIndividual ‘}’ ‘)’ |
‘ObjectHasValue’ ‘(’ ObjectProperty, NamedIndividual ‘)’ |
‘DataSomeValuesFrom’ ‘(’ DataProperty, Datatype ‘)’ |
‘DataSomeValuesFrom’ ‘(’ DataProperty, ‘{’ Literal ‘}’ ‘)’ |
‘DataHasValue’ ‘(’ DataProperty, Literal ‘)’ |
‘ObjectMinCardinality’ ‘(’ ‘1’ ObjectProperty, Class ‘)’ |
‘DataMinCardinality’ ‘(’ ‘1’ DataProperty, Class ‘)’
AnnoValue := Literal | IRI
Definition 2 (WPP) precisely represents the language that is supported by the
default class frame editor in WebProtégé. We chose what to include in the Defi-
nition 2 (WPP) based on (1) an empirical analysis of commonly used axiom types
and class constructors in a large ontology corpus, and (2) commonly reported
errors [10, 11] that are made by novices when building OWL ontologies. The
corpus analysis provided information on which constructs we should support.
The WebProtégé Profile (WPP)
The default class frame editor in WebProtégé supports editing class frames de-
fined as follows.
Definition 2 (WPP). A WebProtégé Profile class frame for a class A in the
signature of an ontology O is the subset-maximal set of axioms S ✓ O such
that each axiom in S conforms to the following grammar, where non-terminals
are shown in bold, terminals are shown in a regular font-weight surrounded by
single quotes, choices are indicated with a bar, zero or more items are shown in
curly brackets. The non-terminals Class, ObjectProperty, DataProperty, Annotation-
Property, NamedIndividual, Datatype, Literal and IRI, are defined as they appear in
the OWL 2 Structural Specification.
ClassFrame := {ClassFrameAxiom}
ClassFrameAxiom := ‘SubClassOf’ ‘(’ A ClassExpression ‘)’ |
‘AnnotationAssertion’ ‘(’ AnnotationProperty A AnnoValue ‘)’
ClassExpression := Class |
‘ObjectIntersectionOf’ ‘(’ ClassExpression ClassExpression {ClassExpression} ‘)’ |
‘ObjectSomeValuesFrom’ ‘(’ ObjectProperty, Class ‘)’ |
‘ObjectSomeValuesFrom’ ‘(’ ObjectProperty, ‘{’ NamedIndividual ‘}’ ‘)’ |
‘ObjectHasValue’ ‘(’ ObjectProperty, NamedIndividual ‘)’ |
‘DataSomeValuesFrom’ ‘(’ DataProperty, Datatype ‘)’ |
‘DataSomeValuesFrom’ ‘(’ DataProperty, ‘{’ Literal ‘}’ ‘)’ |
‘DataHasValue’ ‘(’ DataProperty, Literal ‘)’ |
‘ObjectMinCardinality’ ‘(’ ‘1’ ObjectProperty, Class ‘)’ |
‘DataMinCardinality’ ‘(’ ‘1’ DataProperty, Class ‘)’
AnnoValue := Literal | IRI
Definition 2 (WPP) precisely represents the language that is supported by the
default class frame editor in WebProtégé. We chose what to include in the Defi-
nition 2 (WPP) based on (1) an empirical analysis of commonly used axiom types
and class constructors in a large ontology corpus, and (2) commonly reported
errors [10, 11] that are made by novices when building OWL ontologies. The
corpus analysis provided information on which constructs we should support.
The WebProtégé Profile (WPP)
The default class frame editor in WebProtégé supports editing class frames de-
fined as follows.
Definition 2 (WPP). A WebProtégé Profile class frame for a class A in the
signature of an ontology O is the subset-maximal set of axioms S ✓ O such
that each axiom in S conforms to the following grammar, where non-terminals
are shown in bold, terminals are shown in a regular font-weight surrounded by
single quotes, choices are indicated with a bar, zero or more items are shown in
curly brackets. The non-terminals Class, ObjectProperty, DataProperty, Annotation-
Property, NamedIndividual, Datatype, Literal and IRI, are defined as they appear in
the OWL 2 Structural Specification.
ClassFrame := {ClassFrameAxiom}
ClassFrameAxiom := ‘SubClassOf’ ‘(’ A ClassExpression ‘)’ |
‘AnnotationAssertion’ ‘(’ AnnotationProperty A AnnoValue ‘)’
ClassExpression := Class |
‘ObjectIntersectionOf’ ‘(’ ClassExpression ClassExpression {ClassExpression} ‘)’ |
‘ObjectSomeValuesFrom’ ‘(’ ObjectProperty, Class ‘)’ |
‘ObjectSomeValuesFrom’ ‘(’ ObjectProperty, ‘{’ NamedIndividual ‘}’ ‘)’ |
‘ObjectHasValue’ ‘(’ ObjectProperty, NamedIndividual ‘)’ |
‘DataSomeValuesFrom’ ‘(’ DataProperty, Datatype ‘)’ |
‘DataSomeValuesFrom’ ‘(’ DataProperty, ‘{’ Literal ‘}’ ‘)’ |
‘DataHasValue’ ‘(’ DataProperty, Literal ‘)’ |
‘ObjectMinCardinality’ ‘(’ ‘1’ ObjectProperty, Class ‘)’ |
‘DataMinCardinality’ ‘(’ ‘1’ DataProperty, Class ‘)’
AnnoValue := Literal | IRI
Definition 2 (WPP) precisely represents the language that is supported by the
default class frame editor in WebProtégé. We chose what to include in the Defi-
nition 2 (WPP) based on (1) an empirical analysis of commonly used axiom types
and class constructors in a large ontology corpus, and (2) commonly reported
errors [10, 11] that are made by novices when building OWL ontologies. The
corpus analysis provided information on which constructs we should support.
Evaluation
Coverage & Usability
Reminder
Two modes of operation:
Create ontologies from scratch
or
Upload existing ontologies
The WebProtégé Corpus
230 uploaded pre-existing ontologies
Most uploaded between 25th April 2013 - 6th May 2013
519 ontologies in total
230 uploaded pre-existing ontologies
➊ Parse each ontology
➋ Count class frames in WPP
➌ Count class frames in WPP-Dis
(WPP + DisjointClasses axioms)
➍ Count class frames in WPP-Dis-Eq
(WPP + DisjointClasses and EquivalentClasses axioms)
230 pre-existing ontologies uploaded
➊ Parse each ontology
➋ Count class frames in WPP
➌ Count class frames in WPP-Dis
(WPP + DisjointClasses axioms)
➍ Count class frames in WPP-Dis-Eq
(WPP + DisjointClasses and EquivalentClasses axioms)
230 pre-existing ontologies uploaded
➊ Parse each ontology
➋ Count class frames in WPP
➌ Count class frames in WPP-Dis
(WPP + DisjointClasses axioms)
➍ Count class frames in WPP-Dis-Eq
(WPP + DisjointClasses and EquivalentClasses axioms)
Coverage by Ontology
100,000!
Class-frames outside of the WebProtégé Profile!
Class-frames inside the WebProtégé Profile augmented with DisjointClasses
and EquivalentClasses axioms!
10,000!
Class-frames inside the WebProtégé Profile augmented with DisjointClasses
axioms!
Number of Class-frames!
Class-frames inside the WebProtégé Profile!
1,000!
100!
10!
1!
Ontologies!
Coverage over WP Corpus
108
108 126
126 152
152
100
100
frames represented
WPP
WPP
of class frames represented
80
80 WPP− Dis
WPP-Dis
WPP− DisEq 75%
75%
WPP-DisEq
60
60
40
40
% of%class
20
20
00
0 50
50 100
100 150
150 200
200 230
230
Number
Numberof
of Ontologies
ontologies
The UI
User Study
1 5
55 Participants: WebProtégé users Beginner Expert
Recruited via direct invitation and mailing list
Ontologies: 2.96
OWL: 2.7
User Study
1 5
55 Participants: WebProtégé users Beginner Expert
Recruited via direct invitation and mailing list
Ontologies: 2.96
Standard Nielsen usability questions
OWL: 2.7
WebProtégé isEasy
easyto
to use
use
Easy
WebProtégé is easyto
to learn
learn
Easy to to
It easy find
findwhat
whatI Ineed
need
Easy
The content totounderstand
easy understand
Information
The organisation of informationisis clear
clear
Collaboration features
The collaboration featuresare
are useful
useful
Overall I Overall I’mwith
am satisfied satisfied with it
WebProtégé
50
50 40
40 30
30 20
20 10
10 00 10
10 20
20 30
30 40
40 50
50
Responses
Responses
Strongly disagree
Strongly.disagree Disagree
Disagree Neutral
Neutral Agree
Agree Strongly agree
Strongly.agree
What do you miss?
1 User: “The ability to create anonymous classes”
1 User: “The ability to create logical expressions”
Summary
An empirically driven UI development methodology for designing a
simplified user interface for editing OWL ontologies
WebProtégé Profile (WPP) - a simple syntactic fragment of OWL 2
A simple UI to support this profile - the default UI in WebProtégé
The profile/UI offers good coverage for naturally occurring ontologies,
and we have received positive feedback about the UI from users
We found the empirical design methodology useful
This work
Goal: To develop a simple interface for
editing OWL ontologies
Empirically driven UI design methodology
Base the design on the use of language constructs in an existing ontology corpus
This work
Goal: To develop a simple interface for
editing OWL ontologies
Empirically driven UI design methodology
Base the design on the use of language constructs in an existing ontology corpus
... and, try to minimise choices that need to made by users