<!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>Integrity Constraints for Linked Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alcatel</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lucent Bell Labs</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Linked Data makes one central addition to the Semantic Web principles: all entity URIs should be dereferenceable to provide an authoritative RDF representation. URIs in a linked dataset can be partitioned into the exported URIs for which the dataset is authoritative versus the imported URIs the dataset is linking against. This partitioning has an impact on integrity constraints, as a Closed World Assumption applies to the exported URIs, while a Open World Assumption applies to the imported URIs. We provide a de nition of integrity constraint satisfaction in the presence of partitioning, and show that it leads to a formal interpretation of dependency graphs which describe the hyperlinking relations between datasets. We prove that datasets with integrity constraints form a symmetric monoidal category, from which the soundness of acyclic dependency graphs follows.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <sec id="sec-1-1">
        <title>Motivation. In the Semantic Web, entities are named by URIs, and are de</title>
        <p>
          scribed by RDF documents. Linked Data [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] adds the constraint that entity
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>URIs should be dereferenceable (HTTP URIs which accept GET requests), and</title>
        <p>dereferencing an entity URI returns an RDF representation of that entity. The</p>
      </sec>
      <sec id="sec-1-3">
        <title>W3C web architecture [8] calls such representations authoritative.</title>
      </sec>
      <sec id="sec-1-4">
        <title>The RDF triples contained in an entity representation will generally refer</title>
        <p>to entities for which the representation is not authoritative. Such hyperlinks
between datasets are often visualized as a dependency graph, such as the popular</p>
      </sec>
      <sec id="sec-1-5">
        <title>Linking Open Data cloud diagram [6] shown in Figure 1.</title>
        <p>
          Linked Data puts a new spin on the open world stance of the Semantic Web:
