<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Tracking changes through EARMARK: a theoretical perspective and an implementation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Silvio Peroni</string-name>
          <email>essepuntato@cs.unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Poggi</string-name>
          <email>fpoggi@cs.unibo.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio Vitali</string-name>
          <email>fabio@cs.unibo.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer, Science and Engineering, University of Bologna</institution>
          ,
          <addr-line>Bologna</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer, Science and Engineering, University of Bologna</institution>
          ,
          <addr-line>Bologna</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Computer, Science and Engineering, University of Bologna</institution>
          ,
          <addr-line>Bologna</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <volume>1008</volume>
      <abstract>
        <p>The Extremely Annotational RDF Markup, a.k.a. EARMARK, is an OWL 2 DL ontology that de nes document meta-markup. It is an ontologically precise de nition of markup that instantiates the structure of a text document as an independent OWL document outside of the text string it annotates, and through appropriate OWL and SWRL characterizations it can de ne organizations such as trees or graphs and can be used to generate validity constraints. In this paper we present an extension of EARMARK that allows us to describe how markup documents evolve in time, which complies with concepts expressed in the Functional Requirements for Bibliographic Records (FRBR).</p>
      </abstract>
      <kwd-group>
        <kwd>EARMARK</kwd>
        <kwd>FRBR</kwd>
        <kwd>OWL ontologies</kwd>
        <kwd>change tracking</kwd>
        <kwd>overlapping markup</kwd>
        <kwd>provenance data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>Articles, novels, ancient poems, news, and many other
kinds of documents change in time. Any creative act of such
a text starts from a particular draft made by someone at a
certain time, that is then modi ed through consecutive
revisions, may end up being forked into di erent variants, is then
possibly submitted for publishing where additional editorial
activities may take place (including typo- xing, shortening,
restructuring, etc.), creating di erent strings (and,
therefore, versions of the same document).</p>
      <p>Keeping track of changes introduced in consecutive
versions of the same document is an important task for even
rather di erent disciplines. In Computer Science, it enables
programmers to show how programming code or
computational models evolve throughout the natural lifecycle of
software development; in Philology, it provides mechanisms for
scholars to tell the way in which variant copies of a same
book overlap in time and content, and provides tools for
hypotheses about the reconstruction of the original version of</p>
      <p>Intuitively, the concept of identity of elements throughout
versions, whatever de nition one may give of it, from
complete continuity of the existence in time (\E1 in V1 is E2
in V2") to the e ect of the application of a time-grounded
function of transformation (\ E1 in V1 becomes E2 in V2"),
has enormous importance in the very de nition of change
tracking and in the possibility of following through of its
content.</p>
      <p>
        Herein we try to provide our answer to the questions
above from a theoretical perspective, through the
application of the our understanding of the Functional
Requirements for Bibliographic Records (FRBR) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], which is \a
general model, proposed by the International Federation of
Library Associations and Institutions (IFLA) for the
description of documents and their evolution" [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. After
showing how to use FRBR to model document changes as
multiple versions of markup hierarchies that overlap on the same
content, we provide an implementation of it using
EARMARK [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], a meta-markup language based on Semantic
Web technologies that enables in a very straightforward way
the description of a hierarchy or even multiple hierarchies of
markup elements upon some textual content, without
adopting any particular XML workaround [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] for handling the
overlaps.
      </p>
      <p>The rest of the paper is organised as follows. In Section 2
we show what kinds of markup structures are actually
interested in document changes, introducing a simple running
example. In particular, we show how changes can be
modelled through FRBR and we discuss about the provenance
data to add to comprehend the edits done version by
version. In Section 3 we present EARMARK as a model to
keep track of all the changes of a markup document through
using a juxtaposition of following markup hierarchies, each
overlapping upon each other. Finally, after discussing some
related works on this topic in Section 4, in Section 5 we
conclude the paper, sketching out some future works.</p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], Renear et al. claim they were ba ed by a triad
of sentences, each of which individually evident, that once
taken together were thought to be inconsistent: (a)
documents are strings; (b) strings cannot be modi ed; (c)
documents can be modi ed.
      </p>
      <p>
        Amused and frankly worried that this could be a real
conundrum for philosophers, we provided in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] our humble
and hopefully de nitive point of view on the subject,
specifying that while in fact strings are immutable objects and
documents are in fact mutable (or, in our nomenclature,
Timed Abstract Objects, a.k.a. TAOs), the improbable
simpli cation were in the identity equation of strings and
documents, whereby for instance Alice's scribbling \Hello world"
on a piece of paper creates a di erent document from Bruce's
writing \Hello world" on a MS Word le on a PC, even if
the string is clearly the same. The document is therefore
something more than the string it is composed of, and this
object could (and in fact does) refer to di erent strings in
time, i.e. it creates a history of changes that are more or less
pointers to di erent strings associated to the same document
through a function grounded on time instants.
      </p>
      <p>
        This idea of continuity of the identity of a document
