<!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>Multi-temporal RDF Ontology Versioning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fabio Grandi</string-name>
          <email>fabio.grandi@unibo.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alma Mater Studiorum - Universit`a di Bologna</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>1990</year>
      </pub-date>
      <abstract>
        <p>In this paper, we present a multi-temporal RDF database model employing triple timestamping with temporal elements, which best preserves in the multi-temporal setting the scalability property enjoyed by triple storage technologies. The data model is equipped with manipulation operations which allow knowledge engineers to maintain a multi-temporal RDF database in order to manage temporal versions of an ontology.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        When an ontology is changed, some applications require the past version to be
kept in addition to the new one, giving rise to multi-version ontologies. This is the
case of the legal domain where ontologies must evolve as a natural consequence
of the dynamics involved in normative systems [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Agents in such a domain may
often have to deal with a past perspective, like a Court having to judge today
on a fact committed several years ago. Moreover, several time dimensions are
usually important for computer applications in such domains.
      </p>
      <p>
        In the design of semantics based information systems, triple store
technology [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] based on the RDF data model [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is supposed to provide scalability
for querying and retrieval. Temporal extensions of the RDF data model have
already been presented [
        <xref ref-type="bibr" rid="ref11 ref17 ref8">8, 11, 17</xref>
        ], often in conjunction with special index
structures which allow for efficient processing of temporal queries (e.g. tGRIN [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and
keyTree [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]).
      </p>
      <p>
        In order to preserve the scalability property of the triple storage approach
as much as possible also in the presence of temporal semantics, one has to limit
the proliferation of value-equivalent triples which could be generated by a non
very careful definition of the operational semantics of modification statements.
Actually, in the previous sentence we have extended to RDF triples the notion of
value-equivalent tuples defined in temporal database theory [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] (i.e. two triples
are value-equivalent iff their non-temporal contents are exactly the same).
      </p>
      <p>
        The issue has in part been acknowledged also in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], where the notion of
normalized temporal RDF databases has been introduced. In particular, in a
monodimensional setting employing interval timestamping of RDF triples, the
coalescence technique is adopted to avoid storage of value-equivalent triples
with overlapping or consecutive intervals. As proposed by temporal database
researchers [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], coalescence consists of merging overlapping or consecutive
intervals into a single cumulative interval to be used as timestamp of a single
representative tuple instead of duplicating it.
      </p>
      <p>
        In this work, we propose to move another step forward and improve the
notion of normalized temporal RDF database by employing the whole
state-ofthe-art temporal database techniques to avoid data redundancy. Therefore, we
propose to introduce temporal elements [
        <xref ref-type="bibr" rid="ref1 ref9">1, 9</xref>
        ] as timestamps to definitely avoid
the coexistence of value-equivalent triples in the same temporal RDF database.
      </p>
      <p>The paper is organized as follows. In Section 2, we provide some background
information on application requirements which lead our design choices. Hence,
a multi-temporal RDF database model employing temporal element
timestamping will be introduced in Section 3. In Section 4, the operational semantics of
modification operations for the maintenance of a multi-temporal RDF database
is presented. Conclusions will be finally found in Section 5.
2</p>
    </sec>
    <sec id="sec-2">
      <title>A Reference Application Scenario</title>
      <p>In this section, we sketch some features of the reference application scenario we
consider in the background, which is important for the design choices we have
taken.</p>
      <p>
        In particular, we focus on (multi-version) ontologies which are used to support
a semantically indexed access to a usually very large repository of (multi-version)
data resources. Snapshot queries, that is queries which reconstruct a single
ontology version valid a given point in the multidimensional time domain, are of
vital importance in this framework [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Snapshot queries involve the enforcement
of the temporal perspective, current or past, which is of interest for the user.
      </p>
      <p>
        For the sake of consistency, the same temporal perspective must be used
when accessing both the ontology to select a class of interest and then the data
resources linked to such a class. In other words, the temporal selection involves
the extraction from the multi-version repository of the ontology version and of
the linked data resource versions which are valid at the same (multidimensional)
time point. Full details on the application scenario can be found in [
        <xref ref-type="bibr" rid="ref2 ref5">2, 5</xref>
        ].
      </p>
      <p>
        For instance, in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] we considered legal documents as data resources and
an ontology formalizing the existence of different classes of citizens before the
law. References to ontology classes has then be added to the documents stored
in a repository in order to support a personalization service, able to retrieve a
selection of legal documents tailored to an individual or a given class of citizens,
that is only including norms applicable to their case.
      </p>
      <p>
        In such an application context, at least three temporal dimensions are needed
for a correct modelling of the evolution of data resources and of the related
ontology:
– validity time is the time a norm is in force in the real world
– efficacy time is the time a norm can be applied to concrete cases; while
such cases exist, the norm continues its efficacy even if no longer in force
– transaction time is the time a norm is stored in the information system
Notice that both validity and efficacy time dimensions have the semantics of
valid time in temporal database terminology [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], but represent different and
independent valid time notions. Transaction time indeed is always needed when
data are managed by a computer system in order to support retro- and pro-active
changes and to keep track of them for audit or control reasons.
      </p>
      <p>
        In this vein, we previously considered in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] ontologies encoded in OWL/XML
format and, thus, defined a temporal data model for the storage and management
of multi-version ontologies in such a format. In this work, we indeed consider
ontologies encoded in RDF format, enjoying the scalability property supported
by the triple store technology [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Hence, we will introduce in the Section which
follows a multidimensional temporal data model for the storage and management
of multi-version ontologies in RDF format. With a simple mapping, the approach
can be adapted to any kind of RDF data serialization format and triple storage
technique (possibly including N3/Notation3, N-triples, TriX, Turtle).
      </p>
      <p>
        Another application domain we could consider is the medical one: for
example, clinical guidelines can play the role of data resources and ontologies can be
used to formalize diseases to which guideline prescriptions can be applied to. At
least three independent temporal dimensions (including transaction time) are of
interest also in such a framework [
        <xref ref-type="bibr" rid="ref4 ref6">4, 6</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>A Multi-temporal RDF Database Model</title>
      <p>Let us start from the defintion of an N -dimensional time domain</p>
      <p>
        T = T1 × T2 × · · · × TN
where Ti = [0, uc)i is the i-th time domain. Right-unlimited time intervals are
expressed as [t, uc), where uc means “Until Changed”, though such a symbol is
often used in temporal database literature [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for transaction time only (whereas,
e.g. “forever” or ∞ is used for valid time). Such naming choice refers to the
modeling of time-varying data, which are potentially subject to change with respect
to all the underlying time dimensions. Actually, we consider ontology versions in
force having a continued validity with respect to all temporal dimensions until
their definition is changed by authorized users.
      </p>
      <p>Hence, we can define a multi-temporal RDF triple as:</p>
      <p>
        (s, p, o | T )
where s is a subject, p is a property, o is an object and T ⊆ T is a timestamp
assigning a temporal pertinence to the RDF triple (s, p, o). We will also call the
(non-temporal) triple (s, p, o) the value or the contents of the temporal triple
(s, p, o | T ). The temporal pertinence of a triple is a subset of the
multidimensional time domain which is represented by a temporal element [
        <xref ref-type="bibr" rid="ref1 ref9">1, 9</xref>
        ], that is
a disjoint union of multidimensional temporal intervals, each one obtained as
the Cartesian product of one time interval for each of the supported temporal
dimensions:
      </p>
      <p>T =</p>
      <p>!
1≤j≤m</p>
      <p>1≤j≤m
Ij =</p>
      <p>! [tjs, tje)1 × [tjs, tje)2 × · · · × [tjs, tje)N
where the unioned N -dimensional intervals are all disjoint (i.e. Ij ∩ Ik = ∅ for
all 1 ≤ j &lt; k ≤ m).</p>
      <p>
        This definition of temporal triple is similar to the ones in [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ], except that
multiple time dimensions and, in particular, temporal element timestamping has
been introduced here.
      </p>
      <p>A multi-temporal RDF database can then be defined as a set of timestamped
RDF triples:</p>
      <p>RDF-TDB = { (s, p, o | T ) | T ⊆ T }
with the integrity constraint:</p>
      <p>∀(s, p, o | T ), (s", p", o" | T ") ∈ RDF-TDB: s = s" ∧ p = p" ∧ o = o" =⇒ T = T "
which requires that no value-equivalent distinct triples exist.</p>
      <p>
        The adoption of timestamps made-up of temporal elements instead of
(multitemporal) simple intervals avoids the duplication of triples in the presence of a
temporal pertinence with a complex shape. For example, consider a
tridimensional time domain and a temporal triple X1 = (s1, p1, o1 | T1), where T1 =
[t", uc) × [t", uc) × [t", uc), which must be partially replaced by a new triple X2 =
(s2, p2, o2 | T2), where T2 = [t"", uc) × [t"", uc) × [t"", uc) and t" &lt; t"". The time
pertinence left to X1 after the modification is T1\T2, which can be decomposed
into a minimal number of three non-overlapping tridimensional intervals (e.g.
[t", uc) × [t", uc) × [t", t"") ∪ [t", uc) × [t", t"") × [t"", uc) ∪ [t", t"") × [t"", uc) × [t"", uc)).
Hence, if we used interval timestamps, at least three copies of the triple with
contents (s1, p1, o1) would be required to cover the region. With temporal elements
indeed, we make the union of such intervals and produce a single temporal
element to timestamp a single copy of X1. In other words, we store different triple
versions only once with a complex timestamp rather than storing multiple copies
of them with a simple timestamp as in [
        <xref ref-type="bibr" rid="ref11 ref17 ref8">8, 11, 17</xref>
        ].
      </p>
      <p>The memory saving we obtain grows with the dimensionality of the time
domain, but it can even be appreciated with a monodimensional time domain,
when the temporal pertinence of a triple is not a convex interval. For example,
the temporal triples:
(s, p, o | [t1, t2))
(s, p, o | [t3, t4))
where t2 &lt; t3, can be merged with temporal element timestamping into a single
triple:</p>
      <p>(s, p, o | [t1, t2) ∪ [t3, t4))
Whereas the same space is basically required for globally storing the timestamps
in both cases (i.e. the space needed by four time points), the space required for
storing one occurrence of the triple contents (s, p, o) is saved in the latter case.
Moreover, with element timestamping, according to the integrity constraint
introduced above, no two temporal triples can have the same non-temporal
contents and, thus, checking of uniqueness and of functional properties constraints
can be performed more easily. In particular, in Sec. 4 we will define the semantics
of modification operations in such a way that the integrity constraints concerning
temporal elements are automatically preserved.</p>
      <p>
        The only retrieval operations we consider in this paper are snapshot queries
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which are used to extract a single temporal version from a multi-version
ontology encoded as a multi-temporal RDF database. The result of a snapshot query
is a standard (non-temporal) RDF graph, which can be interpreted as the
desired ontology version. Given a multi-dimensional time point t¯ = (t1, t1, . . . , tN )
∈ T , we can define the snapshot valid at t¯ as:
      </p>
      <p>
        RDF-TDB(t¯) = { (s, p, o) | (s, p, o | T ) ∈ RDF-TDB ∧ t ∈ T }
¯
Using a SPARQL-like syntax [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] with temporal extensions, the snapshot query
above could be expressed, for instance, via a statement like the following:
      </p>
      <sec id="sec-3-1">
        <title>CONSTRUCT { ?s ?p ?o }</title>
      </sec>
      <sec id="sec-3-2">
        <title>WHERE { TGRAPH &lt;http://myExample.org/tGraph&gt; { ?s ?p ?o | ?t } . FILTER ?t CONTAINS "(t1, t1, . . . , tN )" . }</title>
        <p>where the URI http://myExample.org/tGraph denotes a multi-temporal RDF
triple store. However, the full definition of a multi-temporal extension of SPARQL
is beyond the scope of this paper.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Modification Operations</title>
      <p>
        In this section, we introduce modification operations for the maintenance of a
multi-temporal RDF database and formalize their operational semantics via a
sort of triple calculus analogous to the tuple calculus used for the relational
data model. Algorithms for their execution can be derived from such description
in a straightforward way, although there were room left for optimization.
However, as any modification usually impacts on a few temporal triples at a time,
optimization of their execution should not be a real issue. As far as syntax is
concerned, also for temporal modification operations we do not provide a
complete SPARQL-like syntax, although the examples we provide are inspired by
the SPARQL/Update proposal [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The contribution is a direct application to
temporal RDF of the research work done in designing temporal query languages
for relational and XML databases [
        <xref ref-type="bibr" rid="ref14 ref3">3, 14</xref>
        ].
      </p>
      <p>
        In an N -dimensional temporal model, users can assign a validity to the effects
of a modification by specifying a value for N −1 of the temporal dimensions. Like
in temporal query languages as TSQL2 [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], we assume this can be done through
a VALID clause added to the syntax of modification statements. Hence, in the
following examples, we assume the validity of the modification tv expressed as
an (N − 1)-dimensional temporal element, in the most general case. The N -th
dimension is transaction time, which is automatically managed by the system in
a transparent way (most users may actually ignore its existence). The transaction
time of any modification is always, by definition, [now, uc), where now is the
transaction time when the modification is executed.
      </p>
      <p>
        Notice that the union and difference between two temporal elements involved
in timestamp update operations must be computed carefully in order to preserve
the temporal element format of the result [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. If Pi = "1≤j≤mi Iij , where Iij
are multidimensional intervals, are two temporal elements (i = 1, 2), then the
difference P1 \ P2 can be computed as "1≤j≤m1 I1j \ P2 and it is a temporal
element if I1j \ P2 is a temporal element for each j. To this end, each interval
I1j must be cut into a smaller one or split into two or more multidimensional
intervals if the non-overlapped region has a complex (non-rectangular) shape. If
such splitting only produces non-overlapping intervals, the result is a temporal
element. The union P1 ∪P2 can indeed be computed as P1 ∪(P2 \P1) or (P1 \P2)∪
P2 in order to ensure that the result is always a temporal element. Eventually,
coalescence [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] has to be applied to possibly merge multidimensional adjacent
intervals in order to minimize their number in the resulting element. Although
coalescence in an N -dimensional space is, in general, quite complex, algorithms
for maintaining a minimal decomposition of timestamps after a modification
operation can easily be defined with any number of dimensions (intervals which
must be considered as candidates for coalescence are a quite limited number in
this case).
4.1
      </p>
      <sec id="sec-4-1">
        <title>Insertion</title>
        <p>Assuming tv specifies an (N −1)-dimensional temporal element (transaction time
is implied), the generic statement for the insertion of a temporal triple (s, p, o)
with validity tv into the temporal RDF database can be written as:
INSERT DATA
{s, p, o} VALID tv
Semantics The effect of the insertion can be specified by the following triple
calculus expression, where RDF-TDB and RDF-TDB" are the temporal RDF
database state before and after the modification, respectively:
∪ #(s, p, o | tv × [now, uc)) $$ ¬∃(s, p, o | T ) ∈ RDF-TDB%</p>
        <p>∧ T " = coalesce(T ∪ tv × [now, uc))%
In particular, if a temporal triple (s, p, o | T ) with non-temporal contents (s, p, o)
is already present in the database, then a new timestamp for it is computed as
T " = coalesce(T ∪ tv × [now, uc)) and finally the temporal triple is replaced
by (s, p, o | T ") in the database; otherwise, the triple (s, p, o | tv × [now, uc)) is
simply added to the database.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Deletion</title>
        <p>Assuming tv specifies an (N − 1)-dimensional temporal element (transaction
time is implied), the generic statement for the deletion with validity tv from the
temporal RDF database of all the temporal triples (s, p, o) satisfying a selection
predicate pred can be expressed as:</p>
        <p>DELETE
{s, p, o} VALID tv</p>
        <p>WHERE pred(s, p, o)
Semantics The effect of the deletion can be formalized in triple calculus as
follows:
\ #(s, p, o | T ) $$ ∃(s, p, o | T ) ∈ RDF-TDB
∧ pred(s, p, o) ∧ T ∩ tv × [now, uc) -= ∅%
∧ pred(s, p, o) ∧ T ∩ tv × [now, uc) -= ∅
∧ T " = coalesce(T \ tv × [now, uc))%
The effect is that for each temporal triple (s, p, o | T ) in the database such that
the selection predicate pred(s, p, o) evaluates to true and T ∩tv ×[now, uc) -= ∅,
the triple (s, p, o | T ) is replaced by the triple (s, p, o | T ") with equal contents and
timestamp restricted to T " = coalesce(T \ tv × [now, uc)).
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Modification</title>
        <p>
          Assuming tv specifies again an (N − 1)-dimensional temporal element
(transaction time is implied), the generic statement for the substitution with validity tv
of all the temporal triples (s, p, o) satisfying a selection predicate pred with the
triple (s", p", o") can be expressed as:
While the INSERT and DELETE statements can be considered the only necessary
primitive operations, also more complex modification instructions (e.g. involving
multiple or computed insertions, manipulation of RDF graph stores [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], etc.)
could be easily defined.
        </p>
        <sec id="sec-4-3-1">
          <title>UPDATE {s, p, o}</title>
        </sec>
        <sec id="sec-4-3-2">
          <title>SET {s!, p!, o!} VALID tv</title>
          <p>WHERE pred(s, p, o)
DELETE
{s, p, o} VALID tv
WHERE pred(s, p, o) ;
INSERT DATA
{s!, p!, o!} VALID tv
whose effect is equivalent to the execution in the same transaction of a DELETE
followed by an INSERT defined as follows:
High-level ontology change operations (e.g. to add a new property to a class or
an inheritance link to a class or to a property) can also be defined in terms of
the manipulation primitives presented in this Section.</p>
          <p>For instance, considering lightweight RDFs ontologies, a ADD PROPERTY(Class,
Property, Range, Validity) operator can be introduced to add a new property
with a given range to a class. It can be defined as:</p>
          <p>INSERT DATA
{ Property rdfs:domain Class ;</p>
          <p>rdfs:range Range . } VALID Validity
A CHANGE PROPERTY RANGE(Property, NewRange, Validity) operator, to be used
to change the range of a property, can be defined as:</p>
        </sec>
        <sec id="sec-4-3-3">
          <title>UPDATE { Property rdfs:range ?range }</title>
          <p>SET { Property rdfs:range NewRange } VALID Validity
Finally, a DEL PROPERTY(Class, Property, Validity) operator can be introduced
to delete a property of a class, defined as:</p>
          <p>DELETE
{ Property rdfs:domain Class ;</p>
          <p>rdfs:range ?range . } VALID Validity
Example In order to see an example of their application, let us consider a
bitemporal domain and assume to (pro-actively) define on 1989/12/1 an ontology
valid from 1990 in the current RDF database. Hence, we consider a property P
with range R1 to be added to a class C in this version. This can be done by
means of the command which follows:</p>
          <p>ADD PROPERTY(ex:C, ex:P, ex:R1, FROM ’1990-01-01’)
Assuming the statement was executed on 1989/12/1, its execution caused the
temporal triples which follow:
( ex:P rdfs:range ex:R1 | [1990/1/1, uc) × [1989/12/1, uc) )
to be added to the bitemporal RDF database.</p>
          <p>Then we consider the creation of a new ontology version valid from 2005,
where the range of property P is actually R2, for which the following command
has been used (on 2005/1/1):
After its execution, the triples above are replaced in the new database state by:
( ex:P rdfs:range ex:R1 | [1990/1/1, uc) × [1989/12/1, 2005/1/1) ∪
[1990/1/1, 2005/1/1) × [2005/1/1, uc) )
( ex:P rdfs:range ex:R2 | [2005/1/1, uc) × [2005/1/1, uc) )
Finally, we consider the (retro-active) creation of a new ontology version valid
from 2009, where property P is deleted from class C. This can be done by
executing (now) the statement:</p>
          <p>DEL PROPERTY(ex:C, ex:P, FROM ’2009-01-01’)
The database state after its execution contains the triples which follows:
( ex:P rdfs:range ex:R1 | [1990/1/1, uc) × [1989/12/1, 2005/1/1) ∪
( ex:P rdfs:range ex:R2 | [2005/1/1, uc) × [2005/1/1, now) ∪
[1990/1/1, 2005/1/1) × [2005/1/1, uc) )
[2005/1/1, 2009/1/1) × [now, uc) )
As a result, in the current database state (i.e. as of now w.r.t. transaction time),
property P has range R1 in the ontology version valid from 1990 to 2005 and
range R2 in the version valid from 2005 to 2009. The domain of P is class C in
both such ontology versions. P is no longer a property of class C in the ontology
version valid from 2009.</p>
          <p>Similar macro commands can also easily be defined to manipulate versions
of serialized RDF representations of OWL ontologies.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In this paper, we presented a multi-temporal RDF database model employing
triple timestamping with temporal elements, which best preserves in the
multitemporal setting the scalability property enjoyed by triple storage technologies.</p>
      <p>The data model has been equipped with a snapshot extraction operator and
modification operators, whose semantics has been provided, which allow
knowledge engineers to maintain a multi-temporal RDF database in order to manage
temporal versions of an ontology.</p>
      <p>Some of the effected design choices were motivated by the application
requirements of an ontology-based personalization service of a multi-version repository
of legal documents (or clinical guidelines). It is our intention to explore the
applicability of our approach in application fields with more generic requirements
in future work.</p>
      <p>In future research, we will also consider extensions of the proposed RDF
database model, including the development of a complete multi-temporal
SPARQLlike query language and the adoption of suitable multidimensional index
structures to efficiently support the execution of temporal queries.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Gadia</surname>
          </string-name>
          .
          <article-title>A homogeneous relational model and query language for temporal databases</article-title>
          ,
          <source>ACM Transactions on Database Systems</source>
          ,
          <volume>13</volume>
          (
          <issue>3</issue>
          ):
          <fpage>418</fpage>
          -
          <lpage>448</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mandreoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.R.</given-names>
            <surname>Scalas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Tiberio</surname>
          </string-name>
          .
          <article-title>Management of the citizen's digital identity and access to multi-version norm texts on the semantic web</article-title>
          .
          <source>In Proc. of IPSI-Pescara Symposium, IPSI</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mandreoli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Tibero</surname>
          </string-name>
          .
          <article-title>Temporal modelling of normative documents in XML format</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          ,
          <volume>54</volume>
          :
          <fpage>327</fpage>
          -
          <lpage>354</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mandreoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martoglia</surname>
          </string-name>
          .
          <article-title>Issues in personalized access to multiversion XML documents</article-title>
          . In E. Pardede, editor,
          <source>Open and Novel Issues in XML Database Applications</source>
          , pages
          <fpage>199</fpage>
          -
          <lpage>230</lpage>
          . IGI Global,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mandreoli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Martoglia</surname>
          </string-name>
          , E. Ronchetti,
          <string-name>
            <given-names>M.R.</given-names>
            <surname>Scalas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Tiberio</surname>
          </string-name>
          .
          <article-title>Ontology-based personalization of E-government services</article-title>
          . In C. Mourlas and P. Germanakos, editors,
          <source>Intelligent User Interfaces</source>
          , pages
          <fpage>167</fpage>
          -
          <lpage>203</lpage>
          . IGI Global,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Mandreoli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Martoglia</surname>
          </string-name>
          .
          <article-title>Ontology-based personalization of clinical guidelines</article-title>
          .
          <source>In preparation.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.R.</given-names>
            <surname>Scalas</surname>
          </string-name>
          .
          <article-title>The Valid Ontology: A simple OWL temporal versioning framework</article-title>
          .
          <source>In Proc. of SEMAPRO Conf., IEEE Computer Society</source>
          ,
          <year>2009</year>
          (in press).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hurtado</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Vaisman</surname>
          </string-name>
          .
          <article-title>Introducing time into RDF</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          ,
          <volume>19</volume>
          (
          <issue>2</issue>
          ):
          <fpage>207</fpage>
          -
          <lpage>218</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Jensen</surname>
          </string-name>
          , C. E. Dyreson (Eds.) et al.
          <article-title>The consensus glossary of temporal database concepts - February 1998 version</article-title>
          . In O. Etzion,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jajodia</surname>
          </string-name>
          , and S. Sripada, editors,
          <source>Temporal Databases - Research and Practice</source>
          , pages
          <fpage>367</fpage>
          -
          <lpage>405</lpage>
          . SpringerVerlag,
          <year>1998</year>
          . LNCS No.
          <volume>1399</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Web Ontology Language. W3C Consortium</surname>
          </string-name>
          , http://www.w3.org/2004/OWL/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pugliese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Udrea</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.S.</given-names>
            <surname>Subrahmanian</surname>
          </string-name>
          .
          <article-title>Scaling RDF with Time</article-title>
          .
          <source>In Proc. of WWW Conf.</source>
          , pages
          <fpage>605</fpage>
          -
          <lpage>614</lpage>
          , ACM Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <article-title>Resource description framework</article-title>
          .
          <source>W3C Consortium</source>
          , http://www.w3.org/RDF/.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>K.</given-names>
            <surname>Rohloff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Emmons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ryder</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Summer</surname>
          </string-name>
          .
          <article-title>An evaluation of triple-store technologies for large data stores</article-title>
          .
          <source>In Proc. of OTM Workshops</source>
          , pages
          <fpage>1105</fpage>
          -
          <lpage>1147</lpage>
          . Springer-Verlag,
          <year>2007</year>
          . LNCS No.
          <volume>4806</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. R.T. Snodgrass (ed.), I. Ahn,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ariav</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Batory</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Clifford</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.E.</given-names>
            <surname>Dyreson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Elmasri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Grandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.S.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.</surname>
          </string-name>
          <article-title>K¨afer</article-title>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kline</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kulkarni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.Y.</given-names>
            <surname>Cliff Leung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lorentzos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramakrishnan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.F.</given-names>
            <surname>Roddick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Segev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.D.</given-names>
            <surname>Soo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.M.</given-names>
            <surname>Sripada</surname>
          </string-name>
          .
          <article-title>The TSQL2 Temporal Query Language</article-title>
          . Kluwer Academic Publishers,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <article-title>SPARQL query language for RDF</article-title>
          .
          <source>W3C Consortium</source>
          , http://www.w3.org/TR/ rdf-sparql-query/.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. SPARQL/Update.
          <article-title>A language for updating RDF graphs</article-title>
          . Jena wiki, http://jena. hpl.hp.com/~afs/SPARQL-Update.
          <source>html.</source>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>J. Tappolet</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          . Applied temporal RDF:
          <article-title>Efficient temporal querying of RDF data with SPARQL</article-title>
          .
          <source>In Proc. of ESWC Conf.</source>
          , pages
          <fpage>302</fpage>
          -
          <lpage>322</lpage>
          . SpringerVerlag,
          <year>2009</year>
          . LNCS No.
          <volume>5554</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>