from the point of view of a given URI owner, the world is partitioned into local
entities, for which the owner is authoritative, and imported entities, for which
the owner is not authoritative. In this paper, we provide a formal model of this
partitioning which includes:
{ a partitioning of entities into imported and exported nodes, in addition to
the familiar blank nodes,
{ a de nition of what it means for a dataset to satisfy its integrity constraints,
based on the minimal models of Motik et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], but adapted to partitioning,
{ a model of acyclic dependency graphs, which can be built compositionally,
and where integrity constraint satisfaction can be performed locally, and
{ a proof that graphical reasoning for datasets is sound, by showing that
datasets form a symmetric monoidal category.
        </p>
      </sec>
      <sec id="sec-1-6">
        <title>This paper gives the rst formal treatment of authoritative resource, integrity constraints for linked data, dependency graphs, and the categorical structure of semantic data. In this introduction, we provide informal examples to motivate our model, which are made precise in Sections 4 and 5.</title>
        <sec id="sec-1-6-1">
          <title>Authoritative representations, imports and exports. The W3C web ar</title>
          <p>
            chitecture [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] recommends as good practice that a URI owner \should provide
authoritative representations of the resource it identi es". Typically, these are
          </p>
        </sec>
      </sec>
      <sec id="sec-1-7">
        <title>HTTP URIs, which respond to GET requests. Linked Data [5] applies this prac</title>
        <p>tice to the Semantic Web: URI owners provide authoritative representations of
their URIs in RDF (for datasets) or OWL (for ontologies).</p>
      </sec>
      <sec id="sec-1-8">
        <title>Semantic reasoners can make deductions from Linked Data. For example, consider a URI bob: (in examples, we will use URI pre xes such as alice: and bob:) which dereferences to the Turtle [4] representation:</title>
        <p>bob: foaf:primaryTopic bob:me .</p>
        <p>bob:me foaf:knows [ foaf:homepage alice: ] .</p>
      </sec>
      <sec id="sec-1-9">
        <title>Now, if alice: dereferences to:</title>
        <p>
          alice: foaf:primaryTopic alice:me .
then a reasoner can deduce (using the FOAF [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] speci cation's de nitions):
bob:me foaf:knows alice:me .
        </p>
      </sec>
      <sec id="sec-1-10">
        <title>In Linked Data, the entities in a dataset can be partitioned into:</title>
        <p>{ exported nodes (enodes): local entities, which the representation is
authoritative for, with a publicly de ned name that other datasets may link against,
{ blank nodes (bnodes): local entities, which the representation is authoritative
for, but without a publicly de ned name, and
{ imported nodes (inodes): all other entities.</p>
      </sec>
      <sec id="sec-1-11">
        <title>For example, the RDF representation of bob: given above contains inode alice:, enodes bob: and bob:me, and an anonymous bnode (called _:anon below).</title>
        <p>
          Ontologies and integrity constraints. A consumer of Linked Data may
wish to assume a notion of correctness of the data it is consuming. Rather than
considering integrity constraints to be given in a separate formalism such as a
rules engine [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] or epistemic logic [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], we will use ontologies to express both
deductive reasoning (the standard ontology), and the correctness criteria (the
constraint ontology). A similar approach was taken by Motik et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] and Tao
et al. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. For example, consider the standard ontology:
:
homepage = primaryTopic
PersonalHomePage v Document
        </p>
        <p>Document v
1 primaryTopic
and the constraint ontology:</p>
      </sec>
      <sec id="sec-1-12">
        <title>The above example is correct with respect to the exported interface:</title>
        <p>PersonalHomePage v 9primaryTopic : Person</p>
        <p>Person v 8knows : Person</p>
        <p>Person(bob:me) PersonalHomePage(bob:)
under the assumption of the imported interface:
PersonalHomePage(alice:)</p>
      </sec>
      <sec id="sec-1-13">
        <title>We reason informally as follows (this will be made formal in later sections).</title>
        <p>{ The constraint PersonalHomePage v 9primaryTopic : Person is satis ed
because the only new PersonalHomePage entity is bob:, and we have a witness
bob:me for the role primaryTopic.
{ The constraint Person v 8knows : Person is satis ed because the only new</p>
      </sec>
      <sec id="sec-1-14">
        <title>Person entity is bob:me, and the only entity which bob:me knows is _:anon.</title>
      </sec>
      <sec id="sec-1-15">
        <title>Now, in any world where PersonalHomePage(alice:), there must be some</title>
        <p>individual i such that primaryTopic(alice:; i) and Person(i). We can then
reason using the standard ontology that i = _:anon and so Person(_:anon).
This example, shows the use of two di erent styles of reasoning.
{ When reasoning about exported or blank nodes, we can assume that the
only properties are ones which can be deduced from information we have
asserted, using the standard ontology. For example, this form of reasoning is
used in \because the only new PersonalHomePage entity is bob:" and \the
only entity in a knows role with bob:me is _:anon."
{ We reason di erently about imported nodes. All we know about the imported
world is that it satis es the imported interface, the standard ontology and
the constraint ontology. For example, this form of reasoning is used in \in
any world where PersonalHomePage(alice:), there must be some individual
i such that primaryTopic(alice:; i) and Person(i)."</p>
      </sec>
      <sec id="sec-1-16">
        <title>More succinctly, we use a Closed World Assumption for blank and exported nodes, and an Open World Assumption for imported nodes.</title>
      </sec>
      <sec id="sec-1-17">
        <title>Dependency graphs. Dependency graphs such as Figure 1 are a common way</title>
        <p>of visualizing linked data, but have, until now, remained informal. We propose a
formalization of such graphs as directed graphs where nodes are datasets such as</p>
      </sec>
      <sec id="sec-1-18">
        <title>ALICE (the authoritative representation of alice:) and BOB (the authoritative representation of bob:), and edges indicate the existence of hyperlinks between datasets. These edges are labeled by interfaces to make the contract between datasets explicit, for example:</title>
        <p>ALICE</p>
        <p>PersonalHomePage(alice:)
BOB</p>
      </sec>
      <sec id="sec-1-19">
        <title>Dependency graphs can be regarded as datasets, given by taking the union of all their constituent datasets (with a bit of bookkeeping to rename nodes to ensure no name clashes). Since dependency graphs form datasets, they can be nested, for example a GROUP which includes ALICE and BOB might be built:</title>
        <p>GROUP
ALICE
BOB</p>
      </sec>
      <sec id="sec-1-20">
        <title>Ensuring correctness should be compositional, for example knowing that ALICE</title>
        <p>and BOB are correct should ensure correctness of GROUP. Moreover, nested
graphs should respect equivalence of datasets: if ALICE is replaced by an
equivalent ALICE0, then GROUP should be equivalent to GROUP0. Finally, isomorphic
graphs should be equivalent, irrespective of how they are composed, for example:
DEPT
GROUP
ALICE</p>
        <p>CHARLIE</p>
        <p>BOB</p>
        <p>DEPT</p>
        <p>GROUP</p>
        <p>CHARLIE
ALICE</p>
        <p>BOB</p>
      </sec>
      <sec id="sec-1-21">
        <title>Symmetric monoidal categories. Our goals for dependency graphs are:</title>
        <p>{ Nodes describe datasets, edges describe hyperlink relationships.
{ Graphs can be built compositionally, with local checking of correctness.
{ Graph construction respects equivalence of datasets.</p>
        <p>
          { Isomorphism of dependency graphs implies equivalence of datasets.
Proving these properties directly would be di cult, but fortunately there is
an existing structure which guarantees these properties: a symmetric monoidal
category. Category theory forms a foundational framework for mathematics, but
our need of it is quite pragmatic: the equational theory of a symmetric monoidal
category is precisely that of direct acyclic graphs (shown by Joyal and Street [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ],
see, for example, Selinger [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]). Figure 2 sketches how directed acyclic graphs
form a symmetric monoidal category:
.
.
.
        </p>
        <p>.
.
.</p>
        <p>.
.
.</p>
        <p>F
.
.
.</p>
        <p>G
.
.</p>
        <p>.
1</p>
        <p>F ; G
{ The identity graph 1 just connects its source and target edges.
{ The composition F ; G of graphs takes the disjoint union of F and G, and
uni es the target edges of F with the source edges of G.
{ The tensor F G of graphs takes the disjoint union of F and G.
{ The symmetry graph just permutes its source and target edges.</p>
      </sec>
      <sec id="sec-1-22">
        <title>Since the equational theory of a symmetric monoidal category is precisely that</title>
        <p>of directed acyclic graphs, we can replace our goals for dependency graphs by
the goal of showing that datasets form a symmetric monoidal category. This is a
matter of proving a handful of equations, which is a easier than proving directly
that graph isomorphism implies dataset equivalence.</p>
        <p>
          Summary. The remainder of this paper will make this motivational section
precise. We will de ne a notion of integrity constraint suitable for partitioning,
and show that datasets with integrity constraints form a symmetric monoidal
category, and hence can be formalized by dependency graphs. This is the rst
such investigation of integrity constraints for Linked Data. All results presented
in this paper have been mechanically veri ed, using the Agda [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] mechanical
proof assistant; all proofs are publicly available [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
2
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>+
In this paper, we consider a Description Logic SHIN 1 , which includes role
hierarchies, role inverses, disjoint, re exive, irre exive and transitive roles, and
singleton cardinality restrictions. We expect the results to apply to other
description logics. Spelling this out, roles and concepts are de ned by the grammars
(where r and c are drawn from sets of atomic role names and concept names):
R ::= r j r
C ::= c j :c j ? j &gt; j C1 u C2 j C1 t C2 j 8R : C j 9R : C j
1 R j &gt;1 R</p>
      <sec id="sec-2-1">
        <title>A TBox is a nite set of axioms of the form:</title>
        <p>C1 v C2 or R1 v R2 or Dis(R1; R2) or Ref(R) or Irr(R) or Tra(R)</p>
      </sec>
      <sec id="sec-2-2">
        <title>Following Motik et al. [13], we assume ambient TBoxes S (the standard TBox) and T (the constraint TBox). For any nite set X, an ABox over X is a nite set of assertions of the form: c(x) or r(x; y) or x</title>
        <p>y
where x; y 2 X</p>
      </sec>
      <sec id="sec-2-3">
        <title>Note that ABoxes are restricted to contain only positive statements, and so have</title>
        <p>a monotone semantics. In many cases, this does not impact expressivity, as S
can give names for arbitrary concepts, and T can introduce an irre exive role
di erentFrom used in place of 6 assertions. In practice, RDF is limited to positive
atomic statements.</p>
        <p>An interpretation I over X consists of a set I , together with cI I for
each concept name c, rI I I for each role name r, and xI 2 I for each
x 2 X. The satisfaction relations I A (for an ABox A over X) and I T (for
a TBox T ) are standard. Note that if I is an interpretation over X Y , then I
can be regarded as an interpretation over Y .</p>
        <p>In the following, we will write X ] Y for the disjoint union of X and Y : for
simplicity, we will assume that X and Y are disjoint, and so X X ] Y Y .</p>
      </sec>
      <sec id="sec-2-4">
        <title>In the mechanized proofs [9], we use explicit tagging to ensure disjointness.</title>
        <p>3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Initial interpretations</title>
      <p>Consider ABoxes A over X, B over Y , and F over (X ] V ] Y ). We can think
of A as the imported interface (where X is the set of inodes), B as the exported
interface (where Y is the set of enodes) and F as the dataset (where V is the
set of bnodes). Now, what does it mean for F to import A and export B, in the
presence of ambient TBoxes S and T ?</p>
      <sec id="sec-3-1">
        <title>F can be thought of as a recipe for adding new assertions to an existing</title>
        <p>interpretation. Given any interpretation I over X which satis es (S; T; A), we
require there to be a canonical interpretation J over (X ] V ] Y ) which extends
I with (S; F ), and we require J to satisfy (T; B).</p>
        <p>
          Motik et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] use a similar notion of constraint satisfaction, although they
consider all minimal J , rather than a canonical J , with respect to subset
order on Herbrand models of Skolemized formulae. As they note, Skolemization
has an impact on the notion of equivalence of TBoxes, for example (c v 9r : d)
is not equivalent to (c v 9r : d; c v 9r : d) because they Skolemize di erently
(each existential quanti er introduces a new Skolem function, which may be
interpreted di erently). We avoid Skolemization by considering initial
interpretations (relative to homomorphisms between interpretations) rather than minimal
interpretations (relative to subset order).
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Tao et al. [17] also consider minimal models, with respect to a partial or</title>
        <p>der = which preserves concept membership, role membership and equality of
named individuals. They avoid Skolemization by an alternate semantics, where
quanti cation only ranges over named individuals.</p>
        <p>A homomorphism between interpretations I and J over X is a function
h : I ! J such that, for all x, i and j:
h(xI ) = xJ
(i 2 cI ) ) (h(i) 2 cJ )
((i; j) 2 rI ) ) ((h(i); h(j)) 2 rJ )
We will write I . J whenever there is a homomorphism from I to J . Consider
an interpretation I, and a family of interpretations Ji with a chosen family
of homomorphisms hi : I ! Ji. An initial Ji is one with a unique family
of homomorphisms: gj : Ji ! Jj such that gj hi = hj. Note that initial
interpretations do not always exist, but that when they do they are unique up
to isomorphism.</p>
        <p>De nition 1. For any interpretation I over X and ABox F over Z
I (S; F ) be the initial interpretation J over Z such that I . J and J
X, let</p>
        <p>S; F .</p>
        <p>Note that I (S; F ) does not always exist, as S may contain existentials or
disjunctions which do not have canonical witnesses. For example there is no
initial extension of ; by:</p>
        <p>Bool v True t False</p>
        <p>True t False v Bool</p>
        <p>Bool(x)
since there are two incomparable extensions, one with True(x) and one with</p>
      </sec>
      <sec id="sec-3-3">
        <title>False(x). However, there is a syntactic restriction which guarantees the existence</title>
        <p>of initial interpretations. Let S be minimizable whenever any axiom C v D has
C built from atoms, ?, &gt;, t, u and 9, and D built from atoms, &gt;, u, 8 and .
Proposition 1. If S is minimizable, then I
(S; F ) exists.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Integrity constraints</title>
      <sec id="sec-4-1">
        <title>Having de ned initiality, we can now de ne constraint satisfaction. This is a variant of Motik et al.'s de nition: rather than considering all minimal interpretations, we require a canonical initial interpretation to exist, and for it to satisfy the integrity constraints.</title>
        <p>De nition 2. For ABoxes A over X, B over Y and F over (X ] V ] Y ), de ne
F : A ) B whenever, for any interpretation I over X such that I S; T; A, we
have I (S; F ) T; B.</p>
        <p>For example, in the example from Section 1 we have that in any I which satis es
the ambient TBoxes and PersonalHomePage(alice:), there must be some i such
that (alice:I ; i) 2 primaryTopicI , so we can pick fresh j and k and de ne J as
the smallest extension of I where:</p>
        <p>bob:J = j
j 2 PersonalHomePageJ
(j; k) 2 primaryTopicJ
bob:meJ = k
j 2 DocumentJ
(k; j) 2 homepageJ
:anonJ = alice:I</p>
        <p>k 2 PersonJ
(k; i) 2 knowsJ
and so we have:
0 PersonalHomePage(bob:); 1
BB pPreirmsoanry(Tboopb:icm(eb)o;b:; bob:me); CC : (PersonalHomePage(alice:)) )
B@ knows(bob:me; :anon); CA
homepage( :anon; alice:)
PersonalHomePage(bob:);
Person(bob:me)
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Symmetric monoidal category</title>
      <sec id="sec-5-1">
        <title>Having de ned our notion of integrity constraints for Linked Data, we give our</title>
        <p>
          main result, which is that ABoxes with integrity constraints form a symmetric
monoidal category, and hence (as shown by Joyal and Street [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] and surveyed,
for example, by Selinger [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]) can be modeled formally by directed acyclic graphs.
        </p>
        <p>A symmetric monoidal category C consists of:
{ A collection Obj(C) of objects, including:
a chosen object I, and
for each pair of objects A and B, an object A B.
{ For each pair of objects, A and B, a collection of morphisms C[A; B],
including (where we write f : A ! B whenever f is in C[A; B]):
for each f : A ! B and g : B ! C, a morphism (f ; g) : A ! C,
for each f : A ! C and g : B ! D, a morphism (f g) : (A B) !
(C D), and
chosen families of morphisms:</p>
        <p>1A : A ! A
ABC : ((A</p>
        <p>1
ABC : (A</p>
        <p>B)
(B</p>
        <p>C) ! (A
C)) ! ((A
(B
B)</p>
        <p>C))
C)</p>
        <p>AB : (A</p>
        <p>A : (A
A1 : A ! (A</p>
        <p>B) ! (B
I) ! A</p>
        <p>I)</p>
        <p>
          A)
satisfying certain equations (see, for example Mac Lane [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] for details).
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>The objects of our symmetric monoidal category ABox will be ABoxes, which</title>
        <p>we will think of as interfaces.</p>
        <p>{ Obj(ABox) is the collection of all ABoxes.
{ The chosen object I is the empty ABox.
{ Given two ABoxes A over X and B over Y , the object (A
(A; B) over (X ] Y ).</p>
      </sec>
      <sec id="sec-5-3">
        <title>B) is the ABox</title>
        <p>The morphisms of the category ABox will also be ABoxes, this time thought of
as datasets satisfying integrity constraints.</p>
        <p>{ ABox[A; B] is the collection of all ABoxes F such that F : A ) B.
{ Given two ABoxes F over (X ]V ]Y ) and G over (Y ]W ]Z), the morphism
(F ; G) is the ABox (F; G) over (X ] (V ] Y ] W ) ] Z).
{ Given two ABoxes F1 over (X1 ] V1 ] Y1) and F2 over (X2 ] V2 ] Y2), the
morphism (F1 F2) is the ABox (F1; F2) over ((X1]X2)](V1]V2)](Y1]Y2)).</p>
      </sec>
      <sec id="sec-5-4">
        <title>To verify that this de nition is well-formed, we have to verify that checking integrity constraints is compositional, that is we only have to check integrity locally, and know it is preserved by composition and tensor.</title>
        <sec id="sec-5-4-1">
          <title>Proposition 2.</title>
          <p>1. If F : A ) B and G : B ) C, then (F ; G) : A ) C.
