<!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>VPOET Templates to Handle the Presentation of Semantic Data Sources in Wikis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mariano Rico</string-name>
          <email>mariano.rico@uam.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Camacho</string-name>
          <email>david.camacho@uam.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Óscar Corcho</string-name>
          <email>ocorcho@fi.upm.es</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Department, Universidad Autónoma de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ontology Engineering Group, Departamento de Inteligencia Artificial, Universidad Politécnica de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We describe VPOET templates, web templates to present or request semantic data to or from end users. These templates can be used by web developers with no competencies in Semantic Web by means of simple HTTP messages. Although its application to wiki environments is only pointed, a real application oriented to end users is shown. This experience shows that VPOET templates can be easily integrated in web applications written in any programming language.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Besides semantic annotation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], some general-purpose wikis also provide support
to create semantic web applications [
        <xref ref-type="bibr" rid="ref2 ref3">2,3</xref>
        ]. VPOET 3 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is one of these semantic
web application, aimed at web designers without knowledge in Semantic Web. It
allows them to create web templates designed to display semantic data (output
templates) or to request information from the user to convert it into semantic
data (input templates).
      </p>
      <p>All the information is stored as semantic data that can be recovered through
simple HTTP messages, in a much simpler way than SPARQL endpoints (which
require SPARQL language skills to create the HTTP message), aimed at lowering
the adoption barrier for common web developers. An additional benefit of using
HTTP messages, compared to traditional programming libraries, is that it can
be exploited by developers in any programming language, expanding further the
developers scope.</p>
      <p>As a usage example for testing how a common developer can exploit the
semantic information stored in VPOET, we have created a Google Gadget that
allows users with minimal knowledge of Web technologies (end users) to
incorporate semantic information in their web sites and in applications such as Google
Pages, Google Desktop, etc. This example shows that VPOET templates can be
∗This work has been partially funded under the projects HADA (TIN2007-64718),
METEORIC (TIN2008-02081), and DEDICON (TIC-4425)</p>
      <p>3See http://ishtar.ii.uam.es/fortunata/Wiki.jsp?page=VPOET
easily integrated into any web application. In a wiki framework, a simple
command (in “edition mode”) with few arguments, can be used to render (in “view
mode”) semantic data, allowing users browse through the semantic relations.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <p>The way in which templates can help users to homogenize semantic data
presentation has been addressed before. Semantic Media Wiki allows users creating
templates, but employs an intricate syntax and parsing functions 4. Therefore,
it is not easy to handle by a web designer, usually with lower competences in
programming languages.</p>
      <p>
        A template infrastructure for semantic data is Fresnel [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], used by Longwell,
