<!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>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Egor V. Kostylev University of Edinburgh</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Provenance and annotation are intimately con- temporal RDF [10] propose methods of adding annotations nected. On the one hand provenance can be regarded as a to RDF triples to express belief, trust, or temporal properties. form of annotation, on the other hand, in order to understand Can we simply follow the work for relational databases in nheoewd taoncoancvceoyunatnnofothaotiwontshefrodmatasowuarscedderaitvaedto-deitrsivperdovdeantaa,nwcee. developing a general model for such annotations? Here we Following a successful line of database research in which elements have to start by looking not at query languages for RDF, of a database are annotated with algebraic terms that describe but at the inference rules for the ontologies such as those the provenance of those elements, we develop an algebra of of RDFS [1]. Given annotations on the base triples, what annotations for RDFS that differs from that developed for should be the annotations on an inferred triple? Indeed in [15], rcealnatbioenaulseddatfaobracsoesm. pWuteinsghoawnnhootwatiosuncshonaninafnenrroetdatitorniplaelsgetbhraat [16], [12], with an initial goal applying fuzzy logic to RDFS provide information on belief, trust and temporal aspects of data proposes an algebra similar in many respects to that of [8]. as well as providing a framework for default reasoning. In this paper we propose a somewhat more general - and possibly simpler - algebra to serve this purpose. Our proposals I. INTRODUCTION differ from the semirings in [8] in two ways. First, there are With the increasing interest in provenance in both databases situations in which we do not want commutativity and second, and ontologies, there have been a number of proposals and while the number of triples inferred in an RDFS graph is systems for annotation of the underlying data with information always finite, the derivations can be unbounded. We therefore concerning time, belief, and various aspects of provenance. need an extra condition to prevent “infinite annotations”. This The question that has been repeatedly posed in databases [17], condition precludes the possibility of bag semantics, which is [5], [2] is what happens to these annotations when a query useful for relational algbra but appears to be inapplicable to is applied? Are they ignored or are they somehow passed ontologies. Also in [8] there is a compact representation - a through the query? In fact generic prototypes [4] and systems polynomial - of terms in the semiring algebra. In the algebra that are specific to some domain [6] have been developed we develop, the compact representation is somewhat different. for propagating annotations through queries. Suppose, for To introduce annotation algebras, we give two simple examexample, we take two tables S and T in which the individual ples of annotating an RDF graph shown in Fig. 1(a) (a dashed tuples have been annotated. How should we annotate the tuples arrow represents a triple, which can be inferred from the rest in the join of S and T ? An obvious answer is to put on of the graph). any output tuple the union of the annotations on the two Example 1: A temporal extension of RDF was introduced contributing tuples. This does not always make sense; for in [10], [9]. It consists of attaching to every RDF triple a set example if the input tuples are annotated with the set of people intervals that represents the times at which the triple is valid. who believe that this tuple is true or with the set of database An example of a temporal annotation of the graph is shown in versions for which the tuple is actually in the database, it Fig. 1(b): Picasso worked as a cubist from 1908 to 1919, paints might be more appropriate to annotate a join tuple with the are created by painters at least since engravings in Chauvetintersection of the relevant annotations. Pont-d'Arc cave from about 29,000BC, and so on. The point This problem has resulted in a variety of proposals for here is that an annotation for the inferred triple was obtained propagating annotations through queries. Notably, by using by an intuitive calculation (f1908 1919g \ f1906 1921g) [ a semiring model for annotations, in [8] a tuple is annotated (f1937g \ f 29; 000 N owg) = f1908 1919; 1937g. with a term in a semiring algebra that describes the provenance Example 2: In [15] fuzzy annotations of RDF are used to of the tuple - how it was formed by the operations of the describe degree of trust. To every triple a real in the range relational query that constructed it. By suitable instatiatons [0; 1] is attached. Such an annotation is shown in Fig. 1(c). The operations of the semiring, one can realize various extensions annotation for the inferred triple was calculated as max(0:8 to relational databases such as probabilistic databases, multi- 0:4; 0:3 1) = 0:32. set semantics and certain kinds of constraint databases. The There is an obvious similarity between these examples: the semiring model also generalizes a number of other models for calculations are both of the general form (a b) (c d), provenance [5], [2]. and the calculations for the inferred triple are performed by Turning to ontologies, proposals have also been suggested suitably instantiating the operators and . In fact [16], for the annotation of RDF [13]. Named graphs [3] and both of the annotation domains form so-called BL-algebras</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>type
type</p>
    </sec>
    <sec id="sec-2">
      <title>Painter</title>
      <p>type:
