Concept Similarity
CSPR — Methodology
Concept Similarity
The following examples are based on the vehicle ontology depicted infFigure vch. The expression ⊗^C denotes the set of features contained as Power Set Concepts in the class ^C. How meaningful is the Knowledge Subjects Equivalence Axiom (KSE)? The knowledge graph, KG = {(^PassengerVehicle, ◊is, ^Vehicle), (^Truck, ◊is, ^Vehicle)} consists of only two assertions. The KSE axiom states that Σ^PassengerVehicle and Σ^Truck are equivalent because both have exactly only the pair (◊is, ^Vehicle) in common and there are no other properties and thus a certain degree of agreement is recognized. But that corresponds exactly to reality or what was intended with the modeling. If further properties are added, the equivalence is lost at the latest when one of the properties no longer occurs in the other knowledge subject. Until then, however, the equivalence check can be used to determine whether the modeling does need to be further differentiated, or whether two knowledge subjects may have accidentally been given different names, although they should actually be identical. The conceptual feature similiarities between all classes of the vehicle ontology is explained in the following. At first we have to detect the feature sets of all classes:
- FS(∵^Vehicle) = FS({^Vehicle}) = {(.∆ModelName, :String), (.LicensePlateNbr, :String), (◊hasMotor, ^Motor)}
- FS(∵^PassengerVehicle) = FS({^Vehicle, ^PassengerVehicle}) = {(.∆ModelName, :String), (.LicensePlateNbr, :String), (◊hasMotor, ^Motor), (.^MaxNbrOfPassengers, :Integer)}
- FS(∵^Truck) = FS({^Vehicle, ^Truck}) = {(.∆ModelName, :String), (.LicensePlateNbr, :String), (◊hasMotor, ^Motor), (.LoadingBed_sqm, ^Float)}
- FS(∵^Pickup) = FS({^Vehicle, ^PassengerVehicle, ^Truck, ^Pickup}) = {(.∆ModelName, :String), (.LicensePlateNbr, :String), (◊hasMotor, ^Motor), (.^MaxNbrOfPassengers, :Integer), (.LoadingBed_sqm, :Float), (.isOffroadCapable_TF, :Boolean)}
- X = FS(SPC(^Vehicle)), Y = FS(SPC(^PassengerVehicle)), Z = FS(SPC(^Truck)), V = FS(SPC(^Pickup))
- X∩Y = {(.Model_Name, :String), (.LicensePlateNbr, :String), (◊hasMotor, ^Motor)}, CX∩Y = 3
- X∪Y = {(.Model_Name, :String), (.LicensePlateNbr, :String), (.LoadingBed_sqm, :Float)}, CX∪Y = 3
- CZ∩V = 5, CZ∪V = 6
- CY∩Z = 3, CY∪Z = 5
- CX∩V = 3, CX∪V = 6
- FSR(X,Y) = FSR(∴^Vehicle, ∴^PassengerVehicle) = CX∩Y / CX∪Y = 3 / 4 ≘ 75%
- FSR(Y,Z) = FSR(∴^PassengerVehicle, ∴^Truck) = CY∩Z / CY∪Z = 3 / 5 ≘ 60%
- FSR(Z,V) = FSR(∴^Truck, ∴^Pickup) = CZ∩V / CZ∪V = 5 / 6 ≘ 83,3%
- FSR(Y,V) = FSR(∴^PassengerVehicle,∴^Pickup) = CY∩V / CY∪V = 5 / 6 ≘ 83,3%
- FSR(X,V) = FSR(∴^Vehicle, ∴^Pickup) = CX∩V / CX∪V = 3 / 6 ≘ 50%
The results already show for a relatively small number of features that Feature Similarity Measure (FSM) delivers a very good assessment of class similarities. In this case, the minimum similarity of classes in the vehicle class hierarchy is already 50%. For the pairs (^PassengerVehicle, ^Pickup) and (^Truck, ^Pickup) we already get FSR = 83.3%. With the addition of further features, the evaluation becomes more and more precise. While in the vehicle ontology we can only use a total of six features for the similarity determination, in the following example of the species ontology there are already twenty features and we naturally expect a higher significance.
- Props(^Species) = {.Age_Years, .Height_cm, .^^NbrOfLivingInstances, .^^AverageHeight_cm, .^LifeExpectancy_Years, .^^MigrationPeriod, ^Habitat, ^Region, ^Eater}
- Props(^Species_by_Threat-Phase) = {.ThreatPhase}
- Props(^Carnivore) = {^Eater, ^Meat}
- Props(^Piscivore) = {^Eater, ^Fish}
- Props(^Herbivore) = {^Eater, ^Plant}
- Props(^Fish) = {^HBT-Maritim}
- Props(^Bird) = {.^^BeakPattern, ^HBT-Aerial, ^HBT-Terrestial}
- Props(^SeaBird) = {^HBT-Maritim, ^Sea}
- Props(^EmperorPinguin) = {
^Bird, threatenend,^Eater, ^Fish, ^Pole, ^Region, ^South} - Props(^GoldenEagle) = {
^Bird,^Eater, ^Meat, ^Robbery, ^Region, ^North} - Props(^Bear) = {^HBT-Terrestial}
- Props(^Polar_Bear) = {
^Bear, ^HBT-Maritim,^Eater, ^Meat, ^Fish, ^Pole, ^Region, ^North} - Props(^Panda_Bear) = {
^Bear, threatenend,^Eater, ^Plant, ^Region, ^East}
- SP = FS(^Species), CSP = 9
- SPT = FS(^Species_by_Threat-Phase), CSPT = 10
- BD = FS(^Bird), CBD = 13
- SBD = FS(^SeaBird), CSBD = 15
- EP = FS(^EmperorPinguin), CEP = 20
- GE = FS(^GoldenEagle), CGE = 19
- BR = FS(^Bear), CBR = 11
- PLB = FS(^Polar_Bear), CPLB = 17
- PDB = FS(^Panda_Bear), CPDB = 15
Feature Similarity Space
![]() Figure fsr: Feature Similarity Ratios
|
|
For selected pairs of concepts we get the Feature Similarty Ratios (FSR) represented in Figure fsr:
|
Extension: deriver.app
Back to Concept Similarity; canonical overview on taoke.de — CSPR. Deriver documentation.
Source: taoke.de — CSPR Concept Similarity.

