<!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>Achieving Scalability and Expressivity in an RDF Knowledge Base by Implementing Contexts</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Heiko Stoermer</string-name>
          <email>stoermer@dit.unitn.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domenico Redavid</string-name>
          <email>redavid@di.uniba.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universita` degli Studi di Bari</institution>
          ,
          <addr-line>Dipartimento di Informatica, Bari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Trento, Dept. of Information and Communication Tech.</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>- In this paper we are presenting the context architecture implemented on top of the RDFCore system. With this extended Knowledge Representation framework we are trying to overcome some of the limitations of RDF and OWL as they are today, without losing sight of performance and scalability issues. We are illustrating motivations - partly based on requirements in the VIKEF project - as well as theoretical background, implementation details and test-results of our latest works.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Motivated by requirements of the VIKEF1 project, where
a large-scale Semantic Web knowledge-base about documents
and other objects provides for intelligent services to the user,
we are investigating and developing a more extended KR
framework, trying to overcome some of the limitations of RDF
and OWL as they are today.</p>
      <p>
        Our basic idea is to introduce the notion of context into
Semantic Web Knowledge Representation (KR), as previously
described in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. We claim that the distributed nature
of the Semantic Web raises issues that can be attacked by
contextualizing knowledge bases, i.e. restricting the scope of
statements to the circumstances they were made under.
      </p>
      <p>
        The contribution of this paper is to present one possible
realization of this more complex KR approach for the
Semantic Web, and to illustrate our progress based on the KBMS
RDFCore [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In continuation of the ideas and preliminary
results presented in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], we have been concentrating more on
the aspects of compatibility relations (CRs) between contexts,
which can be used to describe in which way statements in
more than one context can be combined to answer queries
to the KB. We have conducted a more extensive experiment
to investigate performance aspects of RDFCore and our
extensions, and backed by general theories of Contextual Reasoning
we believe that we will in some cases be able to provide for
better scalability than a flat, non-contextual KB.
      </p>
      <p>The paper is organized as follows: In Sect. II we present
intuitive and technical motivations for our approach, as well as
related work. Sect. III describes our general proposal, whereas
Sect. IV contains a technical description of the steps taken to
realize our ideas. In Sect. V we present our experimentation
1Virtual Information and Knowledge Environment Framework; more
information at http://www.vikef.net
results, and we wrap up with a conclusion and a short mention
of planned further works in Sect. VI.</p>
    </sec>
    <sec id="sec-2">
      <title>II. MOTIVATION AND RELATED WORK</title>
      <p>One of our initial motivations to move in the direction of
contexts in Semantic Web KBs was our critical view on one
of the ideas of the Semantic Web, namely that – with a shared
ontology – two RDF Aboxes provided by different agents
can simply be merged, collapsed on identical URIs, and thus
provide a new, bigger KB for answering a query (the pre-merge
scenario is depicted in Fig. 1).</p>
      <p>Fig. 1. Two RDF Aboxes A and A’ compliant to a single TBox T.</p>
      <p>
        However, apart from implicit semantics that are omitted
when applying such a strategy, cases can be constructed that
unveil problems even on the logical level. Take the following
example, as depicted in Fig. 2: on the formalization side we
have a TBox T with some relations that have cardinality
constraints, and two ABoxes A and A0 with assertions compliant
to this TBox. Both ABoxes are consistent by themselves,
but when merged, they produce an inconsistency as the two
following statements violate the cardinality constraints in T :
&lt; prodi prime minister italian government &gt;
&lt; berlusconi prime minister italian government &gt;
Relying on a host of research done in the area of Context in
KR [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], we believe it is a viable
approach to attack issues of this nature by binding consistent
sets of assertions to the circumstances they were made under,
i.e. to limit their scope to a context, as we will describe in
Sect. III.
      </p>
      <p>
        As discussed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], this contextualization can
serve as a basis for a number of KR modelling aspects,
such as temporal evolution, trust, beliefs and provenance. The
contributions of our approach compared to the proposals made
in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] as well as compared to named graph
implementations in current RDF triple stores are that i) we
do not propose or require an extension of the current RDF
standard and ii) we aim at substantial support for Compatibility
Relations (CRs).
      </p>
      <p>These relations between contexts enable us to make explicit
in which way the assertions in the related contexts are
supposed to be combined for query answering, to provide for
flexible and powerful contextual reasoning as envisioned in
the mentioned bibliography.</p>
      <p>In the course of the VIKEF project it became evident that
some of the relations we have in mind have procedural
semantics, and can thus not be formalized in an OWL ontology,
and these are what we are concentrating on at the moment. In
the next section we will describe our examplary proposal of
such a complex relation.</p>
    </sec>
    <sec id="sec-3">
      <title>III. AN EXEMPLARY CR</title>
      <p>The EXTENDS relation we have chosen to illustrate is
meant to describe a situation where we know that two contexts
describe the same object, but assume that one context contains
more information about it than the other.</p>
      <p>Take the example of two Information Extraction processes
P and P 0 that are run on the same document, at different points
in time. Assume P 0 is a more advanced process and is able to
extract more information from the document. We propose to
model this as two contexts C (created by P ) and C0 (created
by P 0) with a relation EXT EN DS that explicates that C0
is an extension to C (a necessary condition for this relation
is that both contexts describe the same object). Intuitively we
want to keep the information derived from different sources
separate and with explicit metadata, but have the possibility
to combine the resulting information where necessary.</p>
      <p>When a query q is posed on C0, the procedural semantics
of EXT EN DS are envisioned as follows:
if q can be answered in C’</p>
      <p>then return answer
else
propagate query to</p>
      <p>C’ union C.</p>
      <p>One issue that becomes obvious immediately is the case
where the union of C0 and C produces an inconsistent ABox
which makes query-answering impossible. This can result
from cardinality constraints in the TBox (see the
BerlusconiProdi example in Sect. II), or subsumption issues (an
individual o is said to be instance of different classes). Our basic
solution approach is to extract a minimal subgraph containing
the statement(s) that caused the inconsistency into a named
graph NG, as illustrated in Fig. 3.</p>
      <p>The result is that the query can be processed on the
conflictfree part of the union of C0 and C. One possible criticism
could be that of course we could pose the query to C alone,
without respecting C0, and thus avoid the conflict altogether.
This however ignores the EXT EN DS relation between the
two (which has been established for a reason), and thus should
only be allowed on contexts that are not in such a relation.</p>
      <p>The case is of course slightly more complex when we
take into account more than two contexts. We envision the
EXT EN DS relation to be transitive. This can result in a
reasoning chain i) when establishing the relation, as conflicts
have to be detected and re-modelled and ii) when querying
the contexts, as the necessary contexts and relevant subgraphs
have to be traversed. This chain however is non-cyclic, as
the relation is directional. Section IV describes our first
implementation of this relation.</p>
      <p>
        We have chosen to attack and illustrate this specific relation
due to its relative complexity. However, we are convinced that
our basic approach as described in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is fairly general and
can be used to implement relations of different kinds. In the
course of the project we envision relations that make explicit
temporal evolution, trust and a number of domain specific
aspects.
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. REALIZATION</title>
      <sec id="sec-4-1">
        <title>A. RDFContextManager</title>
        <p>The component we developed to manage contexts is called
RDFContextManager; its architecture is presented in Fig. 4.
RDFContextManager is implemented as a Java interface,
exposing methods to:
• set the Compatibility Relation Ontology (CRO), which
is the ontology that defines Compatibility Relations,
Contexts, parts of Contexts (Graphs) and also gives the
concepts necessary to represent context splitting and
relations between Contexts and Graphs
• add new statements to the CRO, stating for example that
a given URI C1 represents a Context, that this Context
extends an existing context C2, or that there is a Graph
G1 which is part of C2 and is compatible or not with C1
• add, remove or update Contexts and Graphs in the
underlying persistence layer
• obtain Views over a Context, e.g. ask
RDFContextManager to return all Contexts and Graphs that are connected
to a Context C1 with EXTENDS relations, directly or
by means of part of relations, following all the relation
chains and obeying imposed limitations</p>
        <p>A CompatibilityRelation is a Java interface exposing
methods to:
• verify whether an implementation of
CompatibilityRelation should be triggered into action by some statements
added to the CRO, e.g. the insertion of a statement C1
EXTENDS C2 should trigger the consistency check over
C1 t C2, and, if an inconsistency is detected,
countermeasures should be undertaken, in order to guarantee
that a View over C1 do not answer an inconsistent set
of statements
• carry out the check specific for this CompatibilityRelation
• ask this implementation to provide a set of Contexts
or Graphs that would be excluded from a View over a
Context C1 due to some reason, e.g. incompatibility due
to inconsistency
• ask the implementation to provide a set of Contexts or
Graphs that would be included in a View over a Context
C1, e.g. because of an EXTENDS or a part of relation
or chain of relations</p>
        <p>
          The implementation we are presenting in this paper relies on
RDFCore for RDF models storage, and on Pellet2 for
reasoning tasks such as consistency check over a View. As illustrated
in Fig. 4, the DL reasoner is used by the CompatibilityRelation
implementations (note that different implementations could
need different reasoning settings, e.g. only RDFS or OWL Lite
inference rather than OWL DL inference), while all the storage
and retrieval of RDF models is done on RDFContextManager,
which uses RDFCore and its facilities for model storage and
query[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], using the multiuser environment of RDFCore to
enable use of Context information by other applications.
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>B. The Compatibility Relations Ontology (CRO)</title>
        <p>The CRO contains the definition of the main concepts used
to describe the KB structure in terms of contexts; it contains
the definition of Context and the definition of Graph, where
both concepts represent entities that are named graphs; a
Context has the (informal) property of representing something
that has a meaning as a whole, e.g. the set of statements
extracted from a specific document, at a specific time, with
a specific algorithm, while a Graph is a set of statements that
is included in one or more Contexts or other Graphs, but has no
specific meaning alone (e.g. the set of statements in a Context
that cause inconsistencies with another Context). A
domainrange view of the CRO is given in Fig. 5.</p>
        <p>Moreover, the CRO contains the definition of the
SplittingReason class, which represents the reason that led to the
isolation of a part of a Context and the storage of that fragment
as a Graph; a SplittingReason instance includes references to
the Context from where the statements that are being split
belonged, the Graph that will hold these statements, the reason
for which this split has been done, e.g. because the statements
create inconsistencies w.r.t. another context (which is also
linked to the reason), and the reification of the statements in
the CRO that triggered the split, if any.</p>
        <p>An example of SplittingReason generation is the one we
will illustrate in detail in Sect. IV-C.1: let us have Contexts
C1 and C2, if we add to the CRO the statement S1 = C1
EXTENDS C2, this will trigger a consistency check over
C1 t C2. If there is an inconsistency, the statements in C2 that
cause the inconsistency are moved to a Graph G1, and then a
SplittingReason SR1 will be created in the CRO, linked to C2
and G1, with a reason of class Inconsistency which is linked
to C1 and a part of relation between C2 and G1; S1 will
be reified and attached to SR1, so that the complete splitting
process can be tracked.</p>
        <p>The CRO also acts as a registry for CompatibilityRelation
implementations, since each declaration of a
CompatibilityRelation amounts to the declaration of a property in this ontology;
an AnnotationProperty for this property, called
implementation uri, gives the java class name of the corresponding
implementation; this is used to retrieve the set of
CompatibilityRelation that RDFContextManager will use when managing
the CRO and the knowledge base.</p>
        <p>2www.mindswap.org/2003/pellet/</p>
      </sec>
      <sec id="sec-4-3">
        <title>C. Use of Compatibility Relations (CR)</title>
        <p>The simplest use case for the framework is as follows:
• An external application adds one or more different
Contexts in RDFContextManager, assigning them URIs or
letting RDFContextManager choose one
• The external application asserts some relations between
the contexts or specific to a context; the relations between
the contexts are expressed through properties defined in
the CRO
• RDFContextManager receives these new assertions, and
triggers all the CR implementations available into first
verifying if any of the new assertions is relevant (i.e. the
asserted relation corresponds to the URI the
implementation is attached to) and then checking whether the new
relation is likely to cause reorganization of the knowledge
base; if this is the case, corrective actions are undertaken
• The external application makes a query over the CRO to
find out all the contexts that satisfy some conditions (e.g.
all the contexts which have been created in a specific
date), and then asks to perform a query over the set
of statements resulting from the union of the contexts;
this involves creation of a View for each context that is
selected by the query
1) EXTENDS Example: We will now use EXTENDS as a
practical example of the described use case:
• Two contexts C1 and C2 are inserted in
RDFContextManager
• C1 is asserted to extend C2 w.r.t a specific subject S1:
the following statements are added to the CRO:
&lt; C1 EXT EN DS C2 &gt;
&lt; C1 describes S1 &gt;
&lt; C2 describes S1 &gt;
Matching objects for the describes predicate are
necessary because this enables an application to say that
C1 extends different unrelated contexts, in the sense that
C1 adds information to both of them, even if the two
extended contexts are incompatible; in fact, a View over
C1, which is forced to be consistent, will include only
one of the extended contexts
• The implementation of EXT EN DS will be triggered to
check matching with the three statements, and it will fire
the check for knowledge base reorganization
• The check performed by EXT EN DS consists of
verifying that any View over C1 that follows the EXT EN DS
chain does not produce an inconsistent model; therefore,
it takes the content of C1 and of C2 and runs a DL
reasoner (Pellet in this case) over the union. If any
inconsistency is detected, EXT EN DS tries to isolate
the responsible statements, selects those that appear in
C2 and removes them from C2; the statements are then
stored as a Graph G1. The split is tracked by creating
a SplittingReason object, connected to C2, which is
the source, and G1, which is the result; it is also
connected to a reason, which in this case is instance of the
Inconsistency class, and in turn to C1 which is related
as incompatible w.r.t G1. The statements added to the
CRO are reified and attached to the SplittingReason as
triggers, in order for the split to be traceable, and finally
a part of relation is asserted between C2 and G1. Since
the EXT EN DS relation is defined transitive, in case
C2 is already connected through a EXT EN DS relation
to other contexts, then the check is performed not against
C2 alone but over the resulting View; the generated splits
in the KB can then be distributed along the EXT EN DS
chain, which is one of the scalability issues we analyze
in Sect. V
• When a View over C1 is requested, all the CR
implementations are requested to provide a set of Contexts or
Graphs that must not appear in the final view (EXCLUDE
set), i.e. are requested to forbid to follow some paths in
the CRO assertions; this is because, when multiple CR are
present, some of them may forbid the presence of a result
that others would allow to appear in the results; simply
removing all the forbidden results after all the paths are
followed is not correct nor efficient, since this would
require complex pruning strategies. After the EXCLUDE
set has been computed, all the CR implementations are
required to provide the set of Contexts or Graphs that
should appear in the resulting View (INCLUDE set), and
they will prune their visiting graph as soon as a forbidden
result is reached. The final View is then computed as
the INCLUDE set plus the resources connected through
part of to these elements (not including those in the
EXCLUDE set)
• The View can now be viewed as a single model, or the
set of URI for the contexts and graphs can be used as
dataset for a SPARQL query to be issued to RDFCore,
which in turn uses ARQ3 as SPARQL engine to interpret
and answer it</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>V. RESULTS</title>
      <p>In this section we presents the empirical evaluation we have
conducted so far. In order to check the system for scalability,
we needed to design a big knowledge base with non trivial
contents, and at the same time divided in smaller chunks
without changing the semantics of the content. This, however,
seems a very difficult task, and so far we have not found
real world ontologies that satisfy these requirements, so we
used a homemade tool to generate individuals for a generic
ontology; repeating the process many times gave us two well
sized knowledge bases.</p>
      <p>Using the SOFSEM ontology 4, an ontology to describe the
SOFSEM conference, we generated two knowledge bases, one
composed of 30 models containing about 70000 statements
each (for a total of more than 2 millions triples), and the other
containing 900 models of about 2000 triples each (1.8 millions
triples); on the first one, we tried to chain the models with
EXT EN DS relations involving two models at a time, while
in the second one we chained tirthy models at a time, obtaining
many chains, and then joined the chains. The results are
presented in Table I, where the results for the first experiment
are presented, in Table II for the second experiment. The
second experiment is also depicted in Fig. 6.</p>
      <p>As is depicted in the graph, the time elapsed to create a
view over the graphs is almost constant, even if the number of
relations to navigate increases, while the time elapsed to check
the consistency of the models grows proportionally to their
size. It is important to note that the consistency check runs
only when new relations are enterend in the CRO; the most
frequent operation, then, will be the request to create a View
starting from some specified models, and the experimental
evaluation shows that this operation is usually performed in
less than half a second on the test machine (a laptop with
3http://jena.sourceforge.net
4http://nb.vse.cz/˜svabo/oaei2006/data/Conference.
owl</p>
      <p>TABLE I</p>
      <p>RESULTS FOR 70000 TRIPLES MODELS
512 MB of RAM, which is not an adequate server setup). The
time required to complete the consistency check and automatic
splitting on models of greater size is around one minute, which
is acceptable from our point of view if we consider that this
operation has to be done only once, and occasionally as new
relations are added.</p>
      <p>The most relevant point, here, is that requesting a View
operation will return a set of graph identifiers that can be
used as dataset for a SPARQL query, ensuring that the model
resulting from the union of the queried data is consistent,
without having to check at the time of querying; this also
means that the memory requirements (at query time) of the
framework only depend on the number of relations between
Contexts and Graphs, and not on the size of the contained data,
or on their complexity. The memory needed by the SPARQL
engine to run the query itself, instead, depends heavily on the
specific query; still no complete evaluation of the behavior
of the system w.r.t. the possible kind of queries has been
performed.</p>
    </sec>
    <sec id="sec-6">
      <title>VI. CONCLUSION AND FURTHER WORKS</title>
      <p>Basing on the opinion that contexts in Semantic Web KR are
a way to tackle some of the current limitations of the languages
available and provide for better scalability in some cases, we
have presented a theoretical approach and an implementation
of Contextual Reasoning in a Semantic Web KB and the
associated testing results. We have not only implemented a
context mechanism into our KBMS to be able to use a context
as a first-class object in assertions, but also illustrated a way
to provide for context relations with procedural semantics
which – in our opinion – is required for a complete context
functionality.</p>
      <p>Our next steps will be directed towards the formal definition
and implementation of more compatibility relations. Some of
them will be as required by the VIKEF project, but we are also
interested in exploring more general and domain independent
relations between contexts and their properties.</p>
      <p>On the implementational side, these planned steps will be
accompanied by the development of a more standardized test
set and a set of exemplary queries that specifically display and
make use of contexts, to assess the practicability, performance
and scalability of our implementations.</p>
    </sec>
    <sec id="sec-7">
      <title>VII. ACKNOWLEDGMENTS</title>
      <p>This research was partially funded by the European
Commission under the 6th Framework Programme IST Integrated
RESULTS FOR SMALL SIZED MODELS AND LONG CHAINS
Project VIKEF - Virtual Information and Knowledge
Environment Framework (Contract no. 507173, Priority 2.3.1.7
Semantic-based Knowledge Systems; more information at
http://www.vikef.net).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Massimo</given-names>
            <surname>Benerecetti</surname>
          </string-name>
          , Paolo Bouquet, and
          <string-name>
            <given-names>Chiara</given-names>
            <surname>Ghidini</surname>
          </string-name>
          .
          <article-title>Contextual reasoning distilled</article-title>
          .
          <source>J. Exp. Theor. Artif. Intell.</source>
          ,
          <volume>12</volume>
          (
          <issue>3</issue>
          ):
          <fpage>279</fpage>
          -
          <lpage>305</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bouquet</surname>
          </string-name>
          , Luciano Serafini, and
          <string-name>
            <given-names>Heiko</given-names>
            <surname>Stoermer</surname>
          </string-name>
          .
          <article-title>Introducing Context into RDF Knowledge Bases</article-title>
          .
          <source>In Proceedings of SWAP</source>
          <year>2005</year>
          ,
          <article-title>the 2nd Italian Semantic Web Workshop</article-title>
          , Trento, Italy,
          <source>December 14-16</source>
          ,
          <year>2005</year>
          . CEUR Workshop Proceedings, ISSN
          <volume>1613</volume>
          -0073, online http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>166</volume>
          /70.pdf ,
          <year>December 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Jeremy</given-names>
            <surname>Carroll</surname>
          </string-name>
          , Christian Bizer, Patrick Hayes, and
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Stickler</surname>
          </string-name>
          .
          <article-title>Named Graphs, Provenance and Trust</article-title>
          .
          <source>In Proceedings of the Fourteenth International World Wide Web Conference (WWW2005)</source>
          , Chiba, Japan, volume
          <volume>14</volume>
          , pages
          <fpage>613</fpage>
          -
          <lpage>622</lpage>
          , May
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Esposito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iannone</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Palmisano</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Semeraro. RDF Core</surname>
          </string-name>
          <article-title>: a Component for Effective Management of RDF Models</article-title>
          . In Isabel F. Cruz, Vipul Kashyap, Stefan Decker, and Rainer Eckstein, editors,
          <source>Proceedings of SWDB'03, The first International Workshop on Semantic Web and Databases</source>
          , Co-located
          <source>with VLDB</source>
          <year>2003</year>
          ,
          <article-title>Humboldt-Universit a¨t</article-title>
          , Berlin, Germany, September 7-
          <issue>8</issue>
          ,
          <year>2003</year>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Chiara</given-names>
            <surname>Ghidini</surname>
          </string-name>
          and
          <string-name>
            <given-names>Luciano</given-names>
            <surname>Serafini</surname>
          </string-name>
          .
          <article-title>Distributed first order logics</article-title>
          .
          <source>In First International Workshop on Labelled Deduction [LD'98]</source>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Fausto</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          .
          <article-title>Contextual reasoning</article-title>
          . Epistemologia - Special
          <source>Issue on I Linguaggi e le Macchine</source>
          , XVI:
          <fpage>345</fpage>
          -
          <lpage>364</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Ramanathan</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Guha</surname>
          </string-name>
          .
          <article-title>Contexts: A Formalization and Some Applications</article-title>
          .
          <source>PhD thesis</source>
          , Stanford,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Ramanathan</surname>
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Guha</surname>
          </string-name>
          ,
          <string-name>
            <surname>Rob McCool</surname>
          </string-name>
          , and Richard Fikes.
          <article-title>Contexts for the semantic web</article-title>
          .
          <source>In Sheila A. McIlraith</source>
          ,
          <string-name>
            <surname>Dimitris Plexousakis</surname>
          </string-name>
          , and Frank van Harmelen, editors,
          <source>International Semantic Web Conference</source>
          , volume
          <volume>3298</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>32</fpage>
          -
          <lpage>46</lpage>
          . Springer,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Graham</given-names>
            <surname>Klyne</surname>
          </string-name>
          .
          <article-title>Contexts for RDF Information Modelling</article-title>
          . Content Technologies Ltd,
          <year>October 2000</year>
          . http://www.ninebynine.org/RDFNotes/RDFContexts.html.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Graham</given-names>
            <surname>Klyne</surname>
          </string-name>
          .
          <article-title>Circumstance, provenance and partial knowledge - Limiting the scope of RDF assertions</article-title>
          ,
          <year>2002</year>
          . http://www.ninebynine.org/RDFNotes/UsingContextsWithRDF.html.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>John</surname>
            <given-names>L. McCarthy.</given-names>
          </string-name>
          <article-title>Generality in artificial intelligence</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>30</volume>
          (
          <issue>12</issue>
          ):
          <fpage>1029</fpage>
          -
          <lpage>1035</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>John</surname>
            <given-names>L. McCarthy.</given-names>
          </string-name>
          <article-title>Notes on formalizing context</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <fpage>555</fpage>
          -
          <lpage>562</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Luciano</given-names>
            <surname>Serafini</surname>
          </string-name>
          and
          <string-name>
            <given-names>Paolo</given-names>
            <surname>Bouquet</surname>
          </string-name>
          .
          <article-title>Comparing formal theories of context in ai</article-title>
          . Artif. Intell.,
          <volume>155</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>41</fpage>
          -
          <lpage>67</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Heiko</surname>
            <given-names>Stoermer</given-names>
          </string-name>
          , Ignazio Palmisano, Domenico Redavid, Luigi Iannone, Paolo Bouquet, and
          <article-title>Giovanni Semeraro. RDF and Contexts: Use of SPARQL and Named Graphs to Achieve Contextualization</article-title>
          .
          <source>In Proceedings of the First Jena User's Conference</source>
          , Bristol,
          <string-name>
            <surname>UK</surname>
          </string-name>
          ,
          <year>April 2006</year>
          . http://jena.hpl.hp.com/juc2006/proceedings/palmisano/paper.pdf.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>