0.8
type:
0.32</p>
      <p>Paints : 0.3
(c)
dom: 1
[11], which in general preserve the properties of the deductive
system [16].</p>
      <p>Before describing these constructions in more detail we
should briefly connect this work with the general issue of
provenance. Our first observation is that an algebraic
annotation or a triple of the form we have described is a synopsis
of how that triple was derived – which is surely part of
its provenance. The second is that exogenous provenance
information such as who created a triple or when it was created
can be added following the proposals of [3]. We would also
like to compute such annotations for an inferred triple. Our
proposals provide a method for tranferring the provenance
annotations of explict triples to those that are derived.</p>
      <p>Outline. This work has two aims. The first is to determine
what algebraic structure is necessary for an annotation domain
to keep the behavior of the deductive system the same as in
the standard case. The second is to find “the most general”
of such structures, which allows annotation of RDF graphs
by elements of the general structure, apply inference rules,
and then obtain annotations from specific domains on demand.
In the following sections we review RDFS, introduce a new
annotation algebra and provide some evidence that this is the
appropriate algebra for RDFS. We give a freeness result that
allows us to represent the terms of this annotation algebra and
give some examples of the use of the algebra.</p>
    </sec>
    <sec id="sec-3">
      <title>II. PRELIMINARIES</title>
      <p>Given a set of RDF URI references U1, let T be the set of
RDF triples of the form (s; p; o) 2 U U U. Here s; p and
o are called subject, predicate and object correspondingly. An
RDF graph (or simply graph) is a finite set of triples G T .</p>
      <p>The RDF specification[13] includes RDF Schema
(RDFS) [1] which is a vocabulary of reserved words designed
to describe relationships between resources and properties.
In this work we use the df = fsp; sc; type; dom; rangeg
fragment of RDFS [14]. The elements of df represent
sub-property, sub-class, domain, and range properties
correspondingly. It is widely accepted that df is a stable
core of RDFS.</p>
      <p>An interpretation of an RDF graph is a tuple I =
( R; P ; C ; P J K; CJ K; I ) where
– R is a nonempty set of resources,
1For the sake of simplicity we do not consider blank nodes and literals.
Their inclusion does not change the results of this work.
–
– C
– P J K :
– C :
– I J: KU !</p>
      <p>P is a set of property names (not necessarily disjoint
from R),</p>
      <p>R is a set of classes,
