Presentation is loading. Please wait.

Presentation is loading. Please wait.

12 Março 2003 Departamento de Informática Universidade do Minho Departamento de Informática Lic. Matemática e Ciências de Computação Laboratório de Métodos.

Similar presentations


Presentation on theme: "12 Março 2003 Departamento de Informática Universidade do Minho Departamento de Informática Lic. Matemática e Ciências de Computação Laboratório de Métodos."— Presentation transcript:

1 12 Março 2003 Departamento de Informática Universidade do Minho Departamento de Informática Lic. Matemática e Ciências de Computação Laboratório de Métodos Formais Marlene Azevedo {marlene.azevedo@correio.ci.uminho.pt}

2 12 Março 2003 Departamento de Informática Universidade do Minho Integration of OntoClean in XOL XOL++

3 12 Março 2003 Departamento de Informática Universidade do Minho The Objectives Motivations Ontology XOL Language OntoClean Method XOL++ Example Future Work

4 12 Março 2003 Departamento de Informática Universidade do Minho Motivations Know How acquired; Stimulant subject; Topic Maps specification;

5 12 Março 2003 Departamento de Informática Universidade do Minho Ontology …an ontology is, simply, a specification of a conceptualization… by Gruber An ontology is a description (like a formal specification of a program) of the concepts and relationships that can exist for an agent or a community of agents; Ontologies are about languages for expressing contracts between entities; Ontologies provide a way of capturing a shared understanding of terms that can be used by humans and programs to aid in information exchange and gives a method of providing a specification of a controlled vocabulary.

6 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Introduction Invariants The language, called XOL, is designed to provide a format for exchanging ontology definitions among a set of interested parties; The syntax of XOL is based on XML; The design of XOL deliberately uses a generic approach to define ontologies, meaning that the single set of XML tags (defined by a single XML DTD) defined for XOL can describe any and every ontology. Significant differences between an ontology and an DTD.

7 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Comparing DTD and Ontologies There is nothing in a DTD that corresponds to the is-a relationship of classes that is usually central in an ontology; DTDs lack any notion of inheritance; DTDs provide a rather poor means for defining the semantics of elementary tags; DTDs define the order in which tags appear in a document.

8 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language...

9 12 Março 2003 Departamento de Informática Universidade do Minho – module, ontology, kb, database, dataset are all synonymous Ontology : : N : Name C1: [Kb-type | Db-type] P : [Package] V : [Version] D : [Documentation] C : Classes S : Slots I : Individuals inv ont == snameCC(ont) and snameSS(ont) and snameII(ont) and snameCS(ont) and snameCI(ont) and snameSI(ont) and subClass(ont) and transClass(ont); XOL Language Types Specification

10 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language...