through di erent contents in time closely resembled to us the
model that FRBR introduced in 1999 [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]: document is an
overloaded word, and is better substituted by four di erent
concepts called respectively Work, Expression,
Manifestation and Items each of which provides a speci c and
unambiguous aspect of the overloaded document concept, and
can replace it to provide a clearer view of the identity,
evolution in time, speci cation of form (and format) and creation
of copies that routinely ba e whoever insist in using
documents for all situations.
      </p>
      <p>
        Our idea of the string of characters constituting the
content of a document is therefore associated to the FRBR
concept of Expression { i.e. \the intellectual or artistic
realization of a work in the form of alpha-numeric, musical,
or choreographic notation, sound, image, object, movement,
etc., or any combination of such forms" [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] {, which never
changes in time, but is associated to a Work { i.e. \A distinct
intellectual or artistic creation" [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] { through the
realization function. A Work is therefore associated to a number
of di erent Expressions, some of which are related to each
other by time functions (e.g., they are subsequent versions
of one another) but also related to each other by other types
of functions (e.g., di erent variants for di erent audiences,
or translations in di erent languages, etc.).
      </p>
      <p>To understand how to use FRBR Expressions and their
subcomponents in a change tracking scenario involving
markup elements (where the containment between descendant
components is modelled by means of the FRBR function
has part between Expressions), let us introduce a change
tracking history of a document, created by Alice, which is
revised two times by Bob and Charles, as shown in Fig. 1.
In particular, the original version made by Alice (in blue
rectangles with solid border) was rst revised by Bob (in
yellow rectangles with dashed border), by inserting the text
\very" within the emphasis. Then, Bob's version was again
revised by Charles (in green rectangles with dotted border),
by removing the second paragraph.</p>
      <p>Through a speci c FRBR function, i.e. revision of, is then
possible to track consecutive revisions of a document (and
of its markup elements) in a straightforward manner,
creating overlapping hierarchies of document structures upon
the same content. In addition to that, an important part of
change tracking operation involves keeping track of
provenance information (shown in Fig. 2) { how the document
has been modi ed, who made the modi cation and when.</p>
      <p>Thus, considering again the two research questions
introduced in Section 1, we can claim that, according to FRBR,
(a) the two instances of E1 in V1 and E2 in V2 are two
different markup elements (i.e. FRBR Expressions) that are
realisations of the same FRBR Work, and that (b) this
difference is propagated also to Es' ancestor elements.</p>
      <p>We implemented this theoretical representation of change
tracking information by means of EARMARK, as we
describe in the following sections.</p>
    </sec>
    <sec id="sec-2">
      <title>TRACKING CHANGES IN PRACTICE:</title>
    </sec>
    <sec id="sec-3">
      <title>THE EARMARK APPROACH</title>
      <p>In this section we introduce how to use EARMARK, i.e.
a meta-markup language we developed as an OWL
ontology to model complex markup hierarchies including graphs,
to model multiple versions of a document within the same
EARMARK document. In particular, after brie y
introducing the language (Section 3.1), we show how to use it
to track changes of markup documents (Section 3.2) and we
discuss some of its advantages and drawbacks (Section 3.3
and Section 3.4).
3.1</p>
    </sec>
    <sec id="sec-4">
      <title>The EARMARK ontology</title>
      <p>
        EARMARK (the Extremely Annotational RDF Markup)
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is a di erent approach to meta-markup based on
ontologies and Semantic Web technologies. The basic idea is to
model EARMARK documents as collections of addressable
text fragments, and to associate such text content with OWL
assertions that describe structural features as well as
semantic properties of (parts of) that content. As a result,
EARMARK allows one to create not only documents with single
hierarchies (as with XML), but also multiple overlapping
hierarchies where the textual content within the markup items
belongs to some hierarchies but not to others. Moreover,
EARMARK makes it possible to add semantic annotations
to the content that may overlap with existing ones.
      </p>
      <p>
        Our Java-based implementation1 strictly follows what is
de ned in the EARMARK ontology [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] that speci es classes
and properties. The core classes of our model describe three
disjoint base concepts: docuverses, ranges and markup items.
      </p>
      <p>The textual content of an EARMARK document is
conceptually separated from its annotations, and is referred to
through the earmark:Docuverse class. The individuals of
this class represent the objects of discourse, i.e. all the
containers of text from an EARMARK document. Any
individual of earmark:Docuverse { commonly called a docuverse
(lowercase to distinguish it from the class) { speci es its
actual content through the property earmark:hasContent.</p>
      <p>We de ne the class earmark:Range for any text lying
between two locations of a docuverse. A range, i.e, an
individual of earmark:Range, is de ned by a starting and an
ending location (any literal) of a speci c docuverse through
the functional properties earmark:begins, earmark:ends and
1https://github.com/essepuntato/EarmarkDataStructure.
earmark:refersTo respectively.</p>
      <p>The class earmark:MarkupItem is the superclass de ning
artefacts to be interpreted as markup (such as elements and
attributes). A markupitem individual is a collection2 (co:Set,
co:Bag and co:List, where the latter is a subclass of the
second one and all of them are subclasses of co:Collection)
of individuals belonging to the classes earmark:MarkupItem
and earmark:Range. Through these collections it is possible:
to de ne a markup item as a set of other markup items
and ranges by using the property co:element;
to de ne a markup item as a bag of items (de ned
by individuals belonging to the class co:Item), each
of them containing a markup item or a range, by
using the properties co:item and co:itemContent
respectively;
to de ne a markup item as a list of items (de ned by
individuals belonging to the class co:ListItem), each of
them containing a markup item or a range, in which
we can also specify a particular order among the items
themselves by using the property co:nextItem.</p>
      <p>A markupitem might also have a name, speci ed in the
functional property earmark:hasGeneralIdenti er3, and a
namespace speci ed using the functional property earmark:has
Namespace.</p>
      <p>All the three core classes are specialized in other
subclasses for giving more speci c information about
EARMARK instances. First of all, the class earmark:Docuverse is
specialized into either a earmark:StringDocuverse (the
content speci ed through earmark:hasContent is a string) or
into an earmark:URIDocuverse (the actual content is
located at the URL speci ed in earmark:hasContent), that
are disjoint. Specialized subclasses of earmark:Range
(earmark:PointerRange and earmark:XPathRange) are de ned
to cope with plain-text and XML docuverses with di
erent addressing schemes. earmark:MarkupItem is
specialized in three disjointed sub-classes: earmark:Element,
earmark:Attribute and earmark:Comment.</p>
      <p>In order to understand how EARMARK is used to
describe markup hierarchies, we show how Alice's version (the
blue one in Fig. 1) is expressed in EARMARK. In particular,
the following XML-based version of Alice's version:
&lt; section &gt;
&lt;p &gt; Some &lt;em &gt; interesting &lt;/ em &gt; content . &lt;/p &gt;
&lt;p &gt; It was written by me . &lt;/p &gt;
&lt;/ section &gt;</p>
      <p>
        is rendered in EARMARK as follows (in Turtle [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ])4:
@prefix : &lt; http :// www . essepuntato . it /2013/
dchanges /&gt; .
# Any EARMARK document is an ontology
&lt; http :// www . essepuntato . it /2013/ dchanges &gt;
2In the following descriptions the pre x co to indicate
entities taken from an imported ontology, the Collections
Ontology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], used for handling collections. Its latest version is
available at http://purl.org/co.
3General identi er was the SGML term for the local
name of the markup item, e.g., \p" for markup element
\&lt;p&gt;...&lt;/p&gt;".
4The whole EARMARK document (in Turtle format)
containing all the four versions described in Section 3.2 is
available online at http://www.essepuntato.it/2013/dchanges.
a owl : Ontology .
# Textual content of the document
: content a earmark : StringDocuverse ;
earmark : hasContent
" Some interesting content .
      </p>
      <p>It was written by me ."^^ xsd : string .
: r1 a earmark : PointerRange ; # String ' Some '
earmark : refersTo : content ;
earmark : begins "0"^^ xsd : nonNegativeInteger ;
earmark : ends "5"^^ xsd : nonNegativeInteger .
# String ' interesting '
: r2 a earmark : PointerRange ...
# String ' content .'
: r3 a earmark : PointerRange ...
# String 'It was written by me .'
: r4 a earmark : PointerRange ...
# Element 'section '
: section a earmark : Element ;
earmark : hasGeneralIdentifier</p>
      <p>" section "^^ xsd : string ;
co : firstItem [ a co : ListItem ;</p>
      <p>co : itemContent : p1 ;
co : nextItem [ a co : ListItem ;</p>
      <p>co : itemContent : p2 ] ] .
: p1 a earmark : Element ; # First element 'p '
earmark : hasGeneralIdentifier</p>
      <p>"p "^^ xsd : string ;
co : firstItem [ a co : ListItem ;</p>
      <p>co : itemContent : r1 ;
co : nextItem [ a co : ListItem ;</p>
      <p>co : itemContent : em ] ;
co : nextItem [ a co : ListItem ;</p>
      <p>co : itemContent : r3 ] ] .
: em a earmark : Element ... # Element 'em '
: p2 a earmark : Element ... # Second element 'p '
3.2</p>
    </sec>
    <sec id="sec-5">
      <title>Modelling changes with EARMARK</title>
      <p>EARMARK enables the creation of multiple overlapping
hierarchies upon the same content, which is one of the main
feature of the language and a strict requirement to handle
change tracking information as presented in Section 2.</p>
      <p>
        In order to provide a full model to address what we
introduced in Section 2, we developed the EARMARK Changes
Ontology (EChO) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. EChO extends the EARMARK
ontology presented in Section 3.1 and includes the OWL 2 DL
implementation of FRBR [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and the Provenance Ontology
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], so as to keep track of all the changes and provenance
data related to di erent versions of the same document. In
particular, we use:
the EARMARK items (docuverses, ranges and markup
items) to model the structure of the di erent
document versions and to store them all within a single
EARMARK document;
the object property frbr:revisionOf to indicate that a
markup item is a revision of another;
the object property prov:wasDerivedFrom to indicate
that a range is actually derived from another one
dened in a previous version of the document;
the object properties prov:wasGeneratedBy (coupled
with instances of the classes echo:VersionCreation and
echo:ItemInsertion) and prov:generatedAtTime to
indicate that a particular markup item, a range or a whole
document version has been created at a certain time;
the object properties prov:wasInvalidatedBy (coupled
with instances of the classes echo:VersionRemoval and
echo:ItemDeletion) and prov:invalidatedAtTime to
indicate that a particular markup item, a range or a
whole document version has been deleted at a certain
time;
the object property prov:wasAssociatedWith to
indicate the agent involved in the activity of
generation/invalidation of a certain item.
      </p>
      <p>Any EARMARK item is dereferenceable since it is
actually identi ed by a particular URL. This enables us to
easily add the aforementioned data to any EARMARK item we
de ne. For instance, we can say that Alice created her
document version (implicitly identi ed by the document element
section) on June 19, 2013 at 13:45 (as shown in Fig. 2) in
the following way:
@prefix prov : &lt; http :// www . w3 . org / ns / prov #&gt; .
@prefix echo : &lt; http :// www . essepuntato . it
/2013/07/ echo /&gt; .
: section
# Provenance information
prov : wasGeneratedBy : creation -by - alice ;
prov : generatedAtTime</p>
      <p>"2013 -06 -19 T13 :45:00 Z "^^ xsd : dateTime .
# Activity of creation of a new version
: creation -by - alice a echo : VersionCreation ;
prov : wasAssociatedWith : alice .</p>
      <p>Note that all the activities referenced by the properties
prov:wasGeneratedBy and prov:wasInvalidatedBy can de ne
the precise time interval when they have been performed {
by using the properties prov:startedAtTime and prov:ended
AtTime.</p>
      <p>In the following subsections we show how to use
EARMARK to describe all the versions of our exemplar
document introduced in Fig. 2 by means of two tracking
operations, i.e. insertions and deletions. In addition we also
introduce another revision of Alice's version introduced in
Section 3.1 that speci es both insertions and deletions within
the same version.</p>
      <sec id="sec-5-1">
        <title>3.2.1 Insertions</title>
        <p>Bob's revision (shown in Fig. 1) of Alice's version was
made on July 3, 2013, at 04:15. Bob's edits concern only
the insertion of the string \very " as rst textual node of
the element em. So as to model this version, we extend the
EARMARK document containing Alice's version so as to
include all the modi cations and provenance data related
to Bob's version. The following excerpt shows the RDF
statements we added to describe that scenario:
# New content of the document
: content -by - bob a earmark : StringDocuverse ;
earmark : hasContent " very "^^ xsd : string .
# New string ' very '
: r5 a earmark : PointerRange ;
earmark : refersTo : content -by - bob ;
earmark : begins "0"^^ xsd : nonNegativeInteger ;
earmark : ends "5"^^ xsd : nonNegativeInteger ;
# provenance information
prov : wasGeneratedBy : insertion -by - bob ;
prov : generatedAtTime</p>
        <p>"2013 -07 -03 T04 :15:00 Z "^^ xsd : dateTime .
: insertion -by - bob a echo : ItemInsertion ;
prov : wasAssociatedWith : bob .
# Element 'section ' by Bob
: section -by - bob a earmark : Element ;
earmark : hasGeneralIdentifier</p>
        <p>" section "^^ xsd : string ;
co : firstItem [ a co : ListItem ;</p>
        <p>co : itemContent :p1 -by - bob ;
co : nextItem [ a co : ListItem ;</p>
        <p>co : itemContent : p2 ] ] ;
# relation with previous version
frbr : revisionOf : section ;
# provenance information
prov : wasGeneratedBy : creation -by - bob ;
prov : generatedAtTime</p>
        <p>"2013 -07 -03 T04 :15:00 Z "^^ xsd : dateTime .
: creation -by - bob a echo : VersionCreation ;
prov : wasAssociatedWith : bob .
# First element 'p ' by Bob
:p1 -by - bob a earmark : Element ...
# Element 'em ' by Bob
:em -by - bob a earmark : Element ...</p>
        <p>As shown in the above excerpt, so as to enable the
insertion of new content, we created a new docuverse, i.e.
:content-by-bob, containing all the new text added to
Alice's version. In addition, as suggested in Fig. 1, we also
created new instances of the elements section, p and em as
revisions of those de ned in Alice's version. Alice's second
paragraph, i.e. :p2, is reused as it is (since it did not change
at all in Bob's version).</p>
      </sec>
      <sec id="sec-5-2">
        <title>3.2.2 Deletions</title>
        <p>Charles' revision (shown in Fig. 1) of Bob's version was
made on July 5, 2013, at 03:33. Charles' edits delete the
Bob's second paragraph of the section. So as to model
this version, we extend the EARMARK document
containing both Alice's and Bob's versions so as to include all the
modi cations and provenance data of Charles' version. The
following excerpt shows the RDF statements we added to
describe that scenario:
# Element 'section ' by Charles
: section -by - charles a earmark : Element ...
prov : wasGeneratedBy : creation -by - charles ;
prov : generatedAtTime</p>
        <p>"2013 -07 -05 T03 :33:00 Z "^^ xsd : dateTime .
: creation -by - charles a echo : VersionCreation ;
prov : wasAssociatedWith : charles .
# Provenance information for the deletion of
# Second element 'p ' of Bob 's 'section '
: p2
prov : wasInvalidatedBy : deletion -by - charles ;
prov : invalidatedAtTime</p>
        <p>"2013 -07 -05 T03 :33:00 Z "^^ xsd : dateTime .
: deletion -by - charles a echo : ItemDeletion ;
prov : wasAssociatedWith : charles .</p>
        <p>As shown in the above excerpt, we did not need to add a
new docuverse since we just had to delete only Alice's and
Bob's second paragraph, i.e. :p2. Thus, we created only
the new instance of the element section as revisions of Bob's
section, and we added provenance information about the
deletion of the Alice's and Bob's second paragraph.</p>
      </sec>
      <sec id="sec-5-3">
        <title>3.2.3 Splitting ranges up</title>
        <p>In Section 3.2.1 and Section 3.2.2 we showed how to
create an EARMARK document that keeps track of
consecutive revisions (made by di erent people) of the same markup
document. We chose to describe versions specifying either
one insertion or one deletion so as to make it easier to
understand how to de ne change tracking information of such
operations through EARMARK.</p>
        <p>In this section we focus on another revision (Daniel's one)
of the Alice's version (which actually de nes a di erent branch
of the tracking history of such a document, since it contrasts
with Bob's revision), where Daniel decided to substitute the
string \me" in the second paragraph with its name (i.e. the
string \Daniel"), as shown in Fig. 3.</p>
        <p>In EARMARK, this string substitution (i.e. a deletion
plus an insertion) can be described as shown in Fig. 4. Since
the deletion happens in the middle of a range de ned in
Alice's previous version, we need to de ne four new ranges.
Three of them implicitly represent a split-up of the range :r4
(tracked through the property prov:wasDerivedFrom), and
refer to the strings \It was written by ", \me" (to delete
in Daniel's version) and \." respectively. The other range
refers to the new content, i.e. the string \Daniel", added in
Daniel's version. Thus we can add revision information and
provenance data, as shown in Section 3.2.1 and Section 3.2.2,
to these four ranges and to the related new elements p and
section de ning Daniel's revisions of the Alice's elements.</p>
        <p>Note that the prov:wasDerivedFrom statements between
ranges actually describe (at an abstract level) a more
complex scenario of overlapping markup between Alice's second
paragraph and its Daniel's revision5. The overlapping items
between items of Alice and Bob's versions and between Bob
and Charles' versions, introduced in Section 3.2.1, are
explicit { e.g. :section overlaps with :section-by-bob since both
contain the same second paragraph. Even comparing Alice's
and Daniel's versions, some overlaps are still explicit { e.g.
those between the Alice and Daniel's elements section that
share the same rst paragraph. However, according to the
EARMARK representation of Daniel's version, it seems that
Alice's second paragraph does not overlap with Daniel's one,
since they do not have any range in common.</p>
        <p>
          So as to recognise the actual overlap between :r4 and the
three ranges derived from it, we must perform some
arithmetic operations on ranges, as described in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] and modelled
in a precise way by the EARMARK Overlapping Ontology
[
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]. In particular, the application of such an ontology on
our exemplar EARMARK document allows us to infer
automatically that each of the split-up ranges is actually
overlapping with :r4 and, thus, to infer that Alice and Bob's second
paragraphs are actually overlapping by range6. Herein, we
use the property prov:wasDerivedFrom so as to simplify the
description of such a complex overlapping scenario.
3.3
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Querying the changes history</title>
      <p>
        Important advantages derive from using EARMARK as
a model to describe consecutive versions of the same
document. In particular, since EARMARK is de ned by means
of Semantic Web technologies, we can use already
implemented standards such as SPARQL 1.1 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] to query over
the change tracking history of a certain EARMARK
document. For instance, the following small SPARQL query
returns a new EARMARK document (as a set of RDF
state5Two elements overlap when (a) one is neither descendant
nor ancestor of the other and (b) they share an element as
descendant
6An overlapping by range between EARMARK markup
items happens when a markup item A contains a range that
overlaps with another range contained by a markup item B.
We recommend to read [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] for a more detailed discussion
about possible overlapping scenarios in EARMARK
documents.
ments) that contains only Bob's version, without taking care
of other ones:
CONSTRUCT { ? other ?p ?o . ? version ? pv ? ov .
? docuverse ? pd ? od } WHERE {
{ SELECT DISTINCT
? other ? version ? pv ? ov WHERE {
{ SELECT DISTINCT ? version WHERE {
? version a earmark : Element ;
      </p>
      <p>prov : wasGeneratedBy ? activity .
? activity a echo : VersionCreation ;</p>
      <p>prov : wasAssociatedWith : bob } }
? other (^ co : itemContent ?/^ co : item )+</p>
      <p>? version } }
? version ? pv ? ov . ? other ?p ?o .</p>
      <p>OPTIONAL { ? other a earmark : PointerRange ;
earmark : refersTo ? docuverse .</p>
      <p>? docuverse ? pd ? od } }</p>
      <p>
        Note that other XML-based formats for tracking
document changes such as [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] cannot represent
explicitly multiple document versions as alternative overlapping
hierarchies within the same le since they strictly depend
on the tree-based structure of XML. Thus, in these cases,
we should reconstruct every time Bob's version when needed
by analysing each overlapping trick that has been used to
embed change tracking information within the XML
document in consideration [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Contrarily, in EARMARK we
have only to identify the document element of Bob's version
and all the related descendant items, since all the
hierarchies of the several versions stored are explicitly represented
within the EARMARK document.
      </p>
      <p>
        In addition, answering to very simple query like \select the
textual content of all paragraphs removed by Charles" ends
up rather entangled if we used directly XPath to query on
documents containing change tracking data de ned
according to [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], as demonstrated in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. On the other
hand, the SPARQL query to retrieve the same information
from an EARMARK document is quite straightforward:
SELECT DISTINCT ? range WHERE {
?p a earmark : Element ;
earmark : hasGeneralIdentifier
      </p>
      <p>"p "^^ xsd : string ;
co : item / co : itemContent ? range ;
prov : wasInvalidatedBy ? activity .
? range a earmark : PointerRange .
? activity a echo : ItemDeletion ;</p>
      <p>prov : wasAssociatedWith : charles }
3.4</p>
    </sec>
    <sec id="sec-7">
      <title>Do bytes matter?</title>
      <p>One of the criticisms when proposing a new approach to
solving a well-known problem is that the new solution may
simplify the di culties of the speci c problem, but usually
brings with it disadvantages and hidden costs that
compensate the bene ts, such as the growth of size of the data
structures, or compatibility and conversion restrictions, etc.</p>
      <p>
        In this section we focus on the problem of data size, which
is one of the main disadvantages of the solutions that are
based on Semantic Web technologies. In [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we have already
addressed the cost functions of EARMARK vs. XML-based
formats. While XML is a linearisation format immediately
expressible in actual bytes, EARMARK documents are
dened as OWL ontologies, which may have several
alternative linearisation formats (including XML itself) with
corresponding huge di erences in the nal byte counts. For these
reasons, in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we decided to bypass the test based on
bytelengths and to focus on comparing XML and EARMARK
in terms of basic constituents of each format, i.e. the
number of nodes of XML documents vs. the number of RDF
statements in EARMARK documents. The results of such
analysis showed that EARMARK and the OpenDocument
format [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] (used by OpenO ce) increase in a very similar
way according to consecutive versions of a document, while
OpenXML [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] (used by Microsoft Word) is much more
verbose and grows faster than the other ones.
      </p>
      <p>
        Herein, we have taken into consideration the same two
documents used for the evaluation in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and, as a
preliminary evaluation, we compared the size in bytes of consecutive
versions of such documents according to OpenDocument and
OpenXML formats, and to EARMARK linearised in six
different formats: Turtle [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], RDF/XML [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], OWL/XML [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ],
N-Triples [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], HDT [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and Manchester Syntax [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]7.
      </p>
      <p>Fig. 5 shows the results of the comparison on the rst
document composed of seven di erent versions, named after
the \Seven Dwarfs" for recognizability and obtained by
applying very common edits (e.g. the insertion of few words,
the deletion of some sentences, the split of paragraphs, etc.).
Fig. 6 shows the results of a similar comparison on a di
erent document and edits. We collected seven versions named
after the weekdays and created by seven di erent authors
when editing a very simple document.</p>
      <p>The overall trend is interesting: comparing the OOXML
and the OpenDocument formats we noted that the former
was always more concise than the latter (label ODT).
Focusing on EARMARK we noticed, as expected, a wide variety
of results depending on the size of linearisation used. While
RDF/XML, OWL/XML and N-triples grew very quickly,
Turtle (label TTL) and Manchester Syntax did not
deviate much from OpenDocument. The most important point
concerns HDT, which was similar to OOXML and was even
slightly below when the number of changes increased.</p>
    </sec>
    <sec id="sec-8">
      <title>RELATED WORKS</title>
      <p>The meaning expressed by the changes of markup
documents is closely connected to the basic operations used to
describe the changes themselves. Word processors such as
Microsoft Word and Open O ce Writer provide users with
powerful tools for tracking changes, allowing each individual
modi cation by individual authors to be identi ed,
highlighted, and acted upon (e.g. by accepting or discarding
7The full details about each version and each format are
available at http://fpoggi.web.cs.unibo.it/DCHANGES.
them). The intuitiveness of the relevant interfaces actually
hides the complexity of the data format and of the
algorithms necessary to handle such information.</p>
      <p>
        The standard OpenDocument Format [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] used by Open
O ce is an open XML-based format that tracks changes
using three primitive operations: insertion, deletion, and
formatting change. The modi ed regions of the document
are identi ed by special empty elements tracking the
location where changes happened. All the metadata related to
changes are stored in a list, where each item references to
the particular change it concerns through id-idref attributes.
      </p>
      <p>
        The O ce Open XML [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is the XML-based format used
by Microsoft O ce. The basic operations used to track
changes are: insertion, deletion, move and
attribute/property modi cation. OOXML fragments change-tracking data
across the elements involved in the modi cations. All
metadata about these editing operations are contained within the
attributes of these elements.
      </p>
      <p>
        Similarly, in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] the authors introduces an XML-based
model to associate a document instance with its history
(specifying insertion and deletion operations) inside a
standalone and consistent document, thus gaining strong
potential for current or future interoperability.
      </p>
      <p>
        The aforementioned operations are not the only possible
strategies users use to edits documents, even if they are
implemented in well-known word processors such as Miscrosoft
Word and Open O ce Writer. Other, more complex, edit
operations are also possible, as those described in recent
works about di algorithms. For instance in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], the authors
describe four edit operations used, which include update and
move in addition to the classic insertion and deletion.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], the authors presents a standalone
versioning model for XML documents based on three operations on
nodes and sequences of nodes: addition, delete and update).
Moreover, the model also de nes a ngerprinting
mechanism to help resolving con icts during the merging process
and an XML patch format. Its main limitation is that it
is very focused on elements, making the other XML nodes
\second class citizens" { e.g. the additions of attributes are
identi ed as updates of the containing element.
      </p>
      <p>
        JNDi [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is another di algorithm that has been
developed taking into account the notion of \naturalness", i.e. the
capability of an algorithm to identify those changes which
would be understood and identi ed by a manual approach.
The set of natural operations used by the algorithm are
seven: insertion, deletion, move, downgrade, upgrade,
update and refactoring.
      </p>
    </sec>
    <sec id="sec-9">
      <title>CONCLUSIONS</title>
      <p>
        In this paper we presented a theoretical approach to track
document changes based on FRBR and provenance data,
and its implementation through EARMARK, a Semantic
Web-aware meta-markup language that enables the de
nition of multiple overlapping markup hierarchies representing
di erent versions of the same document. In particular, we
showed how to describe such a multiple versions document
as an EARMARK document and how to add provenance
data to its markup items and textual content. In addition,
we highlighted the main advantages and drawbacks in terms
of querying and storing such EARMARK documents. In the
future we plan to extend EChO [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] so as to enable the
description of additional change tracking operations such as
those highlighted in Section 4 (e.g. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). We also plan to
experiment the e ective use of translation mechanisms { e.g.
Fretta [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] { to convert EARMARK documents with change
tracking information into XML formats, e.g. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Barabucci</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitali</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Embedding semantic annotations within texts: the FRETTA approach</article-title>
          .
          <source>In Proceedings of SAC</source>
          <year>2012</year>
          :
          <fpage>658</fpage>
          -
          <lpage>663</lpage>
          . DOI:
          <volume>10</volume>
          .1145/2245276.2245403
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>RDF/XML Syntax Speci cation (Revised)</article-title>
          .
          <source>W3C Recommendation 10 Feb</source>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Chawathe</surname>
            ,
            <given-names>S. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajaraman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia-Molina</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Widom</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>1996</year>
          ).
          <article-title>Change detection in hierarchically structured information</article-title>
          .
          <source>In ACM SIGMOD Record</source>
          ,
          <volume>25</volume>
          (
          <issue>2</issue>
          ):
          <fpage>493</fpage>
          -
          <lpage>504</lpage>
          . DOI:
          <volume>10</volume>
          .1145/235968.233366
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Ciccarese</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <source>Essential FRBR in OWL2 DL. Version 1</source>
          .0,
          <string-name>
            <surname>June</surname>
            <given-names>29</given-names>
          </string-name>
          ,
          <year>2011</year>
          . http://purl.org/spar/frbr
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Ciccarese</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>The Collections Ontology: creating and handling collections in OWL 2 DL frameworks</article-title>
          . To appear in Semantic Web { Interoperability, Usability, Applicability.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>DeRose</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Markup Overlap: A Review and a Horse</article-title>
          .
          <source>In Proceedings of the Extreme Markup Conference</source>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Di</given-names>
            <surname>Iorio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Peroni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Vitali</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>A Semantic Web Approach To Everyday Overlapping Markup</article-title>
          .
          <source>In Journal of the American Society for Information Science and Technology</source>
          ,
          <volume>62</volume>
          (
          <issue>9</issue>
          ):
          <fpage>1696</fpage>
          -
          <lpage>1716</lpage>
          . DOI:
          <volume>10</volume>
          .1002/asi.21591
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Di</given-names>
            <surname>Iorio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Peroni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Vitali</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>Using Semantic Web technologies for analysis and validation of structural markup</article-title>
          . In
          <source>International Journal of Web Engineering and Technologies</source>
          ,
          <volume>6</volume>
          (
          <issue>4</issue>
          ):
          <fpage>375</fpage>
          -
          <lpage>398</lpage>
          . DOI:
          <volume>10</volume>
          .1504/IJWET.
          <year>2011</year>
          .043439
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Di</given-names>
            <surname>Iorio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Schirinzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Vitali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Marchetti</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>A natural and multi-layered approach to detect changes in tree-based textual documents</article-title>
          .
          <source>In Proceedings of ICEIS</source>
          <year>2009</year>
          :
          <fpage>90</fpage>
          -
          <lpage>101</lpage>
          . DOI:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -01347-8 8
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Fernandez</surname>
            ,
            <given-names>J. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mart</surname>
            nez-Prieto,
            <given-names>M. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutierrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Compact Representation of Large RDF Data Sets for Publishing and Exchange</article-title>
          .
          <source>In Proceedings of ISWC</source>
          <year>2010</year>
          :
          <fpage>193</fpage>
          -
          <lpage>208</lpage>
          . DOI:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -17746-0 13
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>SPARQL 1.1 Query Language</article-title>
          .
          <source>W3C Recommendation 21 Mar</source>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Huitfeldt</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitali</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>Documents as timed abstract objects</article-title>
          .
          <source>In Proceedings of Balisage</source>
          <year>2012</year>
          . DOI:
          <volume>10</volume>
          .4242/BalisageVol8.Huitfeldt01
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>IFLA</given-names>
            <surname>Study</surname>
          </string-name>
          <article-title>Group on the FRBR (</article-title>
          <year>2009</year>
          ).
          <article-title>Functional Requirements for Bibliographic Records Final Report</article-title>
          . IFLA.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <article-title>JTC1/SC34 WG 4</article-title>
          . (
          <year>2008</year>
          ).
          <source>ISO/IEC 29500-1</source>
          :2008 {
          <article-title>Information technology { Document description and processing languages { O ce Open XML File Formats { Part 1: Fundamentals and Markup Language Reference</article-title>
          . ISO.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <article-title>JTC1/SC34 WG 6</article-title>
          . (
          <year>2012</year>
          ). ISO/IEC 26300:
          <year>2006</year>
          {
          <article-title>Information technology { Open Document Format for O ce Applications (OpenDocument) v1.2</article-title>
          . ISO.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Lebo</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sahoo</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>PROV-O: The PROV Ontology</article-title>
          .
          <source>W3C Recommendation 30 Apr</source>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Marinelli</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitali</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zacchiroli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Towards the uni cation of formats for overlapping markup</article-title>
          .
          <source>In New Review of Hypermedia and Multimedia</source>
          ,
          <volume>14</volume>
          (
          <issue>1</issue>
          ):
          <fpage>57</fpage>
          -
          <lpage>94</lpage>
          . DOI:
          <volume>10</volume>
          .1080/13614560802316145
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <source>EARMARK Changes Ontology. Version 1</source>
          .0,
          <string-name>
            <surname>July</surname>
            <given-names>3</given-names>
          </string-name>
          ,
          <year>2013</year>
          . http://www.essepuntato.it/2013/07/echo
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di</surname>
            <given-names>Iorio</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Vitali</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <source>EARMARK Ontology. Version 1.8</source>
          .1,
          <string-name>
            <surname>February</surname>
            <given-names>24</given-names>
          </string-name>
          ,
          <year>2011</year>
          . http://www.essepuntato.it/2008/12/earmark
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Peroni</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di</surname>
            <given-names>Iorio</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Vitali</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>2013</year>
          ).
          <source>The EARMARK Overlapping Ontology. Version 1</source>
          .1,
          <string-name>
            <surname>August</surname>
            <given-names>2</given-names>
          </string-name>
          ,
          <year>2013</year>
          . http://www.essepuntato.it/2011/05/overlapping
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Prud'hommeaux</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>Carothers</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>Turtle - Terse RDF Triple Language</article-title>
          .
          <source>W3C Candidate Recommendation 19 Feb</source>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Renear</surname>
            ,
            <given-names>A. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wickett</surname>
            ,
            <given-names>K. M.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>There are No Documents</article-title>
          .
          <source>In Proceedings of Balisage</source>
          <year>2010</year>
          . DOI:
          <volume>10</volume>
          .4242/BalisageVol5.Renear01
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Ronnau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgho</surname>
            ,
            <given-names>U. M.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Versioning XML-based o ce documents</article-title>
          .
          <source>In Multimedia Tools and Applications</source>
          ,
          <volume>43</volume>
          (
          <issue>3</issue>
          ):
          <fpage>253</fpage>
          -
          <lpage>274</lpage>
          . DOI:
          <volume>10</volume>
          .1007/s11042-009-0271-2
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Ronnau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Philipp</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgho</surname>
            ,
            <given-names>U. M.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>E cient change control of XML documents</article-title>
          .
          <source>In Proceedings of DocEng</source>
          <year>2009</year>
          :
          <fpage>3</fpage>
          -
          <lpage>12</lpage>
          . DOI:
          <volume>10</volume>
          .1145/1600193.1600197
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Vion-Dury</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>Stand-alone Encoding of Document History (or One Step Beyond XML Di )</article-title>
          .
          <source>In Proceedings of Balisage</source>
          <year>2010</year>
          . DOI:
          <volume>10</volume>
          .4242/BalisageVol5.Vion-Dury01
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P. F.</given-names>
          </string-name>
          (
          <year>2012</year>
          ).
          <article-title>OWL 2 Web Ontology Language XML serialization (Second Edition)</article-title>
          .
          <source>W3C Recommendation 11 Dec</source>
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2013</year>
          ).
          <article-title>N-Triples: A line-based syntax for an RDF graph</article-title>
          .
          <source>W3C Working Group Note 9 Apr</source>
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P. F.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>OWL 2 Web Ontology Language: Manchester Syntax</article-title>
          .
          <source>W3C Working Group Note 11 Dec</source>
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>