P ! 2 R R is a property extension function,
C ! 2 R is a class extension function,</p>
      <p>P is an interpretation mapping.</p>
      <p>R [
The interpretation I is a model for a graph G over df, denoted
by I j= G, iff the conditions in Tab. I hold2. A graph G entails
G0, denoted G j= G0, if every model of G is a model of G0.</p>
      <p>A sound and complete deductive system for entailment [14]
is presented in Tab. II. An instantiation of an inference rule r
from the system is a replacement of the variables A; B; C; X ,
and Y, occurring in the rule, by references from U. If there
is an instantiation RR0 of r such that R G, then the graph
G0 = G [ R0 is the result of an application of r to G. A
graph G0 is inferred from G, denoted by G ` G0, iff G0 is
obtained from G by successively applying rules in Tab. II.
This entailment can be checked by computing the closure of
G, which is the maximal graph which can be inferred from
G. It can be done in quadratic time [14].</p>
    </sec>
    <sec id="sec-4">
      <title>III. ANNOTATED RDFS</title>
      <p>Definition 1: Given an algebra K with an elements set K
containing a distinguished element ? a K-annotated RDF
graph (or simply an a-graph, if K is clear) is a function
G : T ! 2K such that for each t 2 T holds ? 2 G(t)
and the set Supp(G) = ft : v j v 2 G(t); v 6= ?g is finite.</p>
      <p>If v 2 G(t) we write t : v 2 G and call it an a-triple.
An a-graph G is schema-acyclic, if the subgraphs f(s; e; o) :
v j (s; e; o) : v 2 Supp(G)g; e = sc; sp; do not contain
non-trivial loops. The semantics for a-graphs is given in the
following definitions.</p>
      <p>Definition 2: A K-annotated interpretation is a tuple I =
( R; P ; C ; P J K; CJ K; I ) where R; P ; C and I are
the same as for the standard interpretation and P J K; CJ K are
defined as follows:
– for each p 2 P holds P JpK : R R ! K,
– for each c 2 C holds CJcK : R ! K.</p>
      <p>
        To define models for annotated RDFS we need more
structure on the algebra K. Let and be binary operations on
K and ?, &gt; be distinct constants in it. For every a; b 2 K
2The form of conditions in our definition of model is slightly different
from that in [14], but they are equivalent per se. It is done to simplify the
comparison with notion of model for annotated RDFS given in Sect. III.
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Simple interpretation:
      </p>
      <p>
        – for each (s; p; o) 2 G holds pI 2
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Properties and classes:
– for each e 2 df holds eI 2
–––– iiiiffff ((((xxxx;;;; yyyy)))) 2222 PPPP JJJJstsdpycoIIpmIKKeIKtthhKteehtnnehnexxnx;;yyy2222
– if (x; y) 2 P JrangeI K then x 2
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Sub-property:
– (p; p) 2 P JspI K;
      </p>
      <p>P ;</p>
      <p>P and (sI ; oI ) 2 P JpI K.</p>
      <p>P ;
C ;
C ;
C and y 2</p>
      <p>C and y 2</p>
      <p>P ;</p>
      <p>P .</p>
      <p>– if (p; q); (q; r) 2 P JspI K then (p; r) 2 P JspI K;</p>
      <p>J K and (p; q) 2 P JspI K then (x; y) 2 P JqK.</p>
      <p>
        – if (x; y) 2 P p
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) Sub-class:
– (c; c) 2 P JscI K;
– if (c; d); J(dK; ea)nd2(Pc;Jds)cI2K PthJesncI(cK; teh)en2 xP 2JsCcIJKd;K.
      </p>
      <p>
        – if x 2 C c
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) Typing:
– (x; c) 2 P JtypeI K iff x 2 CJcK;
      </p>
      <p>J K and (c; p) 2 P JJrdaonmgIeKIthKetnhexn 2y C2JCcKJ;cK.
– if (x; y) 2 P JpK and (c; p) 2 P
– if (x; y) 2 P p
we write a b iff there exists c 2 K such that a c = b.
The addition operation will be used to combine annotations
for the same triple and the ? constant represents the fact, that
there is no information about a triple. The product operation
will be used to join annotations when applying inference
rules and &gt; represents the maximal annotation.</p>
      <p>Definition 3: Let K = hK; ; ; ?; &gt;i be an algebra of
type (2; 2; 0; 0). The K-annotated interpretation I is a model
for an a-graph G, denoted I j= G, iff the conditions in Tab. III
hold. An a-graph G entails H , denoted G j= H , if for every
I j= G holds I j= H .</p>
      <p>By these definitions, each (non-annotated) RDF graph G
can be considered as an a-graph G0 = ft : &gt; j t 2 Gg [ E,
if K = f?; &gt;g and E = ft : ? j t 2 T g. In this case, the
definition of model for an a-graph coincides with the standard.</p>
      <p>IV. A DEDUCTIVE SYSTEM FOR ANNOTATED RDFS AND</p>
      <p>DIOIDS</p>
      <p>
        Definition 4: An algebra K = hK; ; ; ?; &gt;i is a dioid
iff it is an idempotent semi-ring, i.e.
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) hK; ; ?i is a semilattice, i.e. for each a; b, and c hold:
(a b) c = a (b c) (associativity), a b = b a,
(commutativity), a ? = a (neutral element), a a = a
(idempotence);
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) hK; ; &gt;i is a monoid, i.e. for each a; b, and c hold:
(a b) c = a (b c) (associativity), a &gt; = a = &gt; a
(neutral element);
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) is left and right distributive over , i.e. for each a; b,
and c hold: a (b c) = (a b) (a c), (b c) a =
(b a) (c a);
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) is ?-annihilating, i.e. for each a holds ? a = ? =
a ?.
      </p>
      <p>
        A dioid is &gt;-dioid iff
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) is &gt;-annihilating, i.e. for each a holds &gt; a = &gt;.
      </p>
      <p>
        Note, that &gt;-annihilation entails idempotence from (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>An instantiation of a rule from the deductive system in
Tab. IV is a replacement of variables A; B; C; X , and Y by
elements of U, and variables v; v1; v2, and v3 by elements of
K, such that all relations for annotations hold. An application
of a rule to an a-graph G and a deduction of an a-graph G0
from G, denoted by G ` G0, is defined exactly the same way
as for the standard case.</p>
      <p>Note, that the system in Tab. IV differs from the one in
Tab. II only by the presence of annotations and the
generalisation rule ( ) which combines annotations for the same triple.
Thus, that is natural to expect the new system to behave the
same as the standard one. Particularly, they should coincide if
K = f?; &gt;g. To obtain it we need some properties of K.</p>
      <p>
        Definition 5: Let R be the set of all inference rules of the
form T1 T2 from Tab. IV and I ns(r) the set of all instantiations
of a rulTe r 2 R.
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) A set of rules R0 R is associative, iff for every r; r0 2
hRo0l,ds 1 452 =; 15050.40 2 I ns(r), and 4 5 3 ; 2 40 3 2 I ns(r0)
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) A rule r 2 R is commutative, iff for every 1 2 2 I ns(r)
holds 2 1 2 I ns(r).
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) A rule r 2 R is idempotent, if 2 I ns(r) for every .
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) A set of rules R0 R is left distributive over r 2 R
if for every r0 2 R0, 2 4 3 ; 40 50 400 2 I ns(r), and
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Simple interpretation:
      </p>
      <p>
        – for each (s; p; o) : v 2 G holds pI 2 P and v
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Properties and classes:
– for each e 2 df holds eI 2 P ;
–– PP JJsspcII KK((xx;; yy)) iiss ddeefifinneedd oonnllyy ffoorr xx;; yy 22 P ;
C ;
C ;
C and y 2 P ;
      </p>
      <p>
        C and y 2 P .
