Quality metrics
[edit] Quality metrics
OQuaRE permits the definition of the quality model in terms of quality characteristics. In this way, this standard suggests a series of quality characterstics that should be used for measuring quality. Each quality characteristic has a set of quality subcharacteristics associated and each subcharacteristic has a set of primitives measures associated. For the the definition of the metrics (primitives), the following notation has been adopted:
C1; C2; …; Cn: Classes of the ontology. RC1; RC2; …; RCk: Relationships of the class Ci. PC1; PC2; …; PCz: Properties of the class Ci. IC1; IC2; …; ICm: Individuals of the class Ci. SupC1; SupC2; …; SupCm: Direct superclasses of a given class C. Thing: Root class of the ontology.
Some of the metrics like Coupling Between Objects (CBO), Depth of Inheritance Tree (DIT), Number Of Children (NOC), Response For a Class (RFC), Weighted Method Count (WMC), (Chidamber and Kemerer, 1994)[1] and Number Of local Methods (NOM) by (Li and Henry, 1993)[2] were selected from Software Engineering and, in particular, Object-oriented Programming (OOP) and adapted to ontologies. Despite ontologies and object oriented design having different properties, there are a series of shared notions as the existence of classes, individuals and properties that can be exploited to adapt OOP metrics to ontologies. And reused other metrics developed by the ontology engineering community, especially for the structural properties from, for instance, Yao, Orme, and Etzkorn (2005)[3] or Tartir and Arpinar (2007)[4] and Gangemi, Catenacci, Ciaramita, and Lehmann [5]
[edit] LCOMOnto - Lack of Cohesion in Methods
Semantic and conceptual relatedness of classes. It can be used to measure the separation of responsibilities and independence of components of ontologies LCOMOnto=∑Lenght(path(|C(leaf)i|))/m , where Lenght(path|C(leaf)i|) is the length of the path from the leaf class i to Thing, and m is the total number of paths in the ontology
Metric/Score | 1 | 2 | 3 | 4 | 5 |
LCOMOnto | >8 | (6-8] | (4-6] | (2-4] | <=2 |
[edit] DITOnto - Depth of subsumption hierarchy
Length of the largest path from Thing to a leaf class DITOnto=Max (∑D|Ci|), where Ci are the classes and D|Ci| is the length of the path from the i-thleaf class of the ontology to Thing
Metric/Score | 1 | 2 | 3 | 4 | 5 |
DITOnto | >8 | (6-8] | (4-6] | (2-4] | [1-2] |
[edit] NACOnto - Number of Ancestor Classes
Mean number of ancestor classes per leaf class. It is the number of direct superclasses per leaf class NACOnto=∑|SupC(Leaf)i|/∑|C(leaf)i)|
Metric/Score | 1 | 2 | 3 | 4 | 5 |
NACOnto | >8 | (6-8] | (4-6] | (2-4] | [1-2] |
[edit] NOCOnto - Number of Children Classes
Number of the direct subclasses divided by the number of classes minus the number of leaf classes NOCOnto=∑|RCi|/(∑|Ci| - ∑|C(leaf)i)|)
Metric/Score | 1 | 2 | 3 | 4 | 5 |
NOCOnto | >8 | (6-8] | (4-6] | (2-4] | [1-2] |
[edit] CBOOnto - Coupling between Objects
Number of related classes. Number of direct ancestor of classes divided by the number of classes minus subclasses of Thing CBOOnto=∑|SupCi|/(∑|Ci| -| RThing|)
Metric/Score | 1 | 2 | 3 | 4 | 5 |
CBOnto | >12 | (8-12] | (6-8] | (3-6] | [1-3] |
[edit] RFCOnto - Response for a class
Number of properties that can be directly accessed from the class. number of usages of object and data properties and superclasses divided by the number of classes RFCOnto=(∑|PCi|+∑|SupCi|/(∑|Ci|
Metric/Score | 1 | 2 | 3 | 4 | 5 |
RFCOnto | >12 | (8-12] | (6-8] | (3-6] | [1-3] |
[edit] NOMOnto - Number of properties
Number of properties per class. Mean number of object and data property usages per class NOMOnto=∑| PCi|∕∑|Ci|
Metric/Score | 1 | 2 | 3 | 4 | 5 |
NOMOnto | >8 | (6-8] | (4-6] | (2-4] | <=2 |
[edit] PROnto - Properties Richness
Number of usages of object and data properties divided by the number of subclassof relations and properties PROnto=∑|PCi| ∕∑(|RCi| + ∑|PCi|)
Metric/Score | 1 | 2 | 3 | 4 | 5 |
RROnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] RROnto - Relationship Richness
Number of subclassof relationships divided by the number of subclassof relationships and properties RROnto=∑|RCi| ∕∑(|RCi| + ∑|PCi|)
Metric/Score | 1 | 2 | 3 | 4 | 5 |
PROnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] INROnto - Relationships per class
Mean number of subclasses per class INROnto=∑| RCi| /∑|Ci|
Metric/Score | 1 | 2 | 3 | 4 | 5 |
INROnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] POnto - Ancestors per class
Mean number of direct ancestor per class POnto=∑|SupCi| /∑|Ci|
Metric/Score | 1 | 2 | 3 | 4 | 5 |
POnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] CROnto - Class Richness
Mean number of individuals per class CROnto=∑| ICi| / ∑|Ci |; where ICi, is the set ofindividuals of the Ci
Metric/Score | 1 | 2 | 3 | 4 | 5 |
CROnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] AROnto - Attribute richness
Number of restrictions of the ontology per classes AROnto=∑|AttCi| / ∑|Ci |; where AttCi, is the set of Attributes of the Ci
Metric/Score | 1 | 2 | 3 | 4 | 5 |
AROnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] ANOnto - Annotation Richness
Mean number of annotation properties per class ANOnto=∑|ACi| /∑|Ci|; where Ci is the i-th class in the ontology
Metric/Score | 1 | 2 | 3 | 4 | 5 |
ANOnto | [0-20]% | (20-40]% | (40-60]% | (60-80]% | >80% |
[edit] TMOnto - Tangledness
Mean number of classes with more than 1 direct ancestor TMOnto=∑|C(DP)i|/∑|Ci|-1; where Ci is the i-th class in the ontology and C(DP)i is thei-th class in the ontology with more than one direct parent
Metric/Score | 1 | 2 | 3 | 4 | 5 |
TMOnto | >8 | (6-8] | (4-6] | (2-4] | (1-2] |
[edit] TMOnto2 - Tangledness2
Mean number of direct ancestor of classes with more than 1 direct ancestor. TMOnto2=∑|SUP(CDP)i|/∑|CDPi|; where Ci is the i-th class in the ontology and SUP(CDP)i is the supperclass of the thei-th class in the ontology with more than one direct parent
Metric/Score | 1 | 2 | 3 | 4 | 5 |
TMOnto2 | >8 | (6-8] | (4-6] | (2-4] | (1-2] |
[edit] WMCOnto - Weigth method per class
Mean length of the path from Thing to a leaf class WMCOnto=∑Lenght(path(|C(leaf)i|))/∑|C(leaf)i|, where Lenght(path|C(leaf)i|) is the length of the path from the leaf class i to Thing
Metric/Score | 1 | 2 | 3 | 4 | 5 |
WMCOnto | >8 | (6-8] | (4-6] | (2-4] | [1-2] |
[edit] WMCOnto2 - Weigth method per class
Mean number of path from Thing to a leaf class per leaf class WMCOnto2=∑path(|C(leaf)i|)/∑|C(leaf)i| , where path|C(leaf)i| is the number of the path from the leaf class i to Thing
Metric/Score | 1 | 2 | 3 | 4 | 5 |
WMCOnto2 | >8 | (6-8] | (4-6] | (2-4] | [1-2] |
References
- ↑ CHIDAMBER, S.R. and KEMERER, C.F. (1994): metric suite for object oriented design. IEEE Transactions on SoftwareEngineering, 467–493.
- ↑ LI, W. and HENRY, S. (1993): Object-oriented metrics that predict maintainability. Journal of Systems and Software, 23:111–122.
- ↑ YAO, H., ORME, A. and ETZKORN, L. (2005): Cohesion metrics for ontology design and application. Journal of ComputerScience, 1.
- ↑ TARTIR, S. and ARPINAR, I.B. (2007): Ontology evaluation and ranking using OntoQA. ICSC 2007: International Conference on Semantic Computing, Proceedings, 185–192.
- ↑ GANGEMI, A., CATENACCI, C., CIARAMITA, M. and LEHMANN, J. (2006): Modelling ontology evaluation and validation. Semantic Web: Research and Applications, Proceedings, 4011: 140 –154.