2. If F1 : A1 ) B1 and F2 : A2 ) B2, then (F1 F2) : (A1
A2) ) (B1</p>
          <p>B2).</p>
        </sec>
      </sec>
      <sec id="sec-5-5">
        <title>Note that the composition (F ; G) may introduce bnodes, since the intermediate names which are exported by F and imported by G become bnodes (indeed, this is why bnodes are present in this model). For example:</title>
        <p>(knows(alice:me; bob:me)); (knows(bob:me; charlie:me))
(knows(alice:me; :anon); knows( :anon; charlie:me))</p>
      </sec>
      <sec id="sec-5-6">
        <title>As well as composition of ABoxes, we have to provide the \wiring" combinators</title>
        <p>for identity, symmetry, unit and associativity. These are all constructed in the
same way: given any function f : Y ! X on nite sets, we de ne the ABox
wiring(f ) over (X ] Y ) as containing f (y) y for each y 2 Y . We can then show
that wiring(f ) respects renaming of ABoxes. Given any ABox A over Y , let f [A]
be the ABox over X given by replacing any individual y in A by f (y).
Proposition 3. If f : Y ! X and B
f [A], then wiring(f ) : A ) B.</p>
      </sec>
      <sec id="sec-5-7">
        <title>This su ces to de ne the combinators of a symmetric monoidal category, for</title>
        <p>example 1A : A ) A is given by wiring the identity function.</p>
      </sec>
      <sec id="sec-5-8">
        <title>Finally, we have to prove the equations of a symmetric monoidal category. These equations are not true up to syntactic equality of ABoxes, due to introduction of bnodes, for example a counter-example to 1; F = F is:</title>
        <p>(alice:me</p>
        <p>alice:me0); (knows(alice:me0; bob:me))