–– PP JJdtoympeIIK(Kx(x;y;y))isisdedfiefinendedonolnylyfofrorxy22
– P JrangeI K(x; y) is defined only for x 2
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Sub-property:
– P JspI K(p; p) = &gt;,
P JpI K(sI ; oI ).
      </p>
      <p>
        –– PP JJsppK(IxK;(py;)q) P JPsJpsIpKI(pK(;qq;)r) P JPqJKs(xp;IyK()p.; r);
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) Sub-class:
– P JscI (c; c) = &gt;,
– P JscI KK(c; d) P JscI K(d; e) P JscI K(c; e);
– CJcK(x) P JscI K(c; d) CJdK(x).
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) Typing:
– P JtypeI K(x; c) = CJcK(x);
–– PP JJppKK((xx;; yy)) PP JJdroamngIeK(IcK;(pc); p) CJCcKJ(cxK)(;y).
      </p>
      <p>
        (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Sub-property:
(a) (A; sp; B) : v1 (B; sp; C) : v2 ;
      </p>
      <p>(A; sp; C) : v1 v2
(b) (X ; A; Y) : v1 (A; sp; B) : v2 :
(X ; B; Y) : v1 v2
(*) Generalisation:
(X ; A; Y) : v1 (X ; A; Y) : v2 :</p>
      <p>(X ; A; Y) : v1 v2
(a) (X ; A; Y) : v ; (b)
(A; sp; A) : v
(e; sp; e) : &gt;</p>
      <p>As in the standard case, the important notion is the closure
cl(G) = f j G ` f gg of an a-graph G. To compute it we
need a representation of an a-graph G, which is a finite set of
a-triples RG such that RG [ E = G, E = ft : ? j t 2 T g. The
set Supp(G) by the definition is a representation of G, but we
also want to have a possibility to work with representations
which contain an finite number of ?-annotated triples.</p>
      <p>Proposition 2: Let G be an a-graph and K a &gt;-dioid. For
every representation RG of G there exists an representation
Rcl(G) of cl(G) which can be computed in polynomial time in
the size of RG if the complexities of and are polynomial
bounded.</p>
      <p>Let K and K0 be two algebras. For any function h : K ! K0
and K-annotated graph G denote h(G) the set of K0-annotated
triples formed from G by applying h to each annotation.</p>
      <p>Proposition 3: Let h : K ! K0 and K; K0 be &gt;-dioids. For
every K-annotated graph G the set h(G) is a K0-annotated
graph and holds cl(h(G)) = h(cl(G)) iff h is a dioid
homomorphism.</p>
    </sec>
    <sec id="sec-5">
      <title>V. STRING DIOIDS FOR RDFS ANNOTATION</title>
      <p>Prop. 3 enables us to obtain an a-graph from another one
without recomputing annotations for inferred triples. The next
step is to develop a “universal” annotation, i.e. an annotation
from which we can obtain any other one by applying a
corresponding dioid homomorphism.</p>
      <p>Given an alphabet define an subsequence order on the set
of words : u u0 iff for some u1; : : : ; un; w1; : : : wn 1 2
holds u = u1u2 : : : un and u0 = u1w1u2w2 : : : wn 1un. A
finite set m is an antichain if for all u u0, u; u0 2 m,
holds u = u0. Let min(m) be the set of minimal elements
(w.r.t. ) of m. On the set of antichains M [ ] we define:
m1 + m2 = min(m1 [ m2);
m1 m2 = min(fw1w2 j w1 2 m1; w2 2 m2g);
Call M[ ] = hM [ ]; +; ; ;; f gi, where is the empty
string, a string dioid over generators . Note, that a string
dioid is a &gt;-dioid. The following proposition says, that it is
“the most general” of all &gt;-dioids.</p>
      <p>
        Proposition 4: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Given a set of generators the string
dioid M[ ] is the free &gt;-dioid on , i.e. for any &gt;-dioid
Kf = hK; ; ; ?; &gt;i and a valuation : ! K there
exists a unique homomorphism Eval : M [ ] ! K such that
for each a 2 holds Eval (a) = (a).
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) The operations of the string dioid + and can be
computed in polynomial time.
      </p>
      <p>Hence, string dioids consititute an important and general
subclass of &gt;-dioids. We now show how they can be applied
to annotate RDF graphs. Let G be a K-annotated graph and
X a set of triple ids of triples from Supp(G). We associate to
G an “abstract” version which is a (X [ ;)-annotated graph G
consisted of the same triples as G, but the annotation of each
of them is its id if it has one, and ; otherwise.</p>
      <p>Theorem 2: For every K-annotated graph G holds cl(G) =
Eval cl(G), where : X ! K is a valuation which
associates the annotation of an a-triple in G to its id.</p>
      <p>This theorem gives rise to the following strategy for
annotating RDF graphs. Given a graph G we are to annotate
it with elements from several domains. However, we would
like to infer triples and their annotations only once, without
recomputing the annotations for each annotation domain. In
this case we construct an “abstract” version G of G by
annotating triples with their ids. Then we can apply inference
rules and obtain an abstract annotation from the string dioid
over the set of ids for each triple. Finally, as soon as we need
to get annotations from a specific domain we need to make
sure that it is a &gt;-dioid, define a homomorphism by attaching
specific annotations to triples in G and then apply it to abstract
annotations of previously inferred triples.</p>
    </sec>
    <sec id="sec-6">
      <title>VI. APPLICATIONS TO SPECIFIC MODELS</title>
      <p>In this section we introduce several annotation domains for
RDF graphs those are &gt;-dioids.</p>
      <p>Temporal RDF [16]. This model treats the Ex. 1. The
temporal domain KT = hKT ; T ; T ; ?T ; &gt;T i is defined as
follows. Consider temporal intervals [ 1; 2] where 1;2 2
P = Z [ f 1; +1g, 1 &lt; 2. Two intervals [ 1; 2]
and [ 3; 4] are adjacent iff 2 + 1 = 3. The set KT
is the set of all pairwise disjoint and non-adjacent sets of
intervals. On KT a partial order is defined: 1 2 iff
for each I1 2 1 there exists I2 2 2 such that I1 I2.
For KT we have: 1 T 2 = inff j i; i = 1; 2g,
1 T 2 = supf j i; i = 1; 2g, ?T = ; and &gt;T = P.
The domain KT forms an BL-algebra and hence a &gt;-dioid.</p>
      <p>Fuzzy RDF [15] treats the Ex. 2. The domain here is KF =
h[0; 1]; max; F ; 0; 1i, where F is any t-norm of BL-algebra.
If F is an ordinary multiplication as in Ex. 2, then the domain
becomes probabilistic. As KT domain, KF is a &gt;-dioid.</p>
      <p>Default RDF. In both of the previous domains the product
operation in the dioid is commutative. Next we introduce an
example of -noncommutative annotations.</p>
      <p>Suppose we want to represent – in an RDF graph –
information about an attribute attached to resources modelled
by the graph. The straightforward way is to introduce a new
property to the vocabulary of the graph and handle it as usual.
Nevertheless, in some situations this way can be not optimal:
If we have a broad system of classes and values of the attribute
for subclasses and elements of a class are usually the same,
then it is natural to keep the default attribute value for the
class and the value for a resource only if it differs from usual
one of the class it belongs to.</p>
      <p>For a substantiation, consider an RDF graph denoted in
Fig. 2 representing a (part of) botanical taxonomy3. The
triples of this graph have annotations which store values
of an attribute PublishedBy for every taxon in the graph.
The division Pinophyta was introduced by Carl Linnaeus,
so the triple (P lantae; sc; P inophyta) is annotated by
Linnaeus. The subsequent taxons down to family
Araucariaceae keep this attribute value, so we annotate all
sctriples between Pinophyta and Araucariaceae with a special
value ? which means “derived from above”. The same value
keeps for genus Araucaria and species Araucaria Araucana.
But genus Wollemia was introduced by David Noble as
well as its only species Wollemia Nobilis, so the
annotations for the triples (Araucariaceae; sc; W ollemia) and
(W ollemia; sc; W:N obilis) are N oble and ?
correspondingly. Thus, to find out from the graph who introduced a taxon
we need to go up from its node along the tree until we find an
edge with an annotation differs from ?. An annotation value
for a triple here represents not the value of the attribute by
itself, but its difference with the value of higher triple in the
tree. Hence, it is natural to phisically keep such annotations in
a memory only it they differ from ?. That is why if the value
of an attribute for a resource in most cases is determined by a
class it belongs to and the number of attributes are large, the
advantage in memory can be sufficient.</p>
      <p>Before we define the default domain formally, note, that the
situation in general case can be more complicated than in the
latter example, because a df subgraph of a graph does not
nesessarily have a tree structure. Therefore, in certain cases we
need to combine different annotations for a triple. To this effect
we require a set of attirbute values to have a union operation
and the lowest element, i.e. to be a semilattice. In many cases
(as in the taxonomy example) this set has no structure, but it is
possible to enrich it with the lowest element Unknown and the
greatest element Error. The latter is justified by situations
3This is just an example and the actual information may be incorrect.
. . .</p>
      <p>sc: ?</p>
      <p>Plantae sc: Linnaeus Pinophyta sc: ? . . .
sc: N oble
when from one source we get an attribute value for a resource,
but from another source we get a different value for the same
resource which contradicts with the first one. The union of this
information is inconsistent and requires a manual intervention,
which can be flagged by Error annotation.</p>
      <p>Let A be an attribute with a domain hA; t; 0i which is a
semilattice with union t and the lowest element 0. Consider an
A-default domain KA = hA? [ f??; &gt;?g; A; A; ??; &gt;?i,
where A? = (A fT rue; F alseg) and ??, &gt;? are new special
symbols. Note, that the meanings of ?? and an annotation
with 0 are different: The first one says that a triple is not in
the support of a graph and the second says that the value of
the attribute is minimal according to t. The second boolean
component of A? corresponds to ? in the taxonomy example
above, i.e. it is T rue in an annotation for a triple iff the actual
value of the attribute is the union of the first component of the
annotation with values those can be derived from triples above,
and F alse overwise. The operations are defined as follows:
(a1; b1)
(a1; b1)</p>
      <p>A (a2; b2) = (a1 t a2; b1 _ b2);
A (a2; b2) =
(a1 t a2; b2) iff b1 = T rue;
(a1; b1) iff b1 = F alse:
These operations extend to elements ?? and &gt;? in a way to
keep the properties of ? and &gt; in the dioid. Next, we describe
the meaning of this operations. The addition A is applied
when we union annotations about the same triple. Hence, the
values a1 and a2 are joined by the semilattice operation t
and the possibility to derive values from a df structure above
exists only if it exists in any of the considering annotations.
The product A is applied when we infer triples by transitivity
of sc or similar inference rule from Tab. IV. If b1 = T rue we
union the current value a1 with the derived value a2 and the
possibility of father deriving depends on b2. If b1 = F alse, we
just keep the annotation (a1; b1) which override any annotation
-noncommutative &gt;-dioid.
from a structure above. Finally, KA can be easily checked to
be</p>
      <p>To use the A-default dioid KA for storing values of an
attribute A for resources we assume (0; T rue)-annotation for
a triple by default and do not keep it in a memory. As soon as
we need the real value of the attribute for a resource a we infer
a triple (a; type; r) and get the first component of annotation
for it. (Here r is the root of df subgraph of the considered
graph; if it does not exist, we can always introduce it.)</p>
    </sec>
    <sec id="sec-7">
      <title>VII. CONCLUSIONS</title>
      <p>Although annotation algebras have been studied for database
query languages [8] and have also recently been investigated
for RDF query languages [7], we have suggested an alternative
and more natural algebra for the annotation of RDFS, and we</p>
    </sec>
    <sec id="sec-8">
      <title>A. araucana</title>
      <p>W. nobilis
have given some examples of its use. There may be some
mileage to be gained by combining these two algebras. One of
the applications of the proposed algebra is a system for default
reasoning about certain annotations on RDF resources, which
may also prove to be a useful mechanism for physically storing
those annotations. We would like to find similar mechanisms
for efficiently storing default annotations on triples.</p>
      <p>We are grateful to Marcelo Arenas, Boris Motik, Floris
Geerts and Alex Simpson for helpful discussions. This work
was supported by a grant from the UK Engineering and
Physical Sciences Research Council.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          and
          <string-name>
            <given-names>R. V.</given-names>
            <surname>Guha</surname>
          </string-name>
          .
          <source>RDF Vocabulary Description Language 1</source>
          .0:
          <string-name>
            <given-names>RDF</given-names>
            <surname>Schema. W3C Recommendation</surname>
          </string-name>
          . http://www.w3.org/TR/ rdf-schema/, Feb.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Buneman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Khanna</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Tan</surname>
          </string-name>
          .
          <article-title>Why and Where: A Characterization of Data Provenance</article-title>
          .
          <source>In ICDT</source>
          <year>2001</year>
          , volume
          <volume>1973</volume>
          <source>of LNCS</source>
          , pages
          <fpage>316</fpage>
          -
          <lpage>330</lpage>
          . Springer,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Carroll</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Hayes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Stickler</surname>
          </string-name>
          .
          <article-title>Named graphs, provenance and trust</article-title>
          .
          <source>In WWW</source>
          , pages
          <fpage>613</fpage>
          -
          <lpage>622</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>L.</given-names>
            <surname>Chiticariu</surname>
          </string-name>
          , W.-C. Tan, and
          <string-name>
            <surname>G. Vijayvargiya.</surname>
          </string-name>
          <article-title>DBNotes: a post-it system for relational databases based on provenance</article-title>
          .
          <source>In SIGMOD '05: Proceedings of the 2005 ACM SIGMOD international conference on Management of data</source>
          , pages
          <fpage>942</fpage>
          -
          <lpage>944</lpage>
          , New York, NY, USA,
          <year>2005</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Cui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Widom</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Wiener</surname>
          </string-name>
          .
          <article-title>Tracing the lineage of view data in a warehousing environment</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .,
          <volume>25</volume>
          (
          <issue>2</issue>
          ):
          <fpage>179</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Dowell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Jokerst</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Day</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Eddy</surname>
          </string-name>
          , and
          <string-name>
            <surname>L. Stein.</surname>
          </string-name>
          <article-title>The Distributed Annotation System</article-title>
          .
          <source>BMC Bioinformatics</source>
          ,
          <volume>2</volume>
          :
          <fpage>7</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Flouris</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Fundulaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pediaditis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theoharis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Christophides</surname>
          </string-name>
          .
          <article-title>Coloring RDF Triples to Capture Provenance</article-title>
          . In International Semantic Web Conference, pages
          <fpage>196</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Green</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Karvounarakis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Tannen</surname>
          </string-name>
          .
          <article-title>Provenance semirings</article-title>
          .
          <source>In PODS '07: Proceedings of the twenty-sixth ACM SIGMOD-SIGACTSIGART symposium on Principles of database systems</source>
          , pages
          <fpage>31</fpage>
          -
          <lpage>40</lpage>
          , New York, NY, USA,
          <year>2007</year>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Hurtado</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Vaisman</surname>
          </string-name>
          .
          <article-title>Introducing Time into RDF</article-title>
          .
          <source>IEEE Trans. on Knowl. and Data Eng</source>
          .,
          <volume>19</volume>
          (
          <issue>2</issue>
          ):
          <fpage>207</fpage>
          -
          <lpage>218</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Gutie´rrez, C. A. Hurtado, and</article-title>
          <string-name>
            <given-names>A. A. Vaisman. Temporal</given-names>
            <surname>RDF. In</surname>
          </string-name>
          <string-name>
            <surname>ESWC</surname>
          </string-name>
          , pages
          <fpage>93</fpage>
          -
          <lpage>107</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ha</surname>
          </string-name>
          <article-title>´jek. Metamathematics of Fuzzy Logic (Trends in Logic)</article-title>
          . Springer,
          <volume>1</volume>
          <fpage>edition</fpage>
          , November
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hogan</surname>
          </string-name>
          , G. Lukacsy,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lopes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Straccia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker. RDF Needs</surname>
          </string-name>
          <article-title>Annotations</article-title>
          .
          <source>In Proceedings of W3C Workshop - RDF Next Steps. W3C</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>F.</given-names>
            <surname>Manola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Miller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. McBride. RDF</given-names>
            <surname>Primer</surname>
          </string-name>
          ,
          <article-title>W3C Recommendation</article-title>
          . http://www.w3.org/TR/REC-rdf-syntax/, Feb.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mun</surname>
          </string-name>
          <article-title>˜oz</article-title>
          , J. Pe´rez, and
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Gutie´rrez. Minimal Deductive Systems for RDF</article-title>
          .
          <source>In ESWC</source>
          , pages
          <fpage>53</fpage>
          -
          <lpage>67</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>U.</given-names>
            <surname>Straccia</surname>
          </string-name>
          .
          <article-title>A Minimal Deductive System for General Fuzzy RDF</article-title>
          .
          <source>In Proceedings of the 3rd International Conference on Web Reasoning and Rule Systems (RR-09), number 5837 in Lecture Notes in Computer Science</source>
          , pages
          <fpage>166</fpage>
          -
          <lpage>181</lpage>
          . Springer-Verlag,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>U.</given-names>
            <surname>Straccia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Lopes</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Lukacsy, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          .
          <article-title>A General Framework for Representing and Reasoning with Annotated Semantic Web Data</article-title>
          .
          <source>In Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence (AAAI-10)</source>
          . AAAI Press,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y. R.</given-names>
            <surname>Wang</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Madnick</surname>
          </string-name>
          .
          <article-title>A Polygen Model for Heterogeneous Database Systems: The Source Tagging Perspective</article-title>
          . In VLDB, pages
          <fpage>519</fpage>
          -
          <lpage>538</lpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>