<!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>Assisted Policy Management for SPARQL Endpoints Access Control</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luca Costabello</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Serena Villata?</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Iacopo Vagliano</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabien Gandon</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>INRIA Sophia Antipolis</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>France</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>firstname.lastnameg@inria.fr</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Shi3ld is a context-aware authorization framework for protecting SPARQL endpoints. It assumes the de nition of access policies using RDF and SPARQL, and the speci cation of named graphs to identify the protected resources. These assumptions lead to the incapability for users who are not familiar with such languages and technologies to use the authorization framework. In this paper, we present a graphical user interface to support dataset administrators to de ne access policies and the target elements protected by such policies.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>Our Proposal</title>
      <p>The Shi3ld policy management GUI2 is designed to support the interaction
with two kinds of dataset administrators: non-experts, which are assumed not
to know the SPARQL query language and RDF, and experts, which are able to
edit access policies source code. In particular, the following functionalities are
proposed:
{ Policies visualization and modi cation: the application shows the list
of policies stored in the triple store through a grid view. Each policy is
an expandable row that, if selected, shows the main features of the policy
like the policy target (i.e. the named graphs protected by the policy), the
privilege granted by the policy (Create, Update, Read, Delete), and the
access conditions (SPARQL 1.1 ASK queries) which specify the requirements
that need to be satis ed to access the target resource. Users can edit all
these elements, e.g., they associate the policy to another named graph, add
or remove privileges, or modify the de ned access conditions. Two di erent
views are proposed to the user: i) a graphical view where operations are
performed without the need to write policies using SPARQL and RDF to
support non-expert administrators, and ii) a textual editor which allows to
directly write policies using SPARQL and RDF for expert administrators.
{ Policies creation: the creation of a new context-aware policy is managed by
a wizard. In particular, the wizard proposes the following views: i) the de
nition of the policy name (which is then \translated" into an rdfs:label), the
target named graph (it is possible to select one of the already de ned named
graphs included in the triple store, or to de ne a new one as we will detail
later), and the privilege(s) to associate to the policy; ii) the view
concerning the User dimension, that consists in a text box where the administrator
inserts the features that must be satis ed by the user accessing the target
resource, e.g., foaf:knows :ACME boss. The text box provides
autocompletion and it suggests a list of properties showing the associated vocabulary (to
date, we use the foaf3 and relationship4 vocabularies, but other
vocabularies can be added); iii) the view concerning the Environment dimension,
that consists in two parts: the rst one de nes temporal conditions, and the
second one deals with geographical conditions. Temporal conditions are
expressed with a time picker, to select the desired time interval in which the
access is granted. The de nition of the geographical condition is done with
a map interface5, enriched with a movable marker and a resizable radius;
iv) the view concerning the Device dimension, similar to the User view, that
suggests the access properties related to the device used to access the target
2 Video available at http://wimmics.inria.fr/projects/shi3ld/
3 http://xmlns.com/foaf/spec/
4 http://purl.org/vocab/relationship/
5 http://developers.google.com/maps/
resource (we use the Delivery Context vocabulary6 but further vocabularies
can be added). At the end of the wizard, the access policy is automatically
generated and stored in the triple store.
{ Named graphs creation: the administrator is assisted in the de nition
of a new named graph. Shi3ld access policies must be associated to named
graphs, and this leads to a number of di cult tasks for non-expert users,
since it involves the use of non-trivial SPARQL features. We thus provide a
GUI to mask such complexity, by letting administrators de ne a new named
graph starting from the set of triples they want to associate to such newly
de ned named graph. The application asks for the label of the named graph
to be created and it presents the template of a SELECT query, to be completed
with the desired triple pattern. A preview of the selected triples is shown,
thus letting the administrator check which triples will be added to the named
graph. If results are satisfying, the new named graph is created and it can
be used as the access policy target.</p>
      <p>
        The Shi3ld Policy Manager is a web application developed in JavaScript
and backed by a Fuseki SPARQL 1.1 triple store7. The server-side relies on the
Node.js platform8, and the front-end is built over jQuery, the Twitter Bootstrap
framework9, and Backbone.js10 as structure. The SPARQL editor is provided by
Flint11.
6 http://www.w3.org/TR/dcontology/
7 http://jena.apache.org/documentation/serving_data/
8 http://nodejs.org/
9 http://twitter.github.io/bootstrap/
10 http://backbonejs.org/
11 http://openuplabs.tso.co.uk/demos/sparqleditor
We have presented a user interface to
declare context-aware policies for the
Shi3ld authorization framework. There
are several issues to be considered as
future research. First, since Shi3ld has
been recently extended to manage also
HTTP access to resources [
        <xref ref-type="bibr" rid="ref4">3</xref>
        ], we will
extend this application such that also
policies for Shi3ld-HTTP would be de ned
and manageable, i.e., access conditions
are de ned as RDF triples instead of ASK
SPARQL queries. Second, we will
integrate our interface with the Linked Open
Vocabulary catalogue12 such that
administrators are supported in including
new vocabularies used to de ne the
access conditions. Third, we plan to favour
policy reuse across datasets by adding a
\policy template" sharing functionality.
      </p>
      <p>Moreover, we envision a \deep"
properties validation, (i.e. checking that a
certain URI actually corresponds to a foaf
pro le). Finally, we will add a sandbox
to test the access policies e ectiveness
on the protected triples.
12 http://lov.okfn.org/dataset/lov/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          Fig.
          <article-title>2: The Shi3ld user interface</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          1.
          <string-name>
            <surname>Carroll</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>P.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stickler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Named graphs</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <volume>247</volume>
          {
          <fpage>267</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          2.
          <string-name>
            <surname>Costabello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Villata</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gandon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Context-Aware Access Control for RDF Graph Stores</article-title>
          .
          <source>In: Procs of ECAI. Frontiers in Arti cial Intelligence and Applications</source>
          , vol.
          <volume>242</volume>
          , pp.
          <volume>282</volume>
          {
          <fpage>287</fpage>
          . IOS Press (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          3.
          <string-name>
            <surname>Costabello</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Villata</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rocha</surname>
            ,
            <given-names>O.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gandon</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Access Control for HTTP Operations on Linked Data</article-title>
          .
          <source>In: Procs of ESWC. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7882</volume>
          , pp.
          <volume>185</volume>
          {
          <fpage>199</fpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lopez</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uren</surname>
            ,
            <given-names>V.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motta</surname>
          </string-name>
          , E.:
          <article-title>Is Question Answering t for the Semantic Web?: A survey</article-title>
          .
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <issue>2</issue>
          ),
          <volume>125</volume>
          {
          <fpage>155</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ngomo</surname>
            ,
            <given-names>A.C.N.</given-names>
          </string-name>
          , Buhmann, L.,
          <string-name>
            <surname>Unger</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerber</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Sorry, i don't speak SPARQL: translating SPARQL queries into natural language</article-title>
          .
          <source>In: Procs of WWW</source>
          . pp.
          <volume>977</volume>
          {
          <fpage>988</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sonntag</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heim</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A Constraint-Based Graph Visualization Architecture for Mobile Semantic Web Interfaces</article-title>
          .
          <source>In: Procs of SAMT. Lecture Notes in Computer Science</source>
          , vol.
          <volume>4816</volume>
          , pp.
          <volume>158</volume>
          {
          <fpage>171</fpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>