Research Article
A Novel Way to Relate Ontology Classes
Algorithm 2
Pseudo code of our Calculated subclasses algorithm.
Function calculatesub classes | (1) function CALCULATESUB CLASSES(cls, unionClassesList, intersectionClassesList) | Use output of Pellet reasoner to as input to our algo and modify that | (2) | Separate the intersection and union classes from sub classes list | (3) | (4) | (5) if obR isUnionClass then | (6) | (7) end if | (8) for in do | Get collection classes | (9) | (10) if then | (11) Remove sub classes of intersection class, as they too are error prone | (12) .listsub classes() | Assumption: a class cannot be noth sub class and intersection class of collection classes | If collection class and intersection class both are added in sub classlist, remove intersection class | (13) else if (operands) & sub classesSet.contains() then | (14) | Remove sub classes of intersection class, as they too are error prone | (15) .listsub classes() | (16) end if | (17) end for | remove error prone operands of union class as sub classes | (18) for in do | (19) | | (20) | (21) end for | Jena entails a class itself as the sub class of its own, so need to remove union class from sub classes list | (22) | (23) end function |
|