The existing ontologies in the semantic web typically have anonymous union and intersection classes. The anonymous classes are limited in scope and may not be part of the whole inference process. The tools, namely, the pellet, the jena, and the protégé, interpret collection classes as (a) equivalent/subclasses of union class and (b) superclasses of intersection class. As a result, there is a possibility that the tools will produce error prone inference results for relations, namely, sub, union, intersection, equivalent relations, and those dependent on these relations, namely, complement. To verify whether a class is complement of other involves utilization of sub and equivalent relations. Motivated by the same, we (i) refine the test data set of the conference ontology by adding named, union, and intersection classes and (ii) propose a match algorithm to (a) calculate corrected subclasses list, (b) correctly relate intersection and union classes with their collection classes, and (c) match union, intersection, sub, complement, and equivalent classes in a proper sequence, to avoid error prone match results. We compare the results of our algorithms with those of a candidate reasoner, namely, the pellet reasoner. To the best of our knowledge, ours is a unique attempt in establishing a novel way to relate ontology classes.
The semantic web [
The vendors publish resource ontologies in the semantic web repositories. The user, who wants to discover ontologies, specifies the description of the required one. The resources in repositories are called advertised resources and user’s required resource description is named as requested resource. The semantic description of resources is preferred over syntactic description, because of being more expressive, sharable, and maintainable [
The resource discovery is a process of finding the advertised resource(s), those which are relevant to the request [
The existing ontologies in literature typically use
As we observe, the inference based on the union and the intersection classes are partially available in the tools, namely, the jena semantic framework [
We, therefore, attempt to refine our test application data set of the conference management system ontology [
We compare the results of our algorithm with the candidate reasoner, namely, the Pellet. To the best of our knowledge, ours is a unique attempt in rectifying the inferring process for
Our contributions in the paper are as follows.
We refine the conference ontology [
We propose an algorithm to
correctly relate
refine the subclasses list of any class of the ontology wherein
match ontology classes in a proper sequence for sub, complement, equivalent, union, and intersection classes.
We compare the results of our algorithm with those of the candidate reasoner, namely, the Pellet.
The organization of the paper includes 7 sections. The first one we have already described, that is, the Introduction. The subsection of Introduction is the example, wherein we discuss the error prone interpretations of tools, namely, the protégé, the jena and the Pellet. In Section
An illustration shows the error prone results achieved in interpreting union class as superclass and intersection class as subclass of collection classes.
The Student and Employee are two classes with properties and individuals as follows:
Student (class) is as follows:
Properties = {name, rollno, branch}.
Individuals = {Ami, Abhay, Aayushi, Ashish}.
Employee (class) is as follows:
Properties = {name, EmployeeID, department},
Individuals = {Ami, Ashish, Tushar}.
Let us take the intersection of the classes. That is, all the individuals and properties which are common in both
StudentNEmployee (intersection class) is as follows:
Properties = {name}.
Individuals = {Ami, Ashish}.
Let us take the union of the classes now. That is, all the individuals and properties which are either
StudentOrEmployee (union class) is as follows:
Properties = {name, rollno, EmployeeID, branch, department}.
Individuals = {Ami, Abhay, Aayushi, Ashish, Tushar}.
Let us consider MechanicalStudent as the subclass of
MechanicalStudent (subclass) is as follows:
Properties = {
Individuals = {Ashish}.
From the definition of subclass [
The resource discovery in the semantic web consists of ontology resources. The resource ontology is described using individuals, classes, attributes/properties, relations, restrictions, rules, and axioms like components.
Few terminologies for understanding matching algorithms are defined as follows.
The following terms are useful in understanding the paper.
Subclass: a class C1 is defined as a subclass of class C2, which means the set of individuals of C1 should be a subset of the individuals of C2.
Superclass: a class C1 is defined as a superclass of class C2, which means the set of individuals of C2 should be a subset of the individuals of C1.
Complement class: a class C1 is defined as complement of class C2, if C1 contains exactly those individuals that do not belong to C2. ComplementOf in OWL is the logical negation. It is the same as if the NOT operator of set theory [
Equivalent class: a class is said to be equivalent class if they have the same individuals.
Union class: a union class is having all individuals of its collection classes at least once. It is the same as if the OR operator of set theory applied to classes. The collection classes are said to be operands too.
Intersection class: an intersection class is having only those individuals which are common in all of its collection classes. It is the same as if the AND operator of set theory is applied to classes.
Equivalent class: if class
Anonymous class: anonymous class is a class without a name/identifier.
Resource discovery: resource discovery is a process of finding relevant resource for the application under consideration.
Precision ratio: the ratio of the number of relevant retrieved resources to the total number of resources retrieved is a precision ratio [
Recall ratio: the ratio of the number of relevant retrieved resources to the number of relevant resources is a recall ratio [
Matching: matching is the process of finding correspondences between semantically related entities of different resources. Advertised resource is considered to be
Exact match: if all the properties of the advertised resource match with those of the requested one, it is called exact match. Consider
Subsume match: if advertised resource properties are less than those of requested resource, it is called subsume match. Consider
Plugin match: if advertised resource properties are greater than those of the requested resource, it is called plugin match. Consider
No match: if advertised resource properties and requested resource properties do not have any of the above relations, it is called No match. Finding match can be done using semantic similarity [
Semantic similarity: a similarity function is defined as a real valued function as follows:
On a set measuring the degree of similarity between
Structural matching: structural matching [
Ontology alignment: it is a process of establishing a collection of binary relation between the vocabularies of two ontologies. Ontology alignment is applied to the same or related domain ontologies. Ontology alignment [
Reasoner: a reasoner or inference engine is used to derive the facts which are true but syntactically difficult to achieve. A reasoner can improve efficiency of matching.
A resource discovery is a matching process of requested and advertised resources. Resources in the semantic web are ontologies. The classes and properties of two ontologies are matched using linguistic, string distances, structural, or combined techniques [
We observe, in the ontologies available in the literature, the union and intersection classes are
The reasoners, namely, Pellet, Fact++, RacerPro, Hermit, and so forth [
Similar to the reasoner, the jena semantic framework too has query engine in it. Therefore, we are motivated to check the inference support of tools, namely, jena and Pellet for the
Comparison of jena query engine and Pellet query engine.
Criteria  Jena query engine  Pellet query engine 

Number of queries dealt with  RDF triple based, so it works one triple at a time  It considers the entire conjunctive query 


Speed of results  Query optimizations are not accessible. So no speedup based on that is not available.  Query optimizations are accessible and perform optimizations too and therefore can speed up the query result 


Blank nodes/anonymous resources  For anonymous resource, it will not produce result  For anonymous resource, it will produce result 
Though the Pellet’s query engine is better than that of jena, yet they both interpret collection classes of union and intersection as subclasses and superclasses, respectively.
The designers create ontologies using ontology editors. The characteristics of support for Java, open source, and support for creating simple as well as complex ontologies make the protégé editor performs better than other existing editors, namely, Apollo, OntoStudio, Swoop, and TopBraid. The comparison of ontology editors is discussed in [
From above points of discussion, we use Pellet reasoner and protégé editor as our candidate tools for our work. The comparison in Table
Comparison of interpretation of union and intersection classes by protégé vs. Pellet.
Class  Interpretation by  

Protégé ontology editor  Pellet reasoner  
Intersection class  It adds intersection class as error prone of collection classes  It interprets intersection class as error prone of collection classes 


Union class  It treats union class as equivalent of collection classes  It adds union class as super class of collection classes 
As discussed in The Example subsection, such interpretation may lead to inference of error prone subclasses and equivalent classes list. In turn, the error prone list will affect other operations which use the sub and equivalent classes list. For example, complement class matching in turn uses sub classes as explained in [
Therefore, there is a need to have match algorithm to establish correct interpretations of
Anonymous union and intersection classes of an ontology may not take part in the whole inference process of a reasoner. Treating union class as super/equivalent class of its collection classes and intersection class as subclass of its collection classes produces error prone match results. They produce error prone subclass and equivalent classes too. This will affect the matching process wherein subclasses list or equivalent classes list are used. Action is needed to (a) add named union and intersection classes in the ontology, (b) interpret union and intersection classes in their original form, (c) relate union and intersection classes properly to their collection classes, and (d) avoid error prone match results of union, intersection, sub, super and complement classes. One can easily understand the problem statement with respect to the examples of the conference management system, as shown in Figures
Union class example.
Union class example.
The ontology resource discovery is a process of matching requested and advertised resources. As part of the ontology resource discovery, we need to match the classes of ontology. Therefore, the scope of our work is ontology matching/resource discovery.
We propose a match algorithm that operates on the
interpret the named union and intersection classes in their original form,
relate the union and intersection classes properly to their collection classes,
create a proper match sequence to avoid error prone results for union, intersection, sub, complement, and equivalent classes.
The algorithms work on the following logic principles.
The subclass calculation algorithm is as follows.
In ontology, we have
Consider the following.
If union class is the required class and its collection class as the advertised class, the match between them will be of type “subsume” as per (
The Pellet reasoner adds collection classes
Now, if
from (
The protégé editor interprets collection classes
Resource discovery algorithm typically uses the Pelletlike reasoner, and usage of the protégé editor is not guaranteed. Therefore, instead of removing
In class hierarchy, if we have
Consider the following.
If intersection class is the required class and collection classes are advertised classes, the match between them will be of type “plugin” as per (
The Pellet reasoner adds
Now, if
from (
The UnionIntersectionMatch algorithm. Our match algorithm matches the complement, union, intersection, sub, equality, and equivalent classes in a strict sequence. The change in sequence may produce error prone match results, as discussed in The Logic subsection. We apply our subclasses calculation algorithm to the complement checking algorithm of [
The pseudo code of our algorithms is as shown in Algorithms
using individuals, classes, attributes/properties, relations, restrictions, rules and axioms like
components. Ontology is in the format
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
As our algorithms use simple loops, the worst case time complexity of our algorithm is
The implementation details of our proposed algorithm are as follows.
Fedora (version 19): Fedora [
Java Language (JDK1.7): Java [
Jena semantic framework: jena [
Pellet reasoner: the Pellet is an OWL 2 reasoner. It provides standard and cuttingedge reasoning services for OWL ontologies [
Protégé: The protégé is an ontology editor. The support for Java and being open source make the protégé the popular reasoner [
Netbeans (version 8.0): The NetBeans IDE [
Apache web server: the apache web server [
Our implementation uses Linux Operating System, Java Programming Language, and Pellet reasoner. The implementation details are as follows.
We add
We calculate subclasses of each class in ontology, using added union and intersection classes.
We compare the results of calculating subclasses and match algorithm with our candidate reasoner, that is, the Pellet reasoner. Our algorithm uses the Pellet reasoner’s output and rectifies that. Therefore, it should take more time to calculate subclasses.
Case 1: union class as start and end classes and intersection class in between in class hierarchy.
Case 2: union class as start and intersection class as end class in class hierarchy.
Case 3: intersection class as start and union class as end in class hierarchy.
Case 4: intersection class as start and end classes and union class in between in class hierarchy.
Cases of adding union and intersection classes.
Cases of adding union and intersection classes in conference ontology.
We add the above mentioned for cases in the conference management system’s ontology. It is shown in Figure
As the test application, we use the conference management system, because we believe the standard data set of conference ontology [
We use precision ratio as the evaluation parameter.
We have added the
Calculating list of sub classes: case 1.
Number  Class  Subclasses 
Time by 
Subclasses 
Time by 
Precision 
Precision by 

1  A 

1 

70  0.00  1.00 
2  B 

1 

35  0.50  1.00 
3  C 

0 

0  1.00  1.00 
4  D 

1 

32  0.33  1.00 
5  E 

1 

86  0.00  1.00 
6  F 

1 

62  0.00  1.00 
7  G 

40 

85  0.00  1.00 
8  H 

0 

0  1.00  1.00 
9  I 

0 

0  1.00  1.00 
Calculating list of sub classes: case 2.
Number  Class  Subclasses by Pellet  Time by Pellet (ms)  Subclasses by our algo.  Time by our algo. (ms)  Precision by Pellet  Precision by our algo. 

1  A 

9 

45  0.00  1.00 
2  B 

29 

49  0.00  1.00 
3  C 

0 

18  0.00  1.00 
4  D 

0 

1  1.00  1.00 
Calculating list of subclasses: case 3.
Number  Class  Subclasses by Pellet  Time by Pellet (ms)  Subclasses by our algo.  Time by our algo. (ms)  Precision by Pellet  Precision by our algo. 

1  A 

35 

83  0.00  1.00 
2  B 

1 

44  0.00  1.00 
3  C 

1 

24  0.33  1.00 
4  D 

1 

19  0.00  1.00 
5  E 

0 

0  1.00  1.00 
6  F 

0 

0  1.00  1.00 
Calculating list of subclasses: case 4.
Number  Class  Subclasses by Pellet  Time by Pellet (ms)  Subclasses by our algo.  Time by our algo. (ms)  Precision by Pellet  Precision by our algo. 

1  A 

0 

1  1.00  1.00 
2  B 

1 

94  0.40  1.00 
3  C 

0 

21  0.00  1.00 
4  D 

1 

35  0.00  1.00 
5  E 

15 

15  1.00  1.00 
6  F 

1 

1  1.00  1.00 
7  G 

53 

55  1.00  1.00 
8  H 

0 

22  0.00  1.00 
9  I 

0 

16  0.00  1.00 
Conference cases subclass calculation results: case 1.
Number  Class  Pellet subclasses  Our algo. subclasses 

1  Chief guest 




2  Sponsor 




3  KnowledgeablePerson 




4  MainSponsor 




5  RecommendedSponsorByDirector 




6  ReputedSponsor 




7  AudioVideoSponsor 




8  AudioSponsor 




9  VideoSponsor 


Conference cases subclass calculation results: case 2.
Number  Class  Subclasses by Pellet  Subclasses by our algo.  Precision by Pellet  Precision by our algo. 

1  Speaker 


0.00  1.00 


2  AcademicExpert 


0.00  1.00 


3  IndustryExpert 


0.00  1.00 


4  Scientist 


1.00  1.00 
Conference cases subclass calculation results: case 3.
Number  Class  Subclasses by Pellet  Subclasses by our algo.  Precision by Pellet  Precision by our algo. 

1  WellWrittenPapers 


0.00  1.00 


2  GoodTechnicalPapers 


0.00  1.00 


3  AcceptedPapers 


0.33  1.00 


4  PapersPublishedInJournal 


0.00  1.00 


5  ExcellentPapers 


1.00  1.00 


6  WellPresentedPaper 


1.00  1.00 
Conference cases subclass calculation results: case 4.
Number  Class  Subclasses by Pellet  Subclasses by our algo.  Precision by Pellet  Precision by our algo. 

1  Scientist 


1.00  1.00 


2  AcademicExpert 


0.40  1.00 


3  IndustryExpert 


0.00  1.00 


4  ComputerExpert 


0.33  1.00 


5  SecurityExpert 


1.00  1.00 


6  SemanticWebExpert 


1.00  1.00 


7  OSExpert 


1.00  1.00 


8  CommandExpert 


0.00  1.00 


9  KernelExpert 


0.00  1.00 
For general cases, our algorithm improves the precision ratio, as shown in Figure
UnionIntersectionMatch algorithm’s improved results.
obA  obR  Relation of obR to obA  Match by Pellet  Match by our algo. 

AcceptedPaper  RejectedPaper  Complement  Complement  Complement 
AcademicExpert  ComputerExpert  subclass  Subsume  Subsume 
ComputerExpert  AcademicExpert  superclass  Plugin  Plugin 
ChiefGuest  Sponsor  Operand of union Class 


AcceptedPapers  WellWrittenPapers  Operand of intersection Class 


ChiefGuest  MainSponsor  subclass of operand of union Class 


Scientist  ComputerExpert  subclass of operand of intersection Class  No match  No match 
Subclasses calculation precision ratio by Pellet and our algo.: cases 1, 2, 3, and 4.
Subclasses calculation precision ratio by Pellet and our algo.: conference cases 1, 2, 3, and 4.
A resource discovery is a challenging task, because of the unlimited size of the semantic web. The ontologies available in literature
As a future work, one can find proper subclasses of anonymous union and intersection classes of existing ontologies. One can propose subproperties inclusion in the algorithm. One can use our finally improved algorithm with content based similarity measure of Signature Quadratic Form Distance (SQFD) [
There is no conflict of interests regarding the publication of this paper.