This work describes a new syntax that can be used to write OWL 2 ontologies. The syntax, which is known as TEX-OWL, was developed to address the need for an easy-to-read and easy-to-write plain text syntax. TEX-OWL is
inspired by LaTeX syntax, and covers all construct of OWL 2.
We designed TEX-OWL to be less verbose than the other OWL syntaxes, and easy-to-use especially for quickly developing small-size ontologies with just a text editor.
The important features of the syntax are discussed in this work, and a reference implementation of a Java-based parser and writer is described.
Authoring OWL 2 ontologies with the TEX-OWL syntax
1. Authoring OWL 2 ontologies with the
TEX-OWL syntax
Mauro Dragoni
Fondazione Bruno Kessler (FBK), Shape and Evolve Living Knowledge Unit (SHELL)
https://shell.fbk.eu/index.php/Mauro_Dragoni - dragoni@fbk.eu
work done in collaboration with
Marco Rospocher1, Matteo Matassoni2, Paolo Bouquet2
1Fondazione Bruno Kessler, Trento
2University of Trento
OWLED 2014 – Riva del Garda, Trento
October, 18th 2014
2. Outline
1. The Rationale Behind
2. The Syntax and Implementation
3. Evaluation
3. The Rationale Behind
Find a way for writing ontology quickly
Using syntaxes XML-like are verbose and hard to write by hand
Avoiding the overhead of learning authoring tools functionalities and using
them
4. Syntax
Why a LaTeX-like syntax?
Overcome known problems and limits based on the experience of the
previous attempt
Syntax document available at
https://github.com/matteomatassoni/TexOwl/blob/master/docs/grammar.pdf
Aligned as much as possible with OWL specification
5. Syntax Example
ns <http://www.mydomain.org/african#>
begin{ontology}[<http://www.mydomain.org/african>]
% Animals form a class
animal c
% Plants form a class disjoint from animals
animal cdisjoint plant
% Trees are a type of plant
tree cisa plant
% Branches are parts of trees
branch cisa oforall{is_part_of}{tree}
% Leaves are parts of branches
leaf cisa oforall{is_part_of}{branch}
% Herbivores are exactly those animals that eat only plants or parts of plants
herbivore ceq (animal cand oforall{eats}{(plant cor oforall{is_part_of}{plant})})
% Carnivores are exactly those animals that eat animals
carnivore ceq (animal cand oexists{eats}{animal})
% Giraffes are herbivores, and they eat only leaves
giraffe cisa (herbivore cand oforall{eats}{leaf})
% Lions are animals that eat only herbivores
lion cisa (animal cand oforall{eats}{herbivore})
% Tasty plants are plants that are eaten both by herbivores and carnivores
tasty_plant cisa candof{plant,oexists{eaten_by}{herbivore},oexists{eaten_by}{carnivore}}
% eats and eaten_by are inverse of each other
eaten_by oinv eats
% Everything that eats is an animal
eats odomain animal
end{ontology}
6. Using TeXOwl in Tools
Built on top of the OWL API Library using JavaCC
Parser + Renderer
Source code available at: http://github.com/matax87/TexOwl/
7. Evaluation - 1
Evaluated the suitability, easiness, and comprehensiveness of the syntax
Two questionnaires have been designed (http://goo.gl/Cjpqtg):
• intuitiveness, conciseness, and understandability have been measured on 10
different examples
• usability of the new syntax for authoring a small ontology
9. Evaluation - 3
10 axioms about the African Wildlife domain
3 questions:
• How difficult was the formalization task?
3.5
• Is the syntax easy to remember?
3.17
• Compare the use of this syntax to others syntaxes that you previously used for
authoring ontology
3.67
10. Next steps?
Visit us at the Poster & Demo session of ISWC 2014 for testing our
demo and for discussing about possible improvements!!!
or
try it online at: http://dkmlab.fbk.eu:8080/converter-webapp/
and maybe…
in the future our work will be part of the OWL API Library…