11 12 Março 2003 Departamento de Informática Universidade do Minho <!ELEMENT class ( (name, documentation?, ( subclass-of |instance-of | slot-values)*)> Classes = C-Id Class; C-Id = token; Class : : N : Name D : [Documentation] C2 : (C-Id | Slot-values)-set P : [C-Id-set]; XOL Language Types Specification

12 12 Março 2003 Departamento de Informática Universidade do Minho... XOL Language

13 12 Março 2003 Departamento de Informática Universidade do Minho Slots = S-Id Slot; S-Id = token; Slot : : N : Name D : [Documentation] C3 : Slot-Ch-set A : SlotAtt P : [C-Id-set]; XOL Language Types Specification

14 12 Março 2003 Departamento de Informática Universidade do Minho <!ATTLIST slot type ( template | own ) "own"> SlotAtt : : T : (Template | OWN); Template = token; XOL Language Types Specification

15 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language......

16 12 Março 2003 Departamento de Informática Universidade do Minho <!ELEMENT individual (name, documentation?, (type | slot-values)*> Individuals = I -Id Individual; I -Id = token; Individual : : N : Name D : [Documentation] C4 : (Type | Slot-values)-set P : [C-Id-set]; XOL Language Types Specification

17 12 Março 2003 Departamento de Informática Universidade do Minho Slot-values : : N : Name V : Value-set C5 : Val_Ch-set; XOL Language Types Specification Facet-values : : N : Name V : Value-set;

18 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function snameCC Specification: snameCC : Ontology -> bool snameCC(ont) == forall c1 in set dom ont.C & (forall c2 in set (dom ont.C)\{c1} & ont.C(c1).N <> ont.C(c2).N); Description: The same name may not be used for two classes

19 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function snameSS Specification: snameSS : Ontology -> bool snameSS(ont) == forall s1 in set dom ont.S & (forall s2 in set (dom ont.S)\{s1} & ont.S(s1).N <> ont.S(s2).N); Description: The same name may not be used for two slots

20 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function snameII Specification: snameII : Ontology -> bool snameII(ont) == forall i1 in set dom ont.I & (forall i2 in set (dom ont.I)\{i1} & ont.I(i1).N <> ont.I(i2).N); Description: The same name may not be used for two individuals

21 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function snameCS Specification: snameCS : Ontology -> bool snameCS(ont) == forall s in set rng ont.S & (forall c1 in set dom ont.C & ont.C(c1).N <> s.N); Description: The same name may not be used for class and a slot

22 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function snameCI Specification: snameCI : Ontology -> bool snameCI(ont) == forall i in set rng ont.I & (forall c1 in set dom ont.C & ont.C(c1).N <> i.N); Description: The same name may not be used for class and an individual

23 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function snameSI Specification: snameSI : Ontology -> bool snameSI(ont) == forall i in set rng ont.I & (forall s1 in set dom ont.S & ont.s(s1).N <> i.N); Description: The same name may not be used for a slot and an individual

24 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function subClass Specification: subClass : Ontology -> bool subClass(ont) == (forall c in set rng ont.C & (forall tid in set c.C2 & is_Class(ont.C(tid)) => tid in set dom ont.C and is_Slot(ont.S(tid)) => tid in set dom ont.S and is_Individual(ont.I(tid)) => tid in set dom ont.I) and c.P <> nil => c.P subset dom ont.C) and (forall s in set rng ont.S & s.P <> nil => s.P subset dom ont.C) and (forall i in set rng ont.I & i.P <> nil => i.P subset dom ont.C) ; Description: Each class must be defined earlier than a subclass

25 12 Março 2003 Departamento de Informática Universidade do Minho XOL Language Invariants Specification Function transClass Specification: transClass : Ontology -> bool transClass(ont) == forall c in set (rng ont.C union rng ont.S union rng ont.I) & dinter getParentsC(ont.C, c) = {} and dinter getParentsS(ont.C, c) = {} and dinter getParentsI(ont.C, c) = {} ) ; Description: If class A is a subclass of class B, which in turn is a subclass of class C, only the subclass-of link between A and B should be included in the XOL file. The getParents function is defined for each kind of possible element in an Ontology, i.e., Class, Slot and Individual. This way, it calculates a set of set of parents of the current node, using the relative level of each parent to decide in witch set to put him. The result is a structure describing each different level of parents the node has.

26 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method Meta-Properties It is a method to clean taxonomies according to notions such as: rigidity, identity, unity and dependence. The definition of that notions refer to properties of properties and that are called meta- properties. Meta-Properties : : R : Rigidity I : Identity U : Unity D : Dependence;

27 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method Rigidity A property P is: Rigid (+R), if and only if is necessarily essential to all instances; Non-rigid (-R), if and only if is not essential to some of its instances; Anti-rigid (~R), if and only if is not essential to all its instances. Rigidity = RIGID | NON RIGID | ANTI RIGID;

28 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method Identity A property P: Carries an IC (+I or -I otherwise), if and only if all its instances can be (re)identified by means of suitable sameness relation; Supplies an IC (+O or -O otherwise), if and only if such criterion is not inherited by any subsuming property. Identity = CARRIES_IC | NOTCARRIES_IC | SUPPLIES_IC | NOTSUPPLIES_IC;

29 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method Unity A property P: Carries unity (+U or -U otherwise), if there is a common unifying relation R such that all the instances of P are wholes under R; Carries anti-unity (~U), if all its instances can possible be non- wholes (~U implies -U). Unity = CARRIES_UC | NOTCARRIES_UC | ANTI-UNITY;

30 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method Dependence A property P is: Constantly dependent (+D or -D otherwise), if and only if, for all its instances, there exists something they are constantly dependent on. Dependence= DEPENDENT | NON_DEPENDENT

31 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method Constraints and Assumptions ~R must subsume ~R, i.e., +R cant subsume ~R; +U must subsume +U, i.e., -U cant subsume +U; ~U must subsume ~U, i.e., +U cant subsume ~U; +I must subsume +I, i.e., -I cant subsume +I; +D must subsume +D, i.e., -D cant subsume +D; Properties with incomplete ICs/UCs are disjoint.

32 12 Março 2003 Departamento de Informática Universidade do Minho OntoClean Method All possible combinations of the meta-properties

33 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Architecture OntoCleanXOL XOL++ Specification

34 12 Março 2003 Departamento de Informática Universidade do Minho 1.Class alteration: Classes = C-Id Class; C-Id = token; Class : : N : Name D : [Documentation] C2 : (C-Id | Slot-values)-set P : [C-Id-set] M : Meta-Properties; XOL++ Types Specification

35 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Invariants Specification 2.Addiction meta-properties invariants: Function antiRig Specification: antiRig : Ontology -> bool antiRig(ont) == forall c in set rng ont.C & (c.M).R = => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).R <> ; Description: An Anti-Rigid class cannot have a Rigid subclass