(alice:me</p>
        <p>:anon; knows( :anon; bob:me))
6= (knows(alice:me; bob:me))</p>
      </sec>
      <sec id="sec-5-9">
        <title>The equations are true when we consider ABoxes up to equivalence (in the presence of S, T and A), that is:</title>
        <p>F</p>
        <p>G : A ) B whenever S; T; A; F
G and S; T; A; G
F</p>
      </sec>
      <sec id="sec-5-10">
        <title>We therefore consider the morphisms of ABox up to equivalence, which requires us to show that composition and tensor respect equivalence:</title>
        <sec id="sec-5-10-1">
          <title>Proposition 4.</title>
          <p>1. If F
2. If F1
then (F1</p>
          <p>F 0 : A ) B and G
F10 : A1 ) B1 and F2</p>
          <p>F2) (F10 F20) : (A1</p>
          <p>G0 : B ) C then (F ; G)</p>
          <p>F20 : A2 ) B2</p>
          <p>A2) ) (B1
The proofs that ABoxes satisfy the equations of a symmetric monoidal category
are then direct. The coherence properties (which only involve compositions of
wiring morphisms) follow because wiring respects composition and tensor:
wiring(f ); wiring(g)
wiring(f
g)
wiring(f )
wiring(g)
wiring(f ] g)
Theorem 1. ABox forms a symmetric monoidal category.</p>
        </sec>
      </sec>
      <sec id="sec-5-11">
        <title>The proof of this theorem, including the de nitions it relies on, is approximately</title>
      </sec>
      <sec id="sec-5-12">
        <title>3,000 lines of Agda code [9]. An example lemma is shown in Figure 3.</title>
        <p>6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and further work</title>
      <sec id="sec-6-1">
        <title>We have presented the rst treatment of integrity constraints for Linked Data</title>
        <p>which makes use of a partition between local entities, for which a dataset is
