
 
the syntax comparison compares the label of each 
entity of one ontology with the other ontology. For 
example, the syntax comparison of ontology 1 and 2 
generated a set of entities that were found in both 
ontologies, class of “document” and “publication” 
and object property of has-author (has Author). The 
following normalization strategies are implemented 
on syntax comparison: 
1.  The letter cases are ignored, i.e., “has 
Author” is the same as any combination of 
the upper and lower cases. For example, 
“HasAuthor” and “has author” are treated 
as equal; 
2.  Only the letters are compared, other special 
characters are excluded, e.g., “hasTopic” is 
the same as “has-topic” and “has_topic”; 
3.  Grammatical forms are ignored, i.e., 
singular and plural of nouns are equal and 
all the forms of verbs are ignored. 
The result of the syntax comparison is a set of 
Class {document (document), publication 
(publication)} and a set of ObjectProperty {has-
author (has Author)}. 
Following the syntax comparison, the synonym 
comparison is carried on, i.e., each entities of one 
ontology is checked for synonym from the other 
ontology. The synonyms are checked and fetched 
from the online WordNet (Princeton University, 
2011). Of the synonyms suggested by Wordnet, only 
those found in the other ontology are saved. For 
example, the class “document” in ontology 1, 
Wordnet gives several synonyms, such as “written 
document”, “papers” and “text file”. Among these 
synonyms, the class “paper” is found in ontology 2. 
Therefore, the “paper” is saved. After the synonyms 
comparison, the entity candidates are returned as: 
class {root (source), document (paper), report 
(paper), author (source)} and object property {has-
author (has Author)}. The union of the results from 
the syntax comparison and the synonym comparison 
builds up the entity candidates: Class {root (source), 
document (document), document (paper), 
publication (publication), report (paper), author 
(source)}; ObjectProperty {has-author (has 
Author)}. 
As shown above, the comparison is only made 
within the same entity types, i.e., class is compared 
with class and object property is compared with 
object property.  
Semantic concept comparison checks violations 
of the ontology definition of the entity candidates. 
For each ontology, the definitions of the entity 
candidates are extracted; and the labels of the 
entities are swopped, i.e., the definition in ontology 
1 with labels of ontology 2 is checked in ontology 2, 
as well the definition in ontology 2 with labels of 
ontology 1 is checked in ontology 1. For example, 
the definition of entity “root” is extracted from 
ontology 1; and the label “root” is swopped for 
“source”. Then, the axioms of “root” defined in 
ontology 1, now labelled “source”, are checked for 
violation in ontology 2. This process takes care of all 
the entities in entity candidates at the same time. 
In our example, the definitions of all the entity 
candidates in ontology 1 are extracted. However, it 
happens that the whole ontology is involved and, 
then, the labels are swopped for the synonyms. The 
entities that have no synonyms are excluded from 
the axioms. The result is shown below: 
Declare (Class (Source)) 
Declare (Class (Document)) 
Declare (Class (Publication)) 
Declare (Class (Paper)) 
Declare (Class (Source)) 
Declare (ObjectProperty (hasAuthor)) 
SubClassOf (Document, Source) 
SubClassOf (Source, Document) 
SubClassof (Publication, Document) 
SubClassOf (Paper, Document) 
ObjectPropertyDomain (hasAuthor, 
Doument) 
ObjectPropertyRange (hasAuthor, 
Source) 
One violation is found directly from the above 
description, i.e., two classes of Sources are found, 
because both Root and Author have Source as 
synonyms. Source is a more general conception than 
both Root and Author, since it is synonyms to both. 
The minimum action is to add Root and Author as 
two subclasses, and hence, the result has reformed as 
below: 
Declare (Class (Source)) 
Declare (Class (Root)) 
Declare (Class (Author)) 
Declare (Class (Document)) 
Declare (Class (Publication)) 
Declare (Class (Paper)) 
Declare (ObjectProperty (hasAuthor)) 
SubClassOf (Root, Source) 
SubClassOf (Author, Source) 
SubClassOf (Document, Root) 
SubClassOf (Paper, Document) 
SubClassof (Publication, Document) 
ObjectPropertyDomain (hasAuthor, 
Doument) 
ObjectPropertyRange (hasAuthor, 
Author) 
The open world reasoning is applied here, i.e., if 
the definition is not found in ontology 2, the 
statement is seen as not violating and saved in the 
ontology intersection. If the violation is found in 
WEBIST2012-8thInternationalConferenceonWebInformationSystemsandTechnologies
436