a faceted semantic web browser. However the Fresnel syntax 5 requires skills in
semantic web technologies that cannot be accomplished by most web designers.
      </p>
      <p>
        Rhizomer [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is an infrastructure to browse and edit semantic data. The
presentation of RDF data is achieved by means of XSLT. The competences
required to create Rhizomer templates are not aimed at web designers either.
      </p>
      <p>Therefore, the current state of the art does not provide web designers with
authoring tools to create attractive an reusable templates for semantic data.
There must be a balance between expressiveness, to address RDF features (e.g.
multi-valued properties, properties with no value) and complexity, in order to
reduce the required level of competencies. VPOET provides web designers with
OMEMO6, another application that generates simplified versions of a given
ontology, specifically oriented to web designers. By reading the information
provided by OMEMO, web designers can know the sub-components of a given
ontology component, requiring only basics of semantic web technologies such as
class, property, value or relation. Details such as restrictions, inverse functional
properties, etc. are hidden on purpose.
3</p>
    </sec>
    <sec id="sec-3">
      <title>VPOET as a templates source</title>
      <p>VPOET has two faces, on the one hand it is a web application oriented to
web designers ranging from amateur users to professional ones. Following a 20
min. online tutorial 7 is enough to start creating templates embedding
simple macros in the client-side code (HTML, CSS, or Javascript) generated by
the web designer favorite authoring tool (e.g. Dreamweaver). These macros
are detailed in the aforementioned tutorial. Figure 1 shows an output
template for FOAF:Person. Macros are framed within a thick rectangle (OmemoGetP,
OmemoConditionalVizFor, among others), and reused templates are framed
4A template source code and usage example can be found at http://en.wikipedia.
org/wiki/Template:Infobox_Settlement
5See an example at http://www.w3.org/2005/04/fresnel-info/manual/
6See http://ishtar.ii.uam.es/fortunata/Wiki.jsp?page=OMEMO
7See http://ishtar.ii.uam.es/fortunata/Wiki.jsp?page=VPOETTutorial
within a thin stroke. It must be noticed that, unlike other templates systems, the
code is essentially client-side code, substituting programming issues by simple
macros, easier to understand by web designers. These macros allow a variable
number of arguments and can be evaluated in design time, warning web designers
when some of the arguments is wrong.</p>
      <p>On the other hand, it is a semantic data source fed by the templates created
by a community of web designers sharing and reusing templates. This source can
be exploited easily by common web developers, in any programming language,
by means of HTTP messages (GET and POST) like “render the semantic data
at URL Z by using the output template X created by designer Y”, codified as a
HTTP GET message by means of the following URL:
http://URL-to-servlet/VPoetRequestServlet?action=renderOutput
&amp;designID=X&amp;provider=Y&amp;source=Z.</p>
      <p>An additional argument can specify a given individual in the source. In this
case, only the individual is rendered. The full syntax of these HTTP messages
can be found in the aforementioned tutorial.</p>
    </sec>
    <sec id="sec-4">
      <title>Using VPOET templates in wiki pages</title>
      <p>Exploiting VPOET templates by means of the aforementioned HTTP messages
is easy. As an usage example, a Google Gadget named GG-VPOET 8 has been
created. By using this gadget, any end-user can render a semantic data source
(by means of an output template) or provide a web interface to create semantic
data (by means of an input template). GG-VPOET, as any other Google Gadget,
can be inserted into a regular web page or in Google products such as iGoogle,
Google Desktop or Google Pages. Figure 2 shows this gadget in action, rendering
a given data source by means of the template shown in figure 1.</p>
      <p>Following the same principles, the integration of VPOET templates in a given
wiki framework (let us say JSPWiki) depends on the existence of a mechanism
to add new tags in the wiki syntax and associate functionality to the tag. For
example, JSPWIki implements these features by means of plugins, and getting
the renderization shown in figure 2 (right side) is as easy as creating a JSPWiki
plugin (let us name it VPOETPlugin) and use it like this in any JSPWiki page:
[{VPOETPlugin action=’renderOutput’ designID=’X’ provider=’Y’
source=’Z’ width=’400’ height=’300’}]</p>
      <p>8Available at the Google Gadgets Directory (look for GG-VPOET in http://www.
google.com/ig/directory).</p>
      <p>The implementation of VPOETPlugin reads the input parameters (action,
designID, provider etc.), builds a HTTP message (a simple URL for HTTP
GET messages like the one shown in section 3), and sends it to a running VPOET
application (to a specific well-known VPOET servlet).
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and further work</title>
      <p>The experience with GG-VPOET shows that the integration of VPOET
templates into wikis could be easy in terms of wiki development effort and required
competencies (basic skills in any programming language to create HTTP
messages). This feature is specially remarkable in the wiki world in which wiki
engines are written in most programming languages such as Java, Ruby, PHP or
Perl. In any one of these languages it is easy to create and send a HTTP
message. Additionally, wiki users benefit from professional web designs, providing
attractive wiki pages which handle semantic data.</p>
      <p>Our future work is to improve the features of VPOET in two directions:
containers and user profiles. The former are intended to allow web designers
create graphical containers (e.g. a tabs based agenda) to render multiple
semantic individuals. The current implementation renders the individuals sequentially.
The latter extends the HTTP messages to include a parameter pointing to a
semantic description of the user profile. This profile can specify the user device
(e.g. PC, handheld, TV) or the user interactive characteristics (e.g. color
blindness, reduced visual sharpness). By providing this information, VPOET could
return the “best”template for a given situation. An hypothetical wiki exploiting
VPOET templates could request users to provide their user profile (URL) or
provide an ad hoc user interface to create it and store it, providing wiki users
with an interface adapted to their needs.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Oren</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delbru</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moller</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volkel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Handschuh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Annotation and Navigation in Semantic Wikis</article-title>
          .
          <source>In Proc. SemWiki</source>
          . CEUR-WS vol.
          <volume>206</volume>
          , (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>García</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gimeno</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perdrix</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gil</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliva</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Rhizomer Semantic Content Management System</article-title>
          .
          <source>In Proc. WSKS. LNAI Series</source>
          , vol.
          <volume>5288</volume>
          , pp.
          <fpage>387</fpage>
          -
          <lpage>394</lpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Oren</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haller</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mesnage</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hauswirth</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heitmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A Flexible Integration Framework for Semantic Web 2.0 Applications</article-title>
          . IEEE Software
          <volume>24</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>64</fpage>
          -
          <lpage>71</lpage>
          , (Sept-Oct
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Rico</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Camacho</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , Óscar Corcho: VPOET:
          <article-title>Using a Distributed Collaborative Platform for Semantic Web Applications</article-title>
          .
          <source>In Proc. IDC2008. SCI Series</source>
          vol.
          <volume>162</volume>
          ,
          <fpage>167</fpage>
          -
          <lpage>176</lpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pietriga</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karger</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Fresnel: A Browser-Independent Presentation Vocabulary for RDF</article-title>
          .
          <source>In Proc. ISWC. LNCS 4273</source>
          , pp.
          <fpage>158</fpage>
          -
          <lpage>171</lpage>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>García</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gil</surname>
          </string-name>
          , R.:
          <article-title>Improving Human-Semantic Web Interaction: The Rhizomer Experience</article-title>
          .
          <source>In Proc. SWAP'06. CEUR-WS</source>
          vol.
          <volume>201</volume>
          , pp.
          <fpage>57</fpage>
          -
          <lpage>64</lpage>
          , (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>