Title: Comments on ODM Revised Submission dated 10 January 2005
1Comments on ODM Revised Submission dated 10
January 2005
- He Keqing, OKABE, Masao
- Project editor
- MMF Ontology Registration
- ISO/IEC JTC1 SC32/WG2
- 2005.02.03
2About this document
- All the comments in this document are prepared by
all the active members of ISO/IEC JTC1 SC32/WG2
MMF Ontology Registration Project.
- Japan
- Hajime Horiuchi (UMTP, Tokyo International
Univ.)
- Masao Okabe (Project editor, UMTP, TEPCO)
- Masaharu Obayashi (UMTP, K-three)
- China
- He Keqing (Project editor, SKLSE, Wuhan Univ.)
- He Yangfan (SKLSE, Wuhan Univ.)
- Wang Chong (SKLSE, Wuhan Univ.)
- Korea
- Doo-Kwon Baik (Korea Univ.)
- Sam Oh (Sungkyunkwan Univ.)
- Unfortunately, we did not have enough time to
review it thoroughly and briefly reviewed only
the metamodels of SCL, DL and RDFS/OWL.
- So, the comments are only on them and not
comprehensive.
3Our basic understanding of ODM
- Each ODM metamodel can store the ontology
described in the corresponding ontology
description language,
- without any loss of information,
- For example, a famous owl ontology owl.xml at
can be stored in OWL ODM metamodel without any
loss of information.
- in proper granularitylevel so that the mapping
between them can be defined in terms of the
meteclasses of the metamodels as much as
possible. -
4Common basic structure of ontology
- Very roughly speaking, ontology has the following
structure.
- Example
- An ontology Example consists of the following
two sentences.
- MotherParent?Female
- Mother(Susan)
- These two sentences consists of the 4 following
non-logical symbols (and logical symbols)
- Non-logical symbol
- Mother, Parent, Female, Susan
- Logical symbol
- , ? , (, )
5Three different policies on metamodeling in ODM
SCL
1.
Explicitly have metaclasses for logical symbol
s?
No
DL
Yes
Metaclasses for sentences and symbols are expl
icitly
distinguished?
Yes
2.
No
3.
OWL
- General Comment
- There should be only one policy in ODM
metamodels, preferably 1.
6About SCL Metamodel
- Metaclass for an ontology
- SCLModule
- SCL Module has a composition association with SCL
Text.
- SCL Text has a composition association with
Sentence.
- Metaclass for a sentence
- Sentence
- Sentence has a composition association with
Term.
- Sentence has several subclasses corresponding to
the one that some logical symbol is applied
for.
- e.g. Conjunction, Implication, Negation etc.
- Metaclass for a non-logical symbol
- Logical Name
- Logical Name is a subclass of Term.
- Metaclass for a logical symbol
- --- none ---
7About DL Metamodel (1)
- Metaclass for an ontology
- Tbox (and Abox?)
- TBox has an association named containment with
Term.
- i.e. TBox contains Term.
- B.2.1 says Term is the terminology contained in
this TBox.
- So, it is different from B.6.1 Term, which is a
component used to build expressions.
- Comment1
- This association is not a composition
association.
- It is better to be a composition.
- Comment2
- DL handbook says, in DL, terminology and Tbox has
the exactly same meaning, that is, a set of
definitions (of atomic concepts).
- So, the description of Term at B.2.1 is strange.
- Term should be Expression ( or Sentence
)defined at B.6.2
- Comment3
- It seems strange that Abox is a subclass of Tbox
and that Instance is a subclass of Term.
8About DL Metamodel (2)
- Metaclass for a sentence
- Expression
- Expression has a composition association with
Term.
- Expression also has a composition association
with Constructor(i.e. logical symbol)
- Expression does not have subclasses corresponding
to the one that some logical symbol is applied
for.
- Comment4
- Expression should have subclasses corresponding
to the one that some logical symbol is applied
for so that it can be accommodated to the same
metamodeling policy as SCL. - also see comment 7 and SCL Metamodel and DL
Metamodel at slide 10
- Comment5
- It is better to have subclass sentence
explicitly because an expression is not always a
sentence.
- red one is related to the general comment.
9About DL Metamodel (3)
- Metaclass for a non-logical symbol
- Element
- Element has two subclasses Concept and Role.
- Comment6
- The naming of Element is confusing because it
sounds like an element of TBox and ABox.
Predicate is better.
- Metaclass for a logical symbol
- Constructor
- Constructor has several subclasses such as
Intersection, Implication, Negation etc.
- Comment7
- Constructor is not necessary if Expression have
subclasses corresponding to the one that some
logical symbol is applied for explicitly.
- also see comment 3 and SCL Metamodel and DL
Metamodel at slide 10
10SCL Metamodel and DL Metamodel
- SCL Metamodel Figure25 Sentences
- DL Metamodel Figure 59 Specializations of
Constructor (extract)
11About RDFS/OWL Metamodel(1)
- Metaclass for an ontology
- RDFDescription
- 11.7.1 says A description consists of the
various classes and properties that can be used
to describe and represent a domain of
knowledge. - Comment8
- Usually describes annotative
description of an ontology. What represent a
whole ontology is
12About RDFS/OWL Metamodel(2)
- Metaclass for a sentence (and a non-logical
symbol)
- EnumeratedClass etc.
- For example, EnumeretedClass can be understood a
class defined by an exhaustive enumeration of
individuals that together form the instances of a
class . - However, if its associations and attributes are
ignored, it can be understood a non-logical
symbol because it has only name and URI.
- Metaclass for both a non-logical symbol (and a
sentence)
- RDFSClass etc.
- For example, the metaclass RDFSClass without
associations can be understood a non-logical
symbol because it has only name and URI.
- However, RDFSClass with association subClassof
can be understood as a sentence because it is a
partial definition.
13About RDFS/OWL Metamodel(3)
- sentence if its associations are cared.
- symbol if its associations are ignored.
14About RDFS/OWL Metamodel(4)
- Comment9
- To be accommodated to the same metamodeling
policy as SCL,
- metaclasses for non-logical symbols (mostly a
metaclass only with name and URI) and metaclasses
for sentences (mostly a metaclass with its
associations for the definition of its concept)
should be explicitly distinguished. - The necessary metamodel may not be this kind of
ODM OWL metamodel, but a metamodel corresponding
to OWL Web Ontology Language Semantics and
Abstract Syntax Section2. Abstract Syntax at
http//www.w3.org/TR/owl-semantics/syntax.html,
(hereinafter called W3C OWL Abstract Syntax). - Note
- 19.5 ODM OWL Abstract Syntax also defines an
abstract syntax based on ODM OWL metamodel.
- Superficially, it looks similar to W3C OWL
Abstract Syntax, but actually it is substantially
different.
15About RDFS/OWL Metamodel(5)
- W3C OWL Abstract Syntax (extract)
- ontology 'Ontology(' ontologyID
directive ')'
- directive 'Annotation('
ontologyPropertyID ontologyID ')'
- 'Annotation('
annotationPropertyID URIreference ')'
- 'Annotation('
annotationPropertyID dataLiteral ')'
- 'Annotation('
annotationPropertyID individual ')'
- axiom
- fact
- axiom 'EnumeratedClass(' classID
'Deprecated' annotation individualID
')
- etc.
- Note
- Here, axiom and fact are sentences.
- The class definition by enumeration is an axiom
and it is distinguished from the class itself
(i.e. classID, the symbol for the class)
16About RDFS/OWL Metamodel(6)
- ODM OWL Abstract Syntax
- ontology 'OWLOntology(' ontologyID
- 'OWLbackwardCompatibleWith(
- ontologyID ')'
- 'OWLincompatableWith(' ontologyID ')'
- 'OWLpriorVersion(' ontologyID ')'
- 'OWLimports(' ontologyID ')'
- 'contains('
- classID resrictionID
- datavaluedPropertyID
- individualvaluedPropertyID
- ontologyPropertyID
- annotationPropertyID
- dataTypeID individualID ')'
- rdfsResourceContent ')
- Note
- ontology does not contain sentences(i.e. owlClass
etc.) but only symbols (i.e. class ID etc.)
- owlClass 'OWLClass(' classID
- 'complete(' Boolean(false) ')'
- 'deprecated(' Boolean(false) ')'
- 'OWLdisjointWith(' classID ')'
- 'OWLequivalentClass(' classID ')'
- 'RDFSsubClassOf(' classID
- restrictionID ')'
- rdfsResourceContent
- 'OWLClass(' anonClassID
- 'OWLoneOf(' individualID ')'
- 'OWLcomplementOf(' classID ')'
- 'OWLintersectionOf(' classID ')'
- 'OWLunionOf(' classID ')' ')'
17- Thank you for your attention.