Building a fuzzy ontology plugin for Protégé
Introduction to Protégé Free software for the creation of models and aplications using ontologies Developed by Stanford University and Mark Musen Enables the creation of ontologies for Semantic Web in the W3C OWL language
Ontology basics Description of concepts and relations that exist between them, used by one or more agents. “A formal and explicit specification of a shared conceptualisation.”
Basic components Classes - organized in a hierachy Relations - types of interactions Axioms - model true statements Instances - specific elements Domain - limits of an ontology Vocabulary - classes and instances
Protégé architecture GUI for manipulation of the knowledge base Rich set of structures for modeling knowledge in various presentations formats Can be expanded by Java API plug-ins PAL – internal axiomatic language for the consrtuction of output forms
Architecture schematic
Source code Protégé 4.0 http://protege.stanford.edu/download/protege/4.0/zip/?C=N;O=D graphViz http://www.graphviz.org/Download.php
Creating an ontology
Creating a class
Object properties
Creating relations
Creating instances
Searching the code Protégé architecture, documentation and code repositories http://protege.stanford.edu/ Problems with compatibility of versions Protégé 3.2, Protégé 3.4 e Protégé 4.0
Types of plugins T - Tab Widget plug-ins S - Slot Widget plug-ins P - Project plug-ins I - Resource Display plug-ins F - Resource Action plug-ins O - Ontology Test plug-ins R - Result Panel plug-ins C - Conditions Widget Extensio plug-ins
Location of plugins
Usefull resourcess Protégé source http://protege.stanford.edu/download/registered.html Protégé repository http://smi-protege.stanford.edu/repos/protege Development guide with examples http://protege.stanford.edu/plugins/owl/api/ guide.html#Overview Class inheritance by plugin type http://protege.stanford.edu/doc/dev.html#plugins JAVA help http://wso2.org/project/wsas/java/1.1/docs/ setting-java-home.html
Modifying XML Rename the file XML in folder XML to plugin.xml. Add the folowing code into file
Configuring Eclipse Verify SubClipse is installed Add Protégé repository to Eclipse Select the file trunk from protege4/protege-standalone/ Create new Java Project Add all JAR files from subfolders lib and osgi/equinox into subfolder src in the plugin folder Select file build.xml and execute “run as...” “Ant Build”
Required Métodos initialiseClassView() - creates vizualisations updateView() - selects classes. disposeView() - removes visualisations getOWLModelManager() - accesses ontologies and events getOWLWorkspace() - returns interface
Plugin example Select the Protégé instalation folder as workspace Add all JAR files with class packages Create and configure the compiler output Create a Java class with required methods Execute program
Errors and problems
Solution Create a workspace in the Protégé instalation file Import all Protégé source code files into the project Add all possible libraries and extensions into the Protégé instalation file Configure the complier as before Configure a JAVA_HOME as described in Java help
Result
References GRUBER, T. R. A Translation Approach to Portable Ontology Specifications. Knowledge Acquisition, v. 5, n. 2, p. 199-220, 1993. YAGUINUMA, C. A.; BIAJIZ, M.; SANTOS, M. T. P. Sistema FOQuE para Expansão Semântica de Consultas Baseada em Ontologias Difusas. In: XXII Simpósio Brasileiro de Banco de Dados, 2007, João Pessoa (PB). XXII Simpósio Brasileiro de Banco de Dados. João Pessoa (PB): SBC, 2007. v. 1. p. 208-222. STANFORD UNIVERSITY. The Protégé Ontology Editor and Knowledge Acquisition System. Disponível em: <http://protege.stanford/>. Acesso em: 03 ago. 2009. SEMPREBOM, T; CAMADA, M; MENDONÇA, I. Protégé e Ontologias. Florianópolis, 17 jul. 2007. Disponível em: <http://www.das.ufsc.br/~gb/pg-ia/Protege07/ontologia_protege.pdf>. Acesso em: 03 ago. 2009. 26 p. MIMWIKI. Utilização do Protégé para Definição de Ontologias Médicas. Disponível em: <http://mimwiki.med.up.pt/index.php/Utiliza%C3%A7%C3%A3o_do_Prot%C3%A9g%C3%A9_para_defini%C3%A7%C3%A3o_de_ontologias_m%C3%A9dicas>. Acesso em: 03 ago. 2009. WIKIPEDIA.ORG. Ontologia (Ciência da Computação). Disponível em: < http://pt.wikipedia.org/wiki/Ontologia_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)>. Acesso em: 03 ago. 2009.