36 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Invariants Specification Function unity Specification: unity : Ontology -> bool unity(ont) == forall c in set rng ont.C & (c.M).U = => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).U <> ; Description: A Carries-UC class cannot have a NotCarries_UC subclass

37 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Invariants Specification Function antiUnity Specification: antiUnity : Ontology -> bool antiUnity(ont) == forall c in set rng ont.C & (c.M).U = => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).U <> ; Description: An Anti-Unity class cannot have a Carries_UC subclass

38 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Invariants Specification Function ident Specification: ident : Ontology -> bool ident(ont) == forall c in set rng ont.C & (c.M).I = => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).I <> ; Description: An Carries_IC class cannot have a NotCarries_IC subclass

39 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Invariants Specification Function depend Specification: depend : Ontology -> bool depend(ont) == forall c in set rng ont.C & (c.M).D = => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).D <> ; Description: An Dependent class cannot have a Non_Dependent subclass

40 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ 3. Consider some basic design principles : be clear about the domain take identity seriously isolate a basic taxonomic structure make an explicit distinction between types and roles ( and other property kinds); WELL-FOUNDED ONTOLOGY.

41 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ Example ontology: Ontology`Ontology = mk_Ontology`Ontology( "Genealogy", "ocelot", "user", "", {1 |-> mk_Ontology`Class ( "Person", "The class of all persons", {2,3}, nil, mk_Ontology`Meta_Properties(,,, ))}, {1 |-> mk_Ontology`Slot( "year-of-birth", "An integer that represents the year the person was born", {"person","1","1800","integer"}, mk_Ontology`SlotAtt( )}, {1} ), {1 |-> mk_Ontology`Individual( "John", nil, {mk_Ontology`Slot_values("year-of-birth", {"1987"}, {})});

42 12 Março 2003 Departamento de Informática Universidade do Minho XOL++ The main contributions that my work has accomplished are: to provide a stronger ontological commitments in order to get a disciplined taxonomy; to reduce the risk of classification mistakes in the ontology development process; to simplify the update and maintenance process.

43 12 Março 2003 Departamento de Informática Universidade do Minho Future Work Adding OntoClean top-level to XOL++; XOL++2VDM; VDM2XOL++; Graphic Interface.


Download ppt "12 Março 2003 Departamento de Informática Universidade do Minho Departamento de Informática Lic. Matemática e Ciências de Computação Laboratório de Métodos."

Similar presentations


Ads by Google