authoritative, and imported entities, where complete information is not known.</p>
      </sec>
      <sec id="sec-6-2">
        <title>We have given the rst categorical presentation of datasets, and as a consequence,</title>
        <p>we have the rst formal treatment of acyclic dependency graphs.</p>
      </sec>
      <sec id="sec-6-3">
        <title>There are open questions raised by this model, of which the most important</title>
        <p>is its algorithmic properties: is integrity constraint satisfaction decidable, and if
so, what is its complexity, and can it be reduced to existing decision problems?</p>
      </sec>
      <sec id="sec-6-4">
        <title>Our model only treats acyclic dependency graphs, via symmetric monoidal</title>
        <p>
          categories. A categorical treatment of cyclic graphs uses traced monoidal
categories (introduced by Joyal, Street and Verity [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], and discussed by Selinger [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]).
        </p>
      </sec>
      <sec id="sec-6-5">
        <title>Cyclic graphs require the existence of xed points which unfortunately do not respect integrity constraint satisfaction, for example the xed point of the identity morphism is equivalent to an empty dataset, which will not satisfy existential</title>
        <p>or disjunctive integrity constraints. The situation is similar to that of complete
metric spaces: not all functions have xed points, but contraction maps do.</p>
      </sec>
      <sec id="sec-6-6">
        <title>Our model assumes the existence of ambient TBoxes S and T , which must</title>
        <p>
          be agreed upon by all datasets. This requirement is quite strong, and the model
