<!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>Knowledge Representation for the Distributed, Social Semantic Web</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Named Graphs</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Graph Roles</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Views in NRL</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Sintek</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ludger van Elst</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gunnar Grimnes</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Scerri</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Siegfried Handschuh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DERI, National University of Ireland</institution>
          ,
          <addr-line>Galway</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Knowledge Management Department German Research Center for Artificial Intelligence (DFKI) GmbH</institution>
          ,
          <addr-line>Kaiserslautern</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Motivation: Distributed Information on the Web</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The vision of the Semantic Web mainly aims at scenarios with multiple, distributed and autonomous information providers and consumers. However, the current standards for knowledge representation mainly see the Semantic Web as one big knowledge base without explicitly acknowledging the distributed, social nature of knowledge in the technological basics. Originally coming from the specific requirements of the idea of a Social Semantic Desktop, we identified two questions as being fundamental also for the general Semantic Web endeavor: i) How can we cope with the heterogeneity of knowledge models and ontologies, esp. multiple knowledge modules with potentially different interpretations? ii) How can we support the tailoring of ontologies towards different needs in various exploiting applications? In this paper, we present the NEPOMUK Representational Language (NRL), an approach to tackle these two question that is based on named graphs for the modularization aspect and a view concept for the tailoring of ontologies. This view concept turned out to be of additional value, as it also provides a mechanism to impose different semantics on the same syntactical structure. In addition to the general construction of NRL we describe our first implementations on top of a standard Semantic Web representation framework, Sesame2. A first benchmark of this implementation shows that the level performance can be acceptable to many Semantic Web developers.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Semantic Web technology is intended to provide a middleware for a wide variety
of applications in domains such as e-business, e-government, personal and
organizational knowledge management, etc. Despite this diversity, the envisioned
applications have in common that typically the (distributed) data sources are
generated and maintained by autonomous entities and that the problems to be
solved ask for a comprehensive, integrated use of data. The current solution
approach is to provide protocol standards as well as data and information
representation standards for federated information access and services. The main
technology for dealing with the problem of heterogeneity are ontologies, i. e.,
representation schemes which are shared between several information providers
and consumers.</p>
      <p>
        While first applications show the prospects of the Semantic Web approach,
