Departamento de Inform - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

Departamento de Inform

Description:

Title: Diapositivo 1 Author: ip5 Last modified by: Marlene Created Date: 3/9/2003 5:38:22 PM Document presentation format: Apresenta o no ecr Company – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 44
Provided by: ip5
Category:

less

Transcript and Presenter's Notes

Title: Departamento de Inform


1
  • 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_at_correio.ci.uminho.pt

2
  • Integration of OntoClean in XOL
  • XOL

3
The Objectives
  • Motivations
  • Ontology
  • XOL Language
  • OntoClean Method
  • XOL
  • Example
  • Future Work

4
Motivations
  • Know How acquired
  • Stimulant subject
  • Topic Maps specification

5
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
XOL LanguageIntroduction
  • 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.

Invariants
7
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.

8
XOL Language
  • ltontologygt
  • ltnamegt...lt/namegt
  • ltkb-typegt...lt/kb-typegt
  • ltpackagegt...lt/packagegt
  • ltversiongt...lt/versiongt
  • ltdocumentationgt...lt/documentationgt
  • ltclassgt...lt/classgt
  • ltclassgt...lt/classgt
  • ...
  • ltslotgt...lt/slotgt
  • ltslotgt...lt/slotgt
  • ...
  • ltindividualgt...lt/individualgt
  • ltindividualgt...lt/individualgt
  • ...
  • lt/ontologygt

9
XOL LanguageTypes Specification
  • lt!ELEMENT (module ontology kb database
    dataset) (name, ( kb-type db-type)?, package?,
    version?, documentation?, class, slot,
    individual)gt
  • 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)

10
XOL Language
  • ltclassgt
  • ltnamegt...lt/namegt
  • ltdocumentationgt...lt/documentationgt
  • ltsubclass-ofgt...lt/subclass-ofgt
  • lt/classgt

