12 março 2003 departamento de informática universidade do minho departamento de informática lic....
TRANSCRIPT
![Page 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/1.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
Universidade do Minho
Departamento de Informática
Lic. Matemática e Ciências de Computação
Laboratório de Métodos Formais
Marlene Azevedo
![Page 2: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/2.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
Integration of OntoClean in XOL
XOL++
![Page 3: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/3.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
The Objectives
Motivations
Ontology
XOL Language
OntoClean Method
XOL++
Example
Future Work
![Page 4: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/4.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
Motivations
Know How acquired;
Stimulant subject;
Topic Maps specification;
![Page 5: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/5.jpg)
12 Março 2003Departamento 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.
![Page 6: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/6.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageIntroduction
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 ontologyand an DTD.
![Page 7: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/7.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageComparing 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.
![Page 8: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/8.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL Language<ontology>
<name>...</name><kb-type>...</kb-type><package>...</package><version>...</version><documentation>...</
documentation><class>...</class><class>...</class>...<slot>...</slot><slot>...</slot>...<individual>...</individual><individual>...</individual>...
</ontology>
![Page 9: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/9.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
<!ELEMENT (module | ontology | kb | database | dataset) (name, ( kb-type | db-type)?, package?, version?, documentation?, class*, slot*, individual*)>
– 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 LanguageTypes Specification
![Page 10: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/10.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL Language
<class><name>...</name><documentation>...</
documentation><subclass-of>...</subclass-of>
</class>
![Page 11: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/11.jpg)
12 Março 2003Departamento 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 LanguageTypes Specification
![Page 12: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/12.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
<slot><name>...</name><documentation>...</
documentation><domain>...</domain><slot-value-type>...</slot-
value-type></slot>
XOL Language
![Page 13: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/13.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
<!ELEMENT slot (name, documentation?, ( domain | slot-value-type | slot-inverse | slot-cardinality |slot-maximum-cardinality | slot-minimum-cardinality | slot-numeric-minimum | slot-numeric-maximum | slot-collection-type | slot-values )* >
Slots = S-Id Slot;
S-Id = token;
Slot : : N : Name D : [Documentation] C3 : Slot-Ch-set A : SlotAtt P : [C-Id-set];
XOL LanguageTypes Specification
![Page 14: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/14.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
<!ATTLIST slot type ( template | own ) "own">
SlotAtt : : T : (Template | OWN);
Template = token;
XOL LanguageTypes Specification
![Page 15: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/15.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL Language
<individual><name>...</name>
<documentation>...</documentation><instance-of>...</
instance-of><slot-values>
<name>...</name>
<value>...</value>
</slot-values></individual>
![Page 16: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/16.jpg)
12 Março 2003Departamento 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 LanguageTypes Specification
![Page 17: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/17.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
<!ELEMENT slot-values (name, value*, (facet-values |value-type | inverse | cardinality | maximum-cardinality | minimum-cardinality | numeric-minimum | numeric-maximum | some-values | collection-type | documentation-in-frame)*)>
Slot-values : : N : Name
V : Value-set
C5 : Val_Ch-set;
XOL LanguageTypes Specification
<!ELEMENT facet-values (name, value*)>
Facet-values : : N : Name V : Value-set;
![Page 18: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/18.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants 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
![Page 19: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/19.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants 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
![Page 20: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/20.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants Specification
Function snameII
Specification:
snameII : Ontology -> boolsnameII(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
![Page 21: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/21.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants 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
![Page 22: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/22.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants 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
![Page 23: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/23.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants 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
![Page 24: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/24.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants Specification
Function subClass
Specification:
subClass : Ontology -> boolsubClass(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
![Page 25: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/25.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL LanguageInvariants Specification
Function transClass
Specification:
transClass : Ontology -> booltransClass(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.
![Page 26: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/26.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean MethodMeta-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;
![Page 27: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/27.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean MethodRigidity
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;
![Page 28: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/28.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean MethodIdentity
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;
![Page 29: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/29.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean MethodUnity
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;
![Page 30: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/30.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean MethodDependence
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
![Page 31: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/31.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean Method Constraints and Assumptions
~R must subsume ~R, i.e., +R can’t subsume ~R;
+U must subsume +U, i.e., -U can’t subsume +U;
~U must subsume ~U, i.e., +U can’t subsume ~U;
+I must subsume +I, i.e., -I can’t subsume +I;
+D must subsume +D, i.e., -D can’t subsume +D;
Properties with incomplete ICs/UCs are disjoint.
![Page 32: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/32.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
OntoClean Method All possible combinations of the meta-properties
![Page 33: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/33.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL++Architecture
OntoClean XOL
XOL++
Specification
![Page 34: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/34.jpg)
12 Março 2003Departamento 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
![Page 35: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/35.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL++Invariants Specification
2. Addiction meta-properties invariants:
Function antiRig
Specification:
antiRig : Ontology -> boolantiRig(ont) == forall c in set rng ont.C & (c.M).R = <Anti_Rigid> => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).R <> <Rigid> ;
Description: An Anti-Rigid class cannot have a Rigid subclass
![Page 36: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/36.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL++Invariants Specification
Function unity
Specification:
unity : Ontology -> boolunity(ont) == forall c in set rng ont.C & (c.M).U = <Carries_UC> => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).U <> <NotCarries_UC> ;
Description: A Carries-UC class cannot have a NotCarries_UC subclass
![Page 37: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/37.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL++Invariants Specification
Function antiUnity
Specification:
antiUnity : Ontology -> boolantiUnity(ont) == forall c in set rng ont.C & (c.M).U = <Anti_Unity> => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).U <> <Carries_UC> ;
Description: An Anti-Unity class cannot have a Carries_UC subclass
![Page 38: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/38.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL++Invariants Specification
Function ident
Specification:
ident : Ontology -> boolident(ont) == forall c in set rng ont.C & (c.M).I = <Carries_IC> => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).I <> <NotCarries_IC> ;
Description: An Carries_IC class cannot have a NotCarries_IC subclass
![Page 39: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/39.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
XOL++Invariants Specification
Function depend
Specification:
depend : Ontology -> booldepend(ont) == forall c in set rng ont.C & (c.M).D = <Dependent> => forall cid in set c.C2 & cid in set dom ont.C => (ont.C(cid).M).D <> <Non_Dependent> ;
Description: An Dependent class cannot have a Non_Dependent subclass
![Page 40: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/40.jpg)
12 Março 2003Departamento 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.
![Page 41: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/41.jpg)
12 Março 2003Departamento 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(<Rigid>,<NotCarries_IC>, <Carries_UC>,<Non_Dependent>))}, {1 |-> mk_Ontology`Slot( "year-of-birth", "An integer that represents the year the person was born", {"person","1","1800","integer"}, mk_Ontology`SlotAtt(<own>)}, {1} ), {1 |-> mk_Ontology`Individual( "John", nil, {mk_Ontology`Slot_values("year-of-birth", {"1987"}, {})});
![Page 42: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/42.jpg)
12 Março 2003Departamento 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.
![Page 43: 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](https://reader035.vdocuments.pub/reader035/viewer/2022062619/551609a2550346cf6f8b5f5f/html5/thumbnails/43.jpg)
12 Março 2003Departamento de Informática
Universidade do Minho
Future Work
Adding OntoClean top-level to XOL++;
XOL++2VDM;
VDM2XOL++;
Graphic Interface.