widespread real-world use or “killer applications” are still missing. In early
motivational work (e. g., [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), flexible, agent-supported problem solving has been
envisioned, but today’s applications have still a relatively tight, explicitly
engineered coupling between the nodes of the current Semantic Web. This holds
for the procedural aspects (services and protocols) just as for the representation
aspects (ontologies and data). From theoretical analysis on the distributed
nature of knowledge [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] as well as from practical experiences with implementing
applications based on Semantic Web technologies, we identified two questions
which we conjecture to be essential on the way to a more comprehensive
Semantic Web success and which we try to tackle in the knowledge representation
approach presented in this paper:
1. How can we cope with the heterogeneity of knowledge models and ontologies,
esp. multiple knowledge modules with potentially different interpretation
schemes?
2. How can we support the tailoring of ontologies towards different needs in
various exploiting applications?
The first question is rooted in the fact that with heterogeneous generation and
exploitation of knowledge there is no “master instance” which defines and
ensures the “interpretation sovereignty.” The second question turned out to be
an important prerequisite for a clean ontology design for (distributed, social)
Semantic Web scenarios, as many, diverse applications with different goals and
intended user groups will have to access the ontologies and knowledge bases and
(re)present them adequately.
      </p>
      <p>From these general questions, we identified the following four main
requirements for knowledge representation for the (distributed, social) Semantic Web:</p>
      <p>
        Handling of multiple models: In order to adequately represent the social
dimension of distributed knowledge generation and usage [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], a module
concept is desirable which supports encapsulation of statements and the possibility
to refer to such modules. The social aspect requires a support for provenance
and trust information, when it comes to importing and exporting data. With
the present RDF model, importing external RDF data from a remote
application presents some difficulties, mainly revolving around the fact that there are
no standard means of retaining provenance information of imported data. This
means that data is propagated over multiple applications, with no information
regarding the original provider and other crucial information like the context
under which that data is valid. This can result in various situations like ending
up with outdated RDF data with no means to update it, as well as redundant
RDF data which cannot be entirely and safely removed.
      </p>
      <p>Multiple semantics: The main principle of the Semantic Web is that it
is an open world in which documents can add new information about existing
resources. Since the Web is a huge place in which everything can link to anything
else, it is impossible to rule out that a statement could be true, or could become
true in the future. Hence, the global Semantic Web relies on a open-world
semantics, with no unique-name assumption—the official OWL and RDF/S semantics.
On the other hand, within a single application using Semantic Web technology
people find it very difficult to understand the logical meaning and consequences
of the open-world assumption; the closed-world and unique-name assumptions
are much easier to understand for most users. Therefore we require a scenario
where we can always distinguish between data per se and the semantics or
assumptions on that data. If these are handled analogously, it is possible to build
applications that handle local data as a closed world, while processing external
data with open world (or other) semantics.</p>
      <p>Multiple views: Also required by the social aspect is the support for
multiple views, since different actors (both persons and technical agents) might be
interested in different aspects of the data. A view is dynamic, virtual data
computed or collated from the original data. The best view for a particular purpose
depends on the information the user needs.</p>
      <p>
        Epistemological adequacy of modeling primitives: In many
knowledgeintensive scenarios (e. g., the Social Semantic Desktop idea [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]), knowledge
modeling is not only performed offline (e. g., by a distinguished knowledge engineer),
but also by the end user, much like in the tagging systems of the Web 2.0 where
a user can continuously invent new vocabulary for describing his information
items. Even if much of the complexity of the underlying representation
formalism can be hidden by adequate user interfaces, it is desirable that there is no
big epistemological gap between the way an end-user would like to express his
knowledge and the way it is represented in the system.
      </p>
      <p>In this paper, we sketch the concept and current implementation of the
NEPOMUK Representation Language (NRL) which was developed to fulfill the
previously stated requirements. In the next section, we will briefly discuss the
state of the art which served as input for the NEPOMUK Representation
Language (NRL). Sec. 3 gives an overview of our approach, especially the Named
Graphs for handling multiple models and the Graph Views for imposing
different semantics on and application-oriented tailoring of models. In Sec. 4, we
present our current implementation on top of a standard RDF store. An example
(Sec. 5) shows how the concepts presented in this paper can be applied. Sec. 6
summarizes the NRL approach and discusses next steps.
2</p>
    </sec>
    <sec id="sec-2">
      <title>State of the Art</title>
      <p>
        The Resource Description Framework [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the associated schema language
RDFS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] set a standard for the Semantic Web, providing a representational
language whereby resources on the web can be mapped to designated classes
of objects in some shared knowledge domain, and subsequently described and
related through applicable object properties. With the gradual acceptance of the
Semantic Web as an achievable rather than just an ideal World Wide Web
scenario, and adoption of RDF/S as the standard for describing and manipulating
semantic web data, there have been many attempts to improve some RDF/S
shortcomings to handling such data. Most were in the form of representational
languages that extend RDF/S, the most notable of which is OWL [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Other
work attempted to provide further functionalities on top of semantic data to
that provided by RDF/S by revising the RDF model itself.
      </p>
      <p>
        The most successful idea perhaps is the named graph paradigm, where
identifying multiple RDF graphs and naming them with distinct URIs is believed
to provide useful additional functionality on top of the RDF model. Given that
named graphs are manageable sets of data in an otherwise structureless RDF
triple space composed of all existent RDF data, most of the practical problems
arising from dealing with RDF data, like dealing with invalid or outdated data
as well as issues of provenance and trust, could be addressed more easily if the
RDF model supports named graphs. The RDF recommendation itself does not
provide suitable mechanisms for talking about graphs or define relations between
graphs [
        <xref ref-type="bibr" rid="ref3 ref5 ref8 ref9">3, 9, 5, 8</xref>
        ]. Although the extension of the RDF model with named graph
support has been proposed [
        <xref ref-type="bibr" rid="ref10 ref11 ref6">6, 11, 10</xref>
        ], and the motivation and ideas are clearly
stated, a concrete extension to the RDF model supporting named graph has not
yet materialized. So far, a basic syntax and semantics that models minimal
manipulation of named graphs has been presented by participants of the Semantic
Web Interest Group.3 Their intent is to introduce the technology to the W3C
process once initial versions are finalized.
      </p>
      <p>
        The SPARQL query language [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], currently undergoing standardization by
the W3C, is the most successful attempt to provide a standard query language
for RDF data. SPARQL’s full support for named graphs has encouraged further
research in the area. The concept of modularized RDF knowledge bases (in the
spirit of named graphs) plus views that can be used to realize the semantics of
a module (with the help of rules), amongst other things, has been introduced in
the Semantic Web rule language TRIPLE [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>Since the existing approaches are incomplete wrt. the needs of most
(distributed) Semantic Web scenarios, we propose a combination of named graphs
and TRIPLE’s view concept as the basis for NRL, the representational language
we are presenting. In contrast to TRIPLE, we will add the ability to define views
as an extension of RDF and named graphs at the ontological level, thus we are
not dependent on a specific rule formalism as in the case of TRIPLE.</p>
      <p>In the rest of this paper, we will give a detailed description of the named
graphs and views features of NRL. Other features of NRL (which consist of some
RDFS extensions mainly inspired by Prot´eg´e and OWL) will not be discussed.
3 http://www.w3.org/2004/03/trix/</p>
    </sec>
    <sec id="sec-3">
      <title>The NRL Approach</title>
      <p>NRL was designed to fulfill the requirements for the NEPOMUK Social
Semantic Desktop project,4 hence the particular naming, but it is otherwise domain
independent.</p>
      <p>As discussed in the previous sections, the most notable shortcoming of the
RDF model is the lack of support for handling multiple models. In theory Named
Graphs solve this problem since they are identifiable, modularized sets of data.
Through this intermediate layer handling RDF data, e. g., exchanging data and
keeping track of data provenance information, is much more manageable, which
is very important for many distributed applications. Alongside provenance data,
more useful information can be attached to named graphs. In particular we feel
that named graphs should be distinguished by their roles,5 e. g., Ontology or
Instance Base.</p>
      <p>Users may be interested in different aspects of data in a named graph at
different times. Looking at, e. g., the contents of an image folder, the user might
wish to see related concepts for an image, or any other files related to it, but not
necessarily both concurrently even if the information is stored in the same graph.
Additionally, advanced users might require to see data that is not usually visible
to regular users, like additional indirect concepts related to the file. This would
require the viewing application to realize the RDF/S semantics over the data to
yield more results. The application is therefore required to work with extended or
restricted versions of named graphs in different situations. However, we believe
that such manipulations over named graphs should not have a permanent impact
on the data in question. Conversely, we believe that the original named graph
should be independent of any kind of workable interpretation executed by an
application, which can be discarded if and when they are no longer needed.</p>
      <p>For this reason, we present the concept of Graph Views as one of the core
concepts in NRL. By allowing for arbitrary tailored interpretations for any
established named graph, graph views fulfill our idea that named graphs should not
innately carry any realized semantics or assumptions, unless they are themselves
views on other graphs for exactly that purpose, and that they should remain
unchanged and independent of any view applied on them. This means that different
semantics can be realized for different graphs if required. In practice, different
applications will require to apply different semantics, or assumptions on
semantics, to named graphs. In this way, although the semantic desktop operates in a
closed world, it is also possible to work with open-world semantic views over a
graph. Importing a named graph with open-world semantics is therefore
possible. If required (and meaningful), closed-world applications can then work with
a closed-world semantics view over the imported graph.</p>
      <p>Fig. 1 gives an overview of the NRL components, depicting both the
syntactical and the semantic blocks of NRL. The syntax box contains, in the upper</p>
      <sec id="sec-3-1">
        <title>4 http://nepomuk.semanticdesktop.org/</title>
      </sec>
      <sec id="sec-3-2">
        <title>5 Note that the term “role” has a completely different meaning in description logics</title>
        <p>where it simply denotes a “property.”
part, the NRL Schema language, which is mainly an extension of a large subset
of RDFS. The lower part shows how named graphs, graph roles, and views are
related.</p>
        <p>The left half of the figure explains the NRL semantics, which has a declarative
and a procedural part. Declarative semantics is linked with graph roles, i. e., roles
are used to assign meaning to named graphs (note that not all named graphs
or views must be assigned some declarative semantics, e. g., in cases when the
semantics is (not) yet known or not relevant). Views are also linked to view
specifications, which function as a mechanism to express procedural semantics,
e. g., by using a rule system. The procedural semantics has, of course, to realize
the declarative semantics that is assigned to a semantic view.
3.1</p>
        <sec id="sec-3-2-1">
          <title>Handling Multiple Models: NRL Named Graphs</title>
          <p>
            Named graphs (NGs) are an extension on top of RDF, where every distinct
RDF graph is identified by a unique name. NGs provide additional functionality
on top of RDF particularly with respect to metametadata (metadata about
metadata), provenance, and data (in)equivalence issues, besides making data
handling more manageable. Our approach is based on the work described in [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ]
excluding, however, the open-world assumption stated there. As stated earlier
(cf. Sec. 3) we believe that named graphs should not innately carry any realized
semantics or assumptions on the semantics. Closed-world, open-world, and other
forms of semantics can instead be realized through designated views on graphs.
          </p>
          <p>A named graph is a pair (n, g), where n is a unique URI reference denoting the
assigned name for the graph g. Such a mapping fixes the graph g corresponding
to n in a rigid, non-extensible way. The URI representing n can then be used
from any location to refer to the corresponding set of triples belonging to the
graph g. A graph g′ consistent6 with a distinct graph g named n cannot be
assigned the same name n.</p>
          <p>
            An RDF triple can exist in a named graph or outside any named graph.
However, for consistency reasons, all triples must be assigned to some named graph.
For this reason NRL provides a special named graph, nrl:DefaultGraph. Triples
existing outside any named graph are considered part of this default graph. This
ensures backward compatibility with triples that are not based on named graphs.
This approach gives rise to the term RDF Dataset as defined in [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]. An RDF
dataset is composed of a default graph and a finite number of distinct named
graph, formally defined as the set {g, (n1, g1), (n2, g2), ..., (nn, gn)} comprising of
the default graph g and zero or more named graphs (ni, gi).
          </p>
          <p>NRL distinguishes between graphs and graph roles, in order to have
orthogonal modeling primitives for defining graphs and for specifying their role. A
graph role refers to the characteristics and content of a named graph (e. g.,
simple data, an ontology, a knowledge base, etc.) and how the data is intended to
be handled. The NEPOMUK Graph Metadata vocabulary (NGM)7 provides a
vocabulary for annotating graph roles. Graph metadata will be attached to roles
rather than to the graphs themselves, because its more intuitive to annotate an
ontology, for example, rather than the underlying graph. Roles are more stable
than the graphs they represent.</p>
          <p>Fig. 2 depicts the class hierarchy supporting NGs in NRL. Graph roles are
defined as specialization of the general graph representation nrl:Data. A
special graph, nrl:DocumentGraph, is used as a marker class for graphs that are
represented within and identified by a document UR, thus allowing existing
RDF files to be re-used as named graphs which avoids the need of a syntax
6 Two different datasets asserting two unique graphs but having the same URI for a
name contradict one another.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>7 NGM will not be described in this paper.</title>
        <p>like TriG8 to define named graphs. nrl:subGraphOf, nrl:superGraphOf, and
nrl:equivalentGraph are relations between named graphs having the obvious
semantics: they are defined as ⊆, ⊇, and = on the bare triple sets in these graphs.
nrl:imports is a subproperty of nrl:superGraphOf and models graph imports.
Apart from implying the ⊇ relation between the triple sets, it also requires that
the semantics of the two graphs is compatible if used on, e. g., graphs that are
ontologies. nrl:DefaultGraph, an instance of nrl:Graph, represents the graph
containing all triples existing outside any user-defined named graph. Since we
do not apply any semantics to triples automatically, this allows views to be
defined on top of triples defined outside of all named graphs analogously to the
named-graph case.</p>
        <p>
          nrl:Data represents the most generic role that a graph can have, namely that
it contains data. nrl:Schema and nrl:Ontology (a subclass of nrl:Schema) are
roles for graphs that represent data in some kind of conceptualization model.
nrl:InstanceBase marks a named graph to contain instances from schemas
or ontologies. The properties nrl:hasSchema and nrl:hasOntology relate an
instance base to the corresponding schema or ontology. nrl:KnowledgeBase
marks a named graph as containing a conceptual model plus instances from
schemas or ontologies. nrl:Configuration is used to represent technical
configuration data that is irrelevant to general semantic web data within a graph.
Other additional roles serving different purposes might be added in the future.
nrl:Semantics is used to specify the declarative semantics for a graph role by
referring to instances of this class via nrl:hasSemantics. These will usually
link (via nrl:semanticsDefinedBy) to a document specifying the semantics in
a human readable or formal way (e. g., the RDF Semantics document [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]).
        </p>
        <sec id="sec-3-3-1">
          <title>3.2 Imposing Semantics on Graphs: NRL Graph Views</title>
          <p>A named graph consists only of the enumerated triples in the triple set
associated with the name, and does not inherently carry any form of semantics
(apart from the basic RDF semantics). However in many situations it is
desirable to work with an extended or restricted interpretation of simple syntax-only
named graphs. These can be realized by applying some algorithm (e. g., specified
through rules) which enhances named graphs with entailment triples, returns a
restricted form of the triple set, or an entirely new triple set. To preserve the
integrity of a named graph, interpretations of one named graph should never
replace the original. To model this functionality and retain the separation between
original named graph and any number of their interpretations, we introduce the
concept of Graph Views.</p>
          <p>Views are different interpretations for a particular named graph. Formally, a
view is an executable specification mapping an input graph to a corresponding
output graph. Informally, they can be seen as arbitrary wrappings for a named
graph. Fig. 3 depicts graph view support in NRL. Views are themselves named
graphs, allowing us to have a named graph that is a different interpretation, or</p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>8 http://sites.wiwiss.fu-berlin.de/suhl/bizer/TriG/</title>
        <p>Fig. 3. Graph Views in NRL.
view, of another named graph. This modeling can be applied recurrently, yielding
a view of a view and so on.</p>
        <p>View specifications define the view realization for a view, via a set of
queries/rules in a query/rule language (e. g., a SPARQL query over a named
graph), or via an external application (e. g., an application that returns the
transitive closure of rdfs:subClassOf). As in the latter example, view
realizations can also realize the implicit semantics of a graph according to some schema
language (e. g., RDFS, OWL, NRL). We refer to these as Semantic Views,
represented in Fig. 3 by the intersection of nrl:GraphView and graph roles. One
can draw a parallel between this figure and Fig. 1. In contrast to graph roles,
which have only declarative semantics defined through the nrl:hasSemantics
property, semantic views also carry procedural semantics, since the semantics
of these graphs are always realized, (through nrl:realizes) and not simply
implied.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Implementation</title>
      <p>We have implemented NRL on top of the open-source RDF store Sesame2.9
Sesame2 has an architecture based on several Storage and Inference Layers (Sail)
stacked on top of each other to allow flexible customization of the features needed
from a store. We have implemented NRL as a combination of two Sails designed
to be stacked on top of one of Sesame2’s storage sails (i. e., the MemoryStore or
NativeStore). The first sail is called UnionSail and adds support for virtual union
graphs, i. e., where one virtual named graph is composed of several other graphs.
Sesame2 has built in support for doing SPO-queries and size queries over several
contexts, and our UnionSail adds rewriting of queries to query the appropriate
named graphs. Our second Sail builds on the UnionSail, and handles the details
of NRL views and inference. This Sail offers two additional methods in addition
to the required Sail methods, one for importing a named graph into another,
and one for creating a new view on a named graph. The View specifications
are based on rules, allowing creation of custom views as well as the provided</p>
      <sec id="sec-4-1">
        <title>9 http://www.openrdf.org/</title>
        <p>rule-base for NRL semantics (not detailed in this paper). The NRLSail uses a
forward-chaining rule engine for performing the inference. The rule engine is an
extended version of the engine from Jena,10 and uses the same rule format.</p>
        <p>
          When a new view is created the entailments over the base graph are computed
immediately. The rule engine will compute several strata of entailments, and each
strata is stored in a separate named graph. At the moment, we use a plain
seminaive bottom-up evaluation which is a traditional evaluation strategy used in
logic programming [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. This technique can easily be enhanced by more advanced
strategies like magic set transformation.
        </p>
        <p>In the end, the named graph of the view will be a virtual graph consisting
of the union of the base graph (if desired) and each of the strata, as shown in
Fig. 4. The NRLSail will watch for changes to the base graph and will perform
addition inference whenever further triples are added.
4.1</p>
        <sec id="sec-4-1-1">
          <title>Evaluation</title>
          <p>The NRLSail has not yet been thoroughly evaluated, however we have carried
out initial experimentation with a data-set based on a Personal Information
Model (PIMO) from a user of the Semantic Desktop System NEPOMUK. The
data-set consists of 10850 triples, describing 1800 instances of a hierarchical
taxonomy of personal information management concepts, such as projects, people,
etc. We compared our NRLSail stacked on top of the Sesame2 NativeSail, which
provides persistent storage, with Jena2.4 backed by a MySQL database. For each
solution we loaded the triples, then created a view with RDFS semantics over
these (i. e., in Jena we created an InfModel using the
RDFSForwardRuleReasoner). We then evaluated three complex queries typical for the NEPOMUK
system over this model.11 This simple benchmark showed that our NRLSail
out10 http://jena.sourceforge.net/
11 The three queries were: 1. Get all resources that are instance of pimo:Thing, their
label and class. 2. Get all wiki pages, their title, version number, content, last change
performs Jena with a factor of about six, both for the initial inference step and
for the subsequent querying. Note that this does in any way not constitute a
rigorous evaluation: we used the default settings for both RDF stores and large
optimizations might be possible by tweaking the settings; note also that Jena
includes much more performant inferencing engines than the simple forward-rule
reasoner, but we felt comparing two forward chaining reasoners to be most
appropriate. Also, creating a single view does not really reflect a real deployment
of NRL, and performance might be much worse for a larger data-set with large
numbers of imported named graphs. Finally, we believe that Sesame2 generally
outperforms Jena, and we cannot claim that our implementations accounts for
the factor of six speedup.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Example: NRL in Use</title>
      <p>In this section, we demonstrate the utilization of the various NRL concepts
in a more complex scenario, depicted in Fig. 5. An application requires an online
knowledge base to be made available. A generic base ontology already exists,
this ontology is stored in the named graph O1. A different source supplies data
consisting of instances in this ontology. This is stored as a named graph with the
role of instance base, I1. However, the base ontology is not sufficiently detailed
and a SW knowledge engineer is hired to model another ontology that defines
date, and last author. 3. Get all relations that relate two things, the label and class
of the things being related, and the label of the relation.
further classes not captured in O1, and this is stored as another named graph,
O2. The final application requires concepts from both ontologies, so the engineer
merges O1 and O2 in the required conceptualization by creating a named graph
O as an ontology and defining it as supergraph of O1 and O2. Furthermore, a
number of instances of O2 is compiled in an instance base, I2.</p>
      <p>The application can now combine schematic data from the graph O, and the
instances from I1 and I2 into new graph, KB , acting as a knowledge base and
make this graph available for querying. However, in many scenarios it is also
necessary to realize semantics over an ontology to make full use of class-hierarchies,
etc. This can be achieved by creating a view over KB , using a view
specification that realizes the procedural semantics for RDFS using a rule language of
choice. Executing these rules over the triples in KB results in the semantic view
V1(KB ), which consists of all the RDF triples in KB plus the generated
entailment triples. The separation between the underlying model and the model with
the required semantics is thus retained. Note that the original KB is of course
still available if RDFS semantics are not required.</p>
      <p>Finally, the application also has to cater for less experienced users and it
is desirable to hide some of the details contained in V1(KB ). Discarding useful
information from V1(KB ) permanently is of course not ideal, so a knowledge
engineer creates another view V2(V1(KB )), this time using an external view
specification. It is worth to note that all seven named graphs on which this last
view is generated upon are still intact and have not been affected by any of
the operations along the way. If the knowledge engineer requires to apply some
different semantics over KB , it may still be done since generating V1(KB ) did
not have an impact on KB .</p>
      <p>
        Fig. 6 shows the example in TriG12 which is a plain text format created for
serializing Named Graphs and RDF Datasets. For additional detail on the NRL
elements used in this example please refer to [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Summary and Outlook</title>
      <p>
        In this paper, we described those parts of the NEPOMUK Representational
Language (NRL) which are rooted in the requirements risen by the distributed
knowledge representation and heterogeneity aspects of distributed, social
Semantic Web applications and which we think cannot satisfactorily be dealt with
by the current state of the art. In a nutshell, the basic arguments and design
principles of NRL are as follows:
– Due to the heterogeneity of the data creating and consuming entities, a
single interpretation schema cannot be assumed. Therefore, NRL aims at a
strict separation between data (sets of triples, graphs) and their
interpretation/semantics.
12 http://sites.wiwiss.fu-berlin.de/suhl/bizer/TriG/; TriG is a straight-forward
extension of Turtle (http://www.dajobe.org/2004/01/turtle/)
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] @prefix nrl: &lt;http://semanticdesktop.org/ontology/nrl-yyyymmdd#&gt; .
      </p>
      <p>
        @prefix ex: &lt;http://www.example.org/vocabulary#&gt; .
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] ex:o2 rdf:type nrl:Ontology .
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] &lt;http://www.domain.com/o1.rdfs&gt; rdf:type nrl:Ontology ,
      </p>
      <p>
        nrl:DocumentGraph .
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] ex:o1 rdf:type nrl:Ontology ;
      </p>
      <p>
        nrl:equivalentGraph &lt;http://www.domain.com/o1.rdfs&gt; .
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] ex:o rdf:type nrl:Ontology ;
      </p>
      <p>
        nrl:imports ex:o1, ex:o2 .
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] ex:i2 rdf:type nrl:InstanceBase ;
      </p>
      <p>
        nrl:hasOntology ex:o2 .
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] http://www.anotherdomain.com/i1.rdf&gt; rdf:type nrl:InstanceBase ,
nrl:DocumentGraph .
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] ex:kb rdf:type nrl:KnowledgeBase ;
      </p>
      <p>
        nrl:imports ex:o, ex:i2, &lt;http://www.anotherdomain.com/i1.rdf&gt; .
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] ex:o2 {
ex:Animal rdf:type rdfs:Class .
      </p>
      <p>
        ## further Animal Ontology definitions here ## }
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]ex:i2 {
ex:CandyCaneWorm rdf:type ex:Flatworm ;
      </p>
      <p>
        ## further Animal Instance definitions here ## }
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] ex:v1kb rdf:type nrl:KnowledgeBase, nrl:GraphView ;
nrl:viewOn ex:kb ; nrl:superGraphOf ex:kb ;
nrl:hasSpecification ex:rvs .
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] ex:rvs rdf:type nrl:RuleViewSpecification ;
nrl:realizes ex:RDFSSemantics ; nrl:ruleLanguage "SPARQL" ;
nrl:rule "CONSTRUCT {?s rdfs:subClassOf ?v} WHERE ..." ;
nrl:rule "CONSTRUCT {?s rdf:type ?v} WHERE ..." .
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] ex:RDFSSemantics rdf:type nrl:Semantics ; rdfs:label "RDFS" ;
      </p>
      <p>
        nrl:semanticsDefinedBy "http://www.w3.org/TR/rdf-mt/" .
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] ex:v2v1kb rdf:type nrl:GraphView, nrl:KnowledgeBase ;
      </p>
      <p>nrl:viewOn ex:v1kb ; nrl:hasSpecification ex:evs .
