as they do not consider syntactical information (Alt-
manninger et al., 2009). Accordingly, the line-based
approach does also neglect syntactical information of
ontologies, which are commonly represented in some
text-based OWL serialization nowadays.
Challenges emerge when two ontology develop-
ers modify the same artifact on their personal work-
ing copies in parallel. The modifications might con-
tradict each other, for instance, the developers may
both change the name of an ontology concept simul-
taneously. Such parallel and controversial modifica-
tions can result in conflicts during the merging of
two ontology versions. In general, a conflict is de-
fined as “a set of contradicting changes where at least
one operation applied by the first developer does not
commute with at least one operation applied by the
second developer” (Altmanninger et al., 2009). Con-
flicts can be detected by the identification of units that
were changed (i.e., added, updated, deleted) in paral-
lel. They can either be automatically resolved or it re-
quires the user to manually fix them by resolving the
conflictual changes.
From the ontology development point of view, the
situation is exacerbated when different ontology edi-
tors are used during the development process. This is
due to the fact that these editors often produce differ-
ent serializations of the same ontology, i.e., the ontol-
ogy concepts are grouped and sorted differently in the
files generated by the editors.
1
As a result, the ability
of VCSs to detect the actual changes in ontologies is
lowered, since a number of conflicts are detected that
are actually not given but are a result of different seri-
alizations of the ontology file. In order to increase the
accuracy of conflict detection in VCSs, the problem
of different groupings and orderings must be tackled.
In this paper, we present SerVCS, a generic ap-
proach for the realization of optimistic and tool-
independent ontology development on the basis of
Version Control Systems. As a result, VCSs become
editor agnostic, i.e., capable to detect actual changes
and automatically resolve conflicts using the built-in
merging algorithms. We implemented and applied the
SerVCS approach on the basis of the widely used Git
VCS. In addition, we developed a middleware service
to generate a unique serialization of ontologies before
they are pushed to the remote repository. The unique
serialization ensures that ontologies have always the
same serialization in the remote repository, regardless
of the used ontology editor. Therefore, we avoid the
incompatibility problem with regard to wrongly de-
1
With “different serializations”, we refer to two different
ontology files that represent the same ontology using the
same syntax (RDF/XML, Turtle, Manchester, etc.) but use
a different structure to list and group the ontology concepts.
tected conflicts resulting from the use of different on-
tology editors, and assist ontology developers to col-
laborate more efficiently in distributed environments.
The remainder of this paper is organized as fol-
lows: In Section 2, a motivating scenario is presented.
In Section 3, our SerVCS approach is described. In
Section 4, we outline the implementation of SerVCS.
We evaluate our approach against concrete cases in
Section 5 and compare our work with the current
state-of-the-art in Section 6. In Section 7, we con-
clude the paper and provide an outlook to meaningful
extensions of this work.
2 MOTIVATING EXAMPLE
As a motivating example, we consider two users
working together in developing an ontology for a spe-
cific domain. In order to ease collaboration and main-
tain different versions of the developed ontology that
result from changes, they decide to use Git. They pro-
ceed by setting up the working environment and cre-
ating an initial ontology repository which contains
several files. Together, the users define the ontology
structure with the most fundamental concepts and up-
load the ontology file F to the remote repository. After
that, they decide to proceed with their tasks by sepa-
rately working on their local machines.
The users start synchronizing their local working
copies with the remote repository, as illustrated in
Scene 1 of Figure 1. Scene 2 depicts simultaneous
changes performed on different copies of the same
ontology file, such as adding new concepts, modify-
ing existing ones, or deleting concepts. For realizing
this task, different ontology editors are used. In our
case, User 1 works with Desktop Prot
´
eg
´
e
2
, whereas
User 2 prefers to edit the ontology with TopBraid
Composer
3
. After finishing the task, User 1 uploads
her personal working copy (F*) to the remote repos-
itory, as shown in Scene 3. Next, User 2 completes
his task and starts uploading the changes he made on
his local copy to the remote repository. While trying
to trigger this action, he receives a rejection message
from the VCS, listing all changes which result in con-
flicts, as depicted in Scene 4. These conflicts need to
be resolved in order for the VCS to allow the user to
successfully upload his version (F**) to the remote
repository. User 2 starts resolving the conflicts manu-
ally by comparing his version of the ontology with the
one of User 1 that has already been uploaded to the
remote repository. Since the users are working with
2
http://protege.stanford.edu
3
http://www.topquadrant.com/composer/
KEOD 2016 - 8th International Conference on Knowledge Engineering and Ontology Development
44