11
XOL LanguageTypes Specification
  • lt!ELEMENT class ( (name, documentation?,
  • ( subclass-of
    instance-of slot-values))gt
  • Classes C-Id Class
  • C-Id token
  • Class N Name
  • D Documentation
  • C2 (C-Id Slot-values)-set
  • P C-Id-set

12
XOL Language
  • ltslotgt
  • ltnamegt...lt/namegt
  • ltdocumentationgt...lt/documentationgt
  • ltdomaingt...lt/domaingt
  • ltslot-value-typegt...lt/slot-value-typegt
  • lt/slotgt

13
XOL LanguageTypes Specification
  • lt!ELEMENT slot (name, documentation?, ( domain
    slot-value-type slot-inverse slot-cardinality
    slot-maximum-cardinality slot-minimum-cardinali
    ty slot-numeric-minimum slot-numeric-maximum
    slot-collection-type slot-values ) gt
  • Slots S-Id Slot
  • S-Id token
  • Slot N Name
  • D Documentation
  • C3 Slot-Ch-set
  • A SlotAtt
  • P C-Id-set

14
XOL LanguageTypes Specification
  • lt!ATTLIST slot
  • type ( template own )
    "own"gt
  • SlotAtt T (Template OWN)
  • Template token

15
XOL Language
  • ltindividualgt
  • ltnamegt...lt/namegt
  • ltdocumentationgt...lt/documentationgt
  • ltinstance-ofgt...lt/instance-ofgt
  • ltslot-valuesgt
  • ltnamegt...lt/namegt
  • ltvaluegt...lt/valuegt
  • lt/slot-valuesgt
  • lt/individualgt

16
XOL LanguageTypes Specification
  • lt!ELEMENT individual
  • (name, documentation?,
    (type slot-values)gt
  • Individuals I -Id Individual
  • I -Id token
  • Individual N Name
  • D Documentation
  • C4 (Type Slot-values)-set
  • P C-Id-set

17
XOL LanguageTypes Specification
  • lt!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))gt
  • Slot-values N Name
  • V Value-set
  • C5 Val_Ch-set

lt!ELEMENT facet-values (name, value)gt Facet-valu
es N Name V
Value-set
18
XOL LanguageInvariants Specification
  • Function snameCC
  • Specification
  • snameCC Ontology -gt bool
  • snameCC(ont) forall c1 in set dom ont.C
  • (forall c2 in set (dom ont.C)\c1
    ont.C(c1).N ltgt ont.C(c2).N)
  • Description
  • The same name may not be used for two classes

19
XOL LanguageInvariants Specification
  • Function snameSS
  • Specification
  • snameSS Ontology -gt bool
  • snameSS(ont) forall s1 in set dom ont.S
  • (forall s2 in set (dom ont.S)\s1
    ont.S(s1).N ltgt ont.S(s2).N)
  • Description
  • The same name may not be used for two slots

20
XOL LanguageInvariants Specification
  • Function snameII
  • Specification
  • snameII Ontology -gt bool
  • snameII(ont) forall i1 in set dom ont.I
  • (forall i2 in set (dom ont.I)\i1
    ont.I(i1).N ltgt ont.I(i2).N)
  • Description
  • The same name may not be used for two
    individuals

21
XOL LanguageInvariants Specification
  • Function snameCS
  • Specification
  • snameCS Ontology -gt bool
  • snameCS(ont) forall s in set rng ont.S
    (forall c1 in set dom ont.C
    ont.C(c1).N ltgt s.N)
  • Description
  • The same name may not be used for class and a
    slot

22
XOL LanguageInvariants Specification
  • Function snameCI
  • Specification
  • snameCI Ontology -gt bool
  • snameCI(ont) forall i in set rng ont.I
    (forall c1 in set dom ont.C
    ont.C(c1).N ltgt i.N)
  • Description
  • The same name may not be used for class and an
    individual

23
XOL LanguageInvariants Specification
  • Function snameSI
  • Specification
  • snameSI Ontology -gt bool
  • snameSI(ont) forall i in set rng ont.I
    (forall s1 in set dom ont.S
    ont.s(s1).N ltgt i.N)
  • Description
  • The same name may not be used for a slot and
    an individual

24
XOL LanguageInvariants Specification
  • Function subClass
  • Specification
  • subClass Ontology -gt bool
  • subClass(ont) (forall c in set rng ont.C
  • (forall tid in set c.C2
    is_Class(ont.C(tid)) gt tid in set dom
    ont.C and is_Slot(ont.S(tid)) gt tid in set dom
    ont.S and

  • is_Individual(ont.I(tid)) gt tid in set dom
    ont.I) and
  • c.P ltgt nil
    gt c.P subset dom ont.C) and
  • (forall s in set rng ont.S s.P
    ltgt nil gt s.P subset dom ont.C)
    and
  • (forall i in set rng ont.I i.P
    ltgt nil gt i.P subset dom ont.C)
  • Description
  • Each class must be defined earlier than a
    subclass

25
XOL LanguageInvariants Specification
  • Function transClass
  • Specification
  • transClass Ontology -gt 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
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

27
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

28
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

29
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

30
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

31
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
OntoClean Method All possible combinations of
the meta-properties
33
XOLArchitecture
OntoClean
XOL
Specification
XOL
34
XOLTypes Specification
  • 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

35
XOLInvariants Specification
  • Addiction meta-properties invariants
  • Function antiRig
  • Specification
  • antiRig Ontology -gt bool
  • antiRig(ont) forall c in set rng ont.C
  • (c.M).R ltAnti_Rigidgt gt
    forall cid in set c.C2
  • cid in set dom ont.C gt
    (ont.C(cid).M).R ltgt ltRigidgt
  • Description
  • An Anti-Rigid class cannot have a Rigid
    subclass

36
XOLInvariants Specification
  • Function unity
  • Specification
  • unity Ontology -gt bool
  • unity(ont) forall c in set rng ont.C
  • (c.M).U ltCarries_UCgt gt forall cid in
    set c.C2
  • cid in set dom ont.C gt (ont.C(cid).M).U
    ltgt ltNotCarries_UCgt
  • Description
  • A Carries-UC class cannot have a NotCarries_UC
    subclass

37
XOLInvariants Specification
  • Function antiUnity
  • Specification
  • antiUnity Ontology -gt bool
  • antiUnity(ont) forall c in set rng ont.C
  • (c.M).U ltAnti_Unitygt gt forall cid in
    set c.C2
  • cid in set dom ont.C gt (ont.C(cid).M).U
    ltgt ltCarries_UCgt
  • Description
  • An Anti-Unity class cannot have a Carries_UC
    subclass

38
XOLInvariants Specification
  • Function ident
  • Specification
  • ident Ontology -gt bool
  • ident(ont) forall c in set rng ont.C
  • (c.M).I ltCarries_ICgt gt forall cid
    in set c.C2
  • cid in set dom ont.C gt
    (ont.C(cid).M).I ltgt ltNotCarries_ICgt
  • Description
  • An Carries_IC class cannot have a NotCarries_IC
    subclass

39
XOLInvariants Specification
  • Function depend
  • Specification
  • depend Ontology -gt bool
  • depend(ont) forall c in set rng ont.C
  • (c.M).D ltDependentgt gt forall cid in set
    c.C2
  • cid in set dom ont.C gt (ont.C(cid).M).D
    ltgt ltNon_Dependentgt
  • Description
  • An Dependent class cannot have a Non_Dependent
    subclass

40
XOL
  • 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
XOLExample
  • ontology OntologyOntology mk_OntologyOntology
    (
  • "Genealogy",
  • "ocelot",
  • "user",
  • "",
  • "",
  • 1 -gt mk_OntologyClass (
  • "Person",
  • "The class of all
    persons",
  • 2,3,
  • nil,
  • mk_OntologyMeta_Properti
    es(ltRigidgt,ltNotCarries_ICgt,

  • ltCarries_UCgt,ltNon_Depende
    ntgt)),
  • 1 -gt mk_OntologySlot(
  • "year-of-birth",
  • "An integer that
    represents the year the person was born",
  • "person","1","1800","int
    eger",
  • mk_OntologySlotAtt(ltowngt
    ),
  • 1 ),

42
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
Future Work
  • Adding OntoClean top-level to XOL
  • XOL2VDM
  • VDM2XOL
  • Graphic Interface.
Write a Comment
User Comments (0)
About PowerShow.com