[15] ex:evs rdf:type nrl:ExternalViewSpecification ;
nrl:externalRealizer "GraphTaxonomyExtractor" .</p>
      <p>Fig. 6. NRL Example—TriG Serialization.
– Imposing specific semantics to a graph is realized by generating views on
that graph. Such a generation is directed by an (executable) view
specification which may realize a declarative semantics (e. g., the RDF/S or OWL
semantics specified in a standardization document).
– Graph views cannot only be used for semantic interpretations of graphs, but
also for application-driven tailoring of a graph.13
– Handling of multiple graphs (with different provenance, ownership, level of
trust, ...) is essential. Named graphs are the basic means to this problem.
– Graphs can play different roles in different contexts. While for one
application a graph may be an ontology, another one may see it as plain data. These
roles can explicitly be specified.</p>
      <p>While originally designed as a NEPOMUK internal standard for the Social
Semantic Desktop, we believe that the arguments also hold for the general
Semantic Web, especially when we review the current trends which more and more
show a development from the view of “the Semantic Web as one big, global
knowledge base” to “a Web of (machine and human) actors” with local
perspectives and social needs like trust, ownership, etc.
13 This corresponds to a database-like view concept.</p>
      <p>A first, prototypical (and incomplete) implementation of NRL based on
Sesame2 and Jena rules has been developed, and is released as open-source.14 We
will continue this implementation and evaluate it in the context of NEPOMUK
and also other, distributed social Semantic Web applications.</p>
      <p>Acknowledgements This work was supported by the European Union IST