would be improved by allowing authoritative ontologies as well as datasets. This
is related to the notion of modularity of ontologies [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
      </sec>
      <sec id="sec-6-7">
        <title>The mechanized proofs of our model [9] are given in Agda [1], which as well</title>
        <p>
          as a proof assistant is a programming language which compiles to Haskell [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
      </sec>
      <sec id="sec-6-8">
        <title>We hope to extend our proofs to a Semantic Web library, which will support the development of provably correct programs to process Linked Data.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>1. The Agda programming language</article-title>
          . http://wiki.portal.chalmers.se/agda/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>2. The friend of a friend (FOAF) project</article-title>
          , http://www.foaf-project.org/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>3. The Haskell programming language</article-title>
          . http://haskell.org/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Turtle - terse RDF triple language (</article-title>
          <year>2008</year>
          ), http: //www.w3.org/TeamSubmission/turtle/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Linked data (</article-title>
          <year>2006</year>
          ), http://www.w3.org/DesignIssues/ LinkedData.html
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cyganiak</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jentzsch</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Linking open data cloud diagram</article-title>
          , http://lod-cloud. net/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Modular reuse of ontologies: Theory and practice</article-title>
          .
          <source>J. Arti cial Intelligence Research</source>
          <volume>31</volume>
          ,
          <volume>273</volume>
          {
          <fpage>318</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Jacobs</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walsh</surname>
          </string-name>
          , N.:
          <article-title>Architecture of the World Wide Web, volume one</article-title>
          .
          <source>W3C Recommendation</source>
          (
          <year>2004</year>
          ), http://www.w3.org/TR/webarch/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Je</surname>
            <given-names>rey</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A.S.A.</surname>
          </string-name>
          :
          <article-title>Agda libraries for the semantic web</article-title>
          . https://github.com/agda/ agda-web-semantic/ (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Joyal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Street</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <source>The geometry of tensor calculus I. Advances in Mathematics</source>
          <volume>88</volume>
          (
          <issue>1</issue>
          ),
          <volume>55</volume>
          {
          <fpage>112</fpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Joyal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Street</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verity</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Traced monoidal categories</article-title>
          .
          <source>Math. Proc. Cambridge Phil. Soc. 3</source>
          ,
          <issue>447</issue>
          {
          <fpage>468</fpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>Mac</given-names>
            <surname>Lane</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Categories for the Working Mathematician</article-title>
          . Springer, 2nd edn. (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Bridging the gap between OWL and relational databases</article-title>
          .
          <source>J. Web Semantics</source>
          <volume>7</volume>
          (
          <issue>2</issue>
          ),
          <volume>74</volume>
          {
          <fpage>89</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <source>Reconciling Description Logics and Rules. J. ACM</source>
          <volume>57</volume>
          (
          <issue>5</issue>
          ),
          <volume>1</volume>
          {
          <fpage>62</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Reiter</surname>
          </string-name>
          , R.:
          <article-title>What should a database know? J</article-title>
          .
          <string-name>
            <surname>Log</surname>
          </string-name>
          . Program.
          <volume>14</volume>
          ,
          <issue>127</issue>
          {
          <fpage>153</fpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Selinger</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A survey of graphical languages for monoidal categories</article-title>
          . In: Coecke,
          <string-name>
            <surname>B.</surname>
          </string-name>
          <source>(ed.) New Structures for Physics, Lecture Notes in Physics</source>
          , vol.
          <volume>813</volume>
          ,
          <issue>chap</issue>
          . 4, pp.
          <volume>289</volume>
          {
          <fpage>356</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Tao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          :
          <article-title>Extending OWL with integrity constraints</article-title>
          .
          <source>In: Proc. Workshop on Description Logics</source>
          . pp.
          <volume>137</volume>
          {
          <issue>148</issue>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>