Using UML for Ontology construction: a case study in Agriculture Francois Pinet 1, Pierre Ventadour 1, Thomas Brun 1, Petraq Papajorgji 2, Catherine Roussey 3, Frederic Vigier Cemagref, France 2 - IFAS-UF, USA 3 - CNRS LIRIS, France
Goal of the presentation: - Step 1) Describe the process used to translate an UML model into an ontology. - Step 2) Present how to use Description Logics to deduce knolwedge issued from this ontology.
UML for ontology construction? - Several studies have acknowledged the benefits of using a standard modelling tool such as UML in ontology construction: Cranefield Stephen, Purvis Martin, UML as an Ontology Modelling Language. In Proceedings of the Workshop on Intelligent Information Integration, 16th International Joint Conference on Artificial Intelligence (IJCAI-99), Martin Philippe, Translations between UML, OWL, KIF and the WebKB-2 languages (For-Taxonomy, Frame-CG, Formalized English), Technical Report, May/June IBM, Ontology Definition Metamodel, Submitted by IBM. Schreiber Guus, A UML Presentation Syntax for OWL Lite, Technical Report, Ect.
UML for ontology construction? - UML is widely used and supported by a large number of tools - UML is an open standard maintained by the Object Management Group (OMG) and it is well-known in many Universities and companies.
What is the UML? OO Unified Modelling Language A graphical language for modelling information system, software and … The language is composed by different diagrams Class diagrams can be used in order to model data and they may be used to model some parts of an ontology…
Example of UML diagram
class Generalization / Specialization association attributemutliplicity
UMLOWL Commun part UML for ontology construction? Example of comparison between OWL and UML UML/OWL Comparison can be found in: IBM, Ontology Definition Metamodel, Fourth Revised Submission to OMG/ RFP ad/ Submitted by IBM, 286p. The expressivity of the two languages are not similar.
Similar concepts
UML OWL Animal class, Disease class, Identification property, Remark property … + hasDisease property having Disease as values range (hasDisease is used to replaced the UML association)
Approach experimented in the paper: UML class diagram Protegé (Standford University, Protégé, ) Import with UML Storage Backend Plug-In (semi-manual process – for instance, the binary associations are not translated into properties) OWL « reasoning » (e.g. deducing new individuals) Thanks to a DIG reasoner e.g. a reasoner supporting the interface defined by the DL Implementation Group (DIG - ArgoUML
Ontology with Protégé
“Reasoning” with Protégé: we can model an individual of Diseased_Animal as an individual belonging to Animal and having a Disease
“Reasoning” with Protégé: we can model an individual of Diseased_Animal as an individual belonging to Animal and having a Disease In Description Logic Diseased_Animal: Property of Animal - it corresponds to the assocation between Disease and Animal in the UML class diagram
“Reasoning” with Protégé: we can model an individual of Diseased_Animal as an individual belonging to Animal and having a Disease Animal It possible to classify the animals with a DIG Reasoner Diseased_AnimalNot(Diseased_Animal) Diseased_Animal: In Description Logic
Description Logic - Description logics (DL) are a family of knowledge representation languages to represent the terminological knowledge of an application domain. They came from AI. - The name description logic refers: - to concept descriptions used to describe a domain and, - to the logic-based semantics linked with the first-order logic. - The first DL was KL-ONE (by Brachman and Schmolze, 1985). other DL systems: LOOM (1987), BACK (1988), KRIS (1991), CLASSIC (1991), FaCT (1998) and lately RACER (2001), CEL (2005), and KAON 2 (2005).
- OWL DL is partially based on a DL named Description Logic - Another example in DL: Parent = Person Child.Person « Formally speaking, the set of all the parents is the intersection between: - the set of persons and, - the set of individuals having a child who is a person »
Description Logic Examples of DL syntax: C1 … CnAnimal Male “the male animals” C1 … CnInsect Animal “the insects and the animals” C Mammal “all expect the mammals” P.C (universal quantifier) hasEmployee.Farmer “individuals only employing farmers” P.C (existential quantifier) hasEmployee.Farmer “individuals employing one farmer or more”
Recursive definitions are possible: The class D of all the descendants of animals having a disease: D = Animal parent.(Diseased_Animal D ) “An individual in D is an animal which has a parent having a disease or which is a descendant of an individual of D”. Starting from a set of diseased animals, it is possible with Protégé and a DIG reasoner to deduce all the descants of animals having a disease.
Link between individuals deduced during the reasoning process can be viewed with Jambalaya (Protégé Plug-In) Animal 1 Animal 2 Animal 3 DISEASED ANIMAL class ANIMAL class
Conclusion From UML models to knowledge reasoning, we experimented the use of: - ArgoUML (to draw UML diagrams) - Protégé: - UML Storage Backend Plug-In (to translate some parts of the UML diagram) - Jambalaya (to show the result of the reasoning) - DIG Reasoner (Fact++)
Perspectives - An important research field consists of extending the UML class diagrams in order to model all the main ontology constructs. - Another research field is related to the use of the Object Constraint Language of UML ( Warmer and Kleppe 1999 ). - Goal of this approach = to allow describing directly in OCL, logical expressions for the automatic reasoning ( Cranefield and Purvis 1999 ).