fund (Grant FP6-027705, Project NEPOMUK) and by the German Federal
Ministry of Education, Science, Research and Technology (bmb+f), (Grant 01 IW
F01, Project Mymory: Situated Documents in Personal Information Spaces).
The authors would especially like to thank all contributors to NEPOMUK’s
ontology taskforce.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>I.</given-names>
            <surname>Balbin</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Ramamohanarao</surname>
          </string-name>
          .
          <article-title>A generalization of the differential approach to recursive query evaluation</article-title>
          .
          <source>J. Log. Program.</source>
          ,
          <volume>4</volume>
          (
          <issue>3</issue>
          ):
          <fpage>259</fpage>
          -
          <lpage>262</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Bechhofer</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. van Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinnes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>PatelSchneider</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Stein</surname>
          </string-name>
          .
          <source>OWL web ontology language reference</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>D.</given-names>
            <surname>Beckett</surname>
          </string-name>
          .
          <article-title>RDF/XML syntax specification (revised)</article-title>
          .
          <source>W3C recommendation, W3C</source>
          ,
          <year>February 2004</year>
          . http://www.w3.org/TR/rdf-syntax-grammar/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hendler</surname>
          </string-name>
          , and
          <string-name>
            <surname>O. Lassila.</surname>
          </string-name>
          <article-title>The semantic web</article-title>
          .
          <source>Scientific American</source>
          ,
          <volume>89</volume>
          , May
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Guha</surname>
          </string-name>
          .
          <source>RDF vocabulary description language 1</source>
          .0:
          <string-name>
            <given-names>RDF</given-names>
            <surname>Schema</surname>
          </string-name>
          .
          <source>Technical report, W3C</source>
          ,
          <year>February 2004</year>
          . http://www.w3.org/TR/rdf-schema/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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.</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 '05: Proceedings of the 14th international conference on World Wide Web</source>
          , pages
          <fpage>613</fpage>
          -
          <lpage>622</lpage>
          , New York, NY, USA,
          <year>2005</year>
          . ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Frank</surname>
          </string-name>
          .
          <article-title>The social semantic desktop</article-title>
          .
          <source>In Proc. of the WWW2004 Workshop Application Design, Development and Implementation Issues in the Semantic Web</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>P.</given-names>
            <surname>Hayes</surname>
          </string-name>
          . RDF semantics.
          <source>W3C recommendation, W3C</source>
          ,
          <year>February 2004</year>
          . http://www.w3.org/TR/rdf-mt/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>F.</given-names>
            <surname>Manola</surname>
          </string-name>
          and
          <string-name>
            <surname>E. Miller.</surname>
          </string-name>
          <article-title>RDF primer</article-title>
          .
          <source>W3C recommendation, W3C</source>
          ,
          <year>February 2004</year>
          . http://www.w3.org/TR/rdf-primer/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. E.
          <string-name>
            <surname>Prud</surname>
          </string-name>
          <article-title>'hommeaux and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Seaborne</surname>
          </string-name>
          .
          <article-title>SPARQL query language for RDF. W3C working draft</article-title>
          ,
          <source>W3C</source>
          ,
          <year>2005</year>
          . http://www.w3.org/TR/rdf-sparql-query/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>M.</given-names>
            <surname>Sintek</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          .
          <article-title>TRIPLE-A query, inference, and transformation language for the Semantic Web</article-title>
          .
          <source>In 1st International Semantic Web Conference (ISWC2002)</source>
          ,
          <year>June 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>M. Sintek</surname>
          </string-name>
          , L. van
          <string-name>
            <surname>Elst</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Scerri</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Handschuh</surname>
          </string-name>
          .
          <article-title>Distributed knowledge representation on the social semantic desktop:named graphs, views and roles in nrl</article-title>
          .
          <source>In Proceedings of the 4th European Semantic Web Conference (ESWC)</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. L. van
          <string-name>
            <surname>Elst</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Dignum</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Abecker</surname>
          </string-name>
          .
          <article-title>Towards agent-mediated knowledge management</article-title>
          . In L. van
          <string-name>
            <surname>Elst</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Dignum</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A</surname>
          </string-name>
          . Abecker, editors,
          <source>Agent-Mediated Knowledge Management International Symposium AMKM</source>
          <year>2003</year>
          , Stanford, CA, USA, March
          <volume>24</volume>
          -26,
          <year>2003</year>
          , Revised and
          <string-name>
            <given-names>Invited</given-names>
            <surname>Papers</surname>
          </string-name>
          , volume
          <volume>2926</volume>
          <source>of LNAI</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          . Springer, Heidelberg,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>14 NRLSail, https://dev.nepomuk.semanticdesktop.org/wiki/NRLSail</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>