<!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>Modular, Best-Practice Solutions for a Semantic Web-Based Digital Library Application</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrew Russell Green</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>José Antonio Villarreal Martínez</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Instituto Mora (National Council for Science and Technology, Mexico) and Instituto de Investigaciones Estéticas, National Autonomous University of Mexico</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Digital libraries and archives stand to benefit greatly from the Semantic Web, which may provide a basis for novel end-user functions targeted at research and teaching. The project “Image Preservation, Information Systems, Access and Research” seeks to develop an adaptable digital library application based on a back-end of semantically modeled data. By “adaptable” we mean able to adapt to diverse library and archive scenarios, especially involving the integration of different types of material (photographic prints, negatives, drawings, periodicals, books, etc.) in a single system. This requires “mixing and matching” standard and non-standard catalogue record formats and ontologies to model them. A central problem we have encountered is: how to structure application logic in this context in a way that follows best-practice principles. In this paper we discuss the problem and propose, as a tentative solution, a Semantic Component Architecture, which would provide an integrated, encapsulating way of selecting vocabularies and establishing inference rules, recurrent path patterns, graph constraints, catalogue record templates and arbitrary logic. We also review the related issue of encapsulation of low-level graph structures.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic Web application architecture</kwd>
        <kwd>ontology modularization</kwd>
        <kwd>path definition languages</kwd>
        <kwd>digital libraries</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Digital libraries and archives stand to benefit greatly from the Semantic Web
(SW). Semantically modeled catalogues should provide a basis for new functions
to help users sift through large and diverse repositories, discover patterns, explore
associations among objects, find relevant information, and create and share
descriptions of objects in a structured, flexible manner. This is the promise the SW
holds for knowledge repositories, and one can hardly underestimate its potential
impact in History and other Social Sciences: archives are primary sources—
essential deposits of partially processed information, used for research in these
disciplines—and despite the high degree of interrelation among data in different
archives, catalogues are often isolated and employ divergent record formats that
are hard to align using standard information technology.1</p>
      <p>This issue is one of the reasons the project Image Preservation, Information
Systems, Access and Research (IPISAR) set out to build a SW-based digital
library application. The project investigates the dissemination, study and
management of heritage resources, and attempts to provide solutions to common
problems in these areas.</p>
      <p>The application being built, called “Pescador”, will store catalogue data in
a persistent triple store (whose function will be similar to that of a relational
database in traditional systems). The requirements for the application include
the ability to integrate data in various catalogue formats and adapt to the
cataloguing needs of diverse archives. In this paper, the terms “catalogue format”
and “record format” refer to the selection, organization and meaning of fields
used to describe objects in an archive or library catalogue, as well as other
conventions related to catalogue creation. Since Pescador will use the SW to model
catalogues, each record format will correspond to a distinct kind of graph
structure, often requiring specialized vocabulary and rules, and related to specialized
application logic.</p>
      <p>
        The application will have three main types of users: (1) regular users (or
“patrons”) who will consult the material provided by the digital library, (2)
cataloguers, who will provide and manage the library’s materials and metadata, and
(3) catalogue designers/modelers/programmers, who will select or create the
catalogue record formats and corresponding ontologies, and adapt the system to the
needs of a given scenario. Pescador will provide a Web interface for the first two
kinds of users; on this level, numerous functions targeted at research, teaching
and cataloguing are planned [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. When these users view data from the catalogue,
they will see a user-friendly organization of information extracted from the SW
graph; similarly, when cataloguers modify elements in the catalogue, they will
employ an easy-to-use form, and the SW graph will be changed according to
their input.
      </p>
      <p>
        The third type of user, the catalogue designer/modeler/programmer, will use
a programming interface. The problem considered in this paper is: how to design
an interface that allows users of this type to adapt the application to their needs,
in a way that follows best-practice information engineering principles such as the
encapsulation of complexity, the separation of concerns and the non-repetition
of declarations. To achieve this we propose a Semantic Component Architecture
(SCA), that is, an adaptation of component architecture principles to a SW
application context, in which data structure rules and application logic are closely
linked. In addition, we propose a mechanism for encapsulating low-level graph
structures, which should also help catalogue designers/modelers/programmers
follow best-practice principles.
1 The situation of historical archives varies greatly from one archive to another. Other
recurring difficulties include access restrictions and insufficient funding; the first of
these is also a major focus of the project described in this article. See [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        To date, two incomplete versions Pescador have been created. Both are
currently used for Web sites that offer simple consultation functions for on-line
archives (available at [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Our proposals stem from the experience of
developing these versions of the application. Though the project IPISAR may
yet generate new archival Web sites using the second version, it is clear that to
implement all proposed features, a major rewrite is unavoidable. It should be
noted that work on the rewrite and on the detailed design and implementation
of the SCA has not yet begun. The general nature of the proposals outlined here
is a reflection of this.
      </p>
      <p>All versions of Pescador are provided under the terms of the free GNU GPL
license.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Previous related development experiences</title>
      <p>
        Since before work on Pescador began, it was clear that to integrate data in
various formats and adapt to diverse scenarios, the system would have to offer ways
of selecting vocabulary, establishing graph constraints2 and configuring the
algorithms used to transform information as it passed between the model and the UI.
In retrospect, we can say that we have consistently underestimated the
complexity of the mechanisms required for these and related processes. The first version
of Pescador (version 0.1) allowed catalogue designers/modelers/programmers to
select RDF schemas and set presentation information, which was modeled using
an augmented version of the Fresnel Display Vocabulary [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In the subsequent
version (0.2), we abandoned Fresnel due to its limited scope (it was designed
only for specifying how to display SW data) and text manipulation features,
and instead created a domain-specific language (DSL) that provided an
integrated way of establishing vocabulary, graph constraints, inference rules, path
definitions and display specifications. Our DSL also allowed the creation of
executable code fragments that could be hooked into various parts of the system.
Though never implemented in full, the DSL was, we believe, an important step
in the right direction, as it recognized the need to take into account best-practice
principles when setting out configuration information [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, our version
0.2 design was flawed precisely because it defined a configuration system—it
offered a very limited range of possibilities for creating arbitrary logic and
encapsulating complexity, as compared to our current proposal, the SCA, which
by its very nature calls for opening as widely as possible the catalogue
designer/modeler/programmer’s options. The difficulties we faced in organizing
and re-using code written in our own DSL highlight the need for mechanisms
that do not impose the limits that our DSL did.
2 By graph constraints, in this context and in the rest of the paper, we mean the
specifications of how to structure and link subgraphs that describe elements in the
catalogue. This includes, but is not limited to, establishing which properties may be
used with resources of a which classes, and the properties’ allowed cardinality.
      </p>
    </sec>
    <sec id="sec-3">
      <title>General conception of an SCA</title>
      <p>
        The SCA we envision would coordinate pluggable “components” or “bundles” 3
that would wrap interrelated elements of any of the following types: schemas,
constraints, inference rules, ontologies, path definitions, executable code,
display specifications, Abox configuration information, and links to external data
sources. As in other component frameworks, bundles would be able to provide
hooks of various kinds and use the hooks exposed by other bundles. These hooks
would be the bundle’s means of controlling and simplifying access to the elements
it wraps. A bundle could also “depend on” other bundles, and would thereby know
which external hooks are available to it. The standard definition of a component
as “a software artifact consisting of three parts: a service interface, a client
interface and an implementation”[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] might, with little or no modification, provide
adequate theoretical grounding for an SCA—though we would have to ask how
a SW application context would modify our understanding of what constitutes
an interface and what constitutes an implementation.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Justification</title>
      <p>An SCA would help solve issues of encapsulation and re-usability. Consider,
for example, an archive that includes books, photographic prints, negatives and
handwritten manuscripts. Catalogue record formats for each type of object would
certainly vary, though they would also have elements in common. For example,
all objects would probably be associated with an author and a creation date. But
only the negatives, photographic prints and books could be associated in a chain
of image reproductions (as in, a negative could be reproduced on a print, and
the print could be touched up and cropped, then reproduced in a book). Many
objects might have a place of creation, but the precise meaning of this concept
would not be the same for a book (place of publication) and for a negative
(place the photo was taken). Of course, the SW excels in the alignment of data
structures like these. However, setting up a digital archive to integrate records
of such objects involves much more than establishing data structures and their
intersections; bits of logic have to be defined, and it makes sense to define them
alongside related data structure information in an encapsulated way—in other
words, to “keep together what goes together”.</p>
      <p>Thus, in an SCA, the logic needed to transform the SW model of a book’s
metadata into a standard bibliographic citation might be stored in the same
bundle as the vocabulary, graph constraints, and remaining display information
for books. Similarly, a component could be created for chains of image
reproductions (like the one described above). The component could enclose vocabulary,
constraints, path definitions, and code for generating visual representations of
these chains. Other components—such as those for books and photographs—
could depend on it, interfacing with the hooks provided and thus employing in
a simplified manner the enclosed complexity.
3 Herein the terms “bundle” and “component” are used as synonyms.</p>
      <p>The advantages of component architectures, and of the modularity and
reusability they offer, have long been recognized, and countless frameworks and
related technologies are used in applications of all shapes and sizes.4 Component
architectures are increasingly viewed as a programming paradigm in their own
right.</p>
      <p>Our experience shows that a SW-based system that relies, as Pescador 0.1
did, on partially overlapping RDF data sets coupled with fragments of related
logic scattered throughout the application, ends up grossly violating best-practice
principles in many respects, to the detriment of flexibility and scalability. An
SCA would address these problems in a thorough manner, and provide a basis
for the re-use of ontologies coupled with application logic.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Path Definitions in the Context of an SCA</title>
      <p>
        In both versions of Pescador, the algorithms that extract information from the
graph frequently traverse paths from one resource to another. These paths vary
greatly in length and complexity. To allow for encapsulation and separation of
concerns as proposed, an SCA must include a means of defining path patterns
that supports these principles. (We first ran into path-related encapsulation
issues in version 0.1 of Pescador, which used SPARQL to extract information from
the graph. In that version, we found ourselves writing SPARQL queries that
repeated information already set out in several other parts of the application—
quite the opposite of a maintainable application structure.) The solution we
suggest is to adapt an existing path definition mechanism (of which there are
many [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]) to allow bundles to define paths as aggregates of other paths, which
may in turn be defined opaquely in other bundles.
      </p>
      <p>Let us illustrate this proposal with reference to the hypothetical archive
described in 4 Justification. Consider: one bundle might define paths from any
photographic image to its original negative, along a chain of image
reproductions; another might define paths from cities to the continents on which they are
located. In such a scenario, it should be possible, in a third bundle, to
aggregate paths and define a route from any photographic positive to the continent
on which the negative that created the photo was snapped. Fig. 1 presents this
example.</p>
      <p>
        A preliminary survey of existing path definition mechanisms indicates that
the SPARQLeR extension to SPARQL may be the best candidate for adaptation
to our SCA and Pescador. The authors of SPARQLeR, working in the life
sciences domain, found they needed a means of detecting “semantic associations”—
undirected paths “that connect two entities in the knowledge base using named
relationships” [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]—and that the associations they had to detect could not be
“explicitly defined by the fully specified structure of a graph pattern”. In
modeling catalogues and Social Science data, we have noticed a similar requirement,
which SPARQLeR has the potential to fulfill.
4 Examples of frameworks and technologies include OSGi, Enterprise Java Beans,
COM and CORBA. See [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for the history of the concept.
      </p>
    </sec>
    <sec id="sec-6">
      <title>Low-Level Encapsulation: SW Abstraction Layer</title>
      <p>This section describes a mechanism called “the SW graph abstraction layer”,
which seeks to apply, in low-level graph operations, the same principles that
underlie the SCA. The abstraction layer will offer simplified access to and correct
processing of very basic graph structures that occur repeatedly in a wide variety
of models that we have worked with. It will be integrated directly with the
Pescador’s triple store; graph extraction and modification operations will access
it in a transparent manner. The abstraction layer will be logically above a
SWconformant graph. Both the abstraction layer and the SW-conformant graph will
represent exactly the same information; each will simply provide a different view
of that information. For interchange with other SW applications, the Pescador
will be able to export the SW-conformant view of the contents of its triple store
in standard SW serialization formats (like RDF/XML).</p>
      <p>Below are some examples of simple graph structures as seen by the
abstraction layer and as reflected in the underlying SW specifications-compliant graph.
The first two examples are presented in detail and the rest are summarized.</p>
      <p>Note that version 0.2 of Pescador already implements many of the features
described here. Unlike the SCA, the abstraction layer has demonstrated its
usefulness in a functioning implementation, and can be considered a relatively
mature proposal. Nonetheless, substantial work remains to be done to develop a
theoretical grounding for this solution, analyze its implications in formal terms,
and design a new implementation.</p>
      <p>Multilingual Values A common idiom in SW graphs is the multilingual value:
conceptually a single value with alternate versions for different languages.
It is often modeled with a blank node that is an instance of rdf:Alt. The
problem we have encountered is the recurring need to select an appropriate
version of a multilingual value on the basis of information available at
runtime. Fig. 2 shows the abstraction layer’s view of this idiom, together with
the underlying standards-compliant model.</p>
      <p>This type of structure is created only when specifically requested for a given
property and a given subject resource. The query system takes the
abstraction layer view of the model; queries are executed in a given language context,
and only one of the “switchable” triples is available during a given operation.
This makes for cleaner path definitions, which need only specify the main
property to be traversed (in this example, sys:name). Without this feature,
the sub-pattern for selecting the correct language alternative would have to
be repeated in many path definitions.</p>
      <p>Ordered Multiple Values In catalogue records, it is often necessary to present
several values of the same field in a specific order—for examples, the authors
of a publication must be listed in the same order in which they appear on
the publication itself. Similarly, if several topics from a thesaurus are
associated with a given entity, the most relevant topics are listed first. These
fixed orders must be reflected in the model. Since in RDF multiple, identical
properties on a single subject are unordered, when a fixed order is needed,
multiple values may be grouped using an rdf:Seq. Fig. 3 shows how the
abstraction layer understands this low-level structure.</p>
      <p>As in the case of multilingual values, this structure is only created when it
is requested for a given property and a given subject. The query system
traverses from the main subject (photo2) directly to the objects proper (topic21,
topic42 and topic25) and extracts them in the correct order. Again, no
special sub-pattern need be repeatedly included in the path definitions that
traverse this type of structure.</p>
      <p>Missing Value Explanations It is frequently useful to include in a catalogue
an explanation for a value’s absence (common reasons are “unknown” or
“field does not apply”). The abstraction layer provides a special mechanism
for modeling such explanations. When a path query does not produce any
results, it may expose a pertinent missing value explanation, if one is expressed
in the model.</p>
      <p>
        N-ary Relations As explained in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], there are many ways of modeling
nary relationships with the SW. The abstraction layer integrates facilities for
working with structures that model these relationships, allowing clean path
definitions and encapsulating code that deals with corresponding low-level
subgraphs.
      </p>
      <p>Structured Values The RDF specification establishes an idiom called a
“structured value”, which consists of a blank node that is at once the object of a
property and the subject of additional triples used to model the
aforementioned property’s value. The abstraction layer builds on this concept by
offering a mechanism for explicitly identifying nodes that are structured
values, thus allowing the implementation of special features for constructs of
this type.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Other Related Issues</title>
      <p>Among the numerous issues facing Pescador development, several relate to the
SCA and the system’s adaptability, including:
Model generation, concurrency and validation To develop a Pescador Web
interface for creating, deleting and modifying catalogue items requires the
study of algorithms for changing the model in a multi-user environment.
Input validation logic and graph constraint checking must also be considered
and integrated with the SCA. Our intention to offer an “undo” mechanism
further complicates the matter.</p>
      <p>Inference rules In many situations it is desirable to establish custom inference
rules for a model. Yet again, the details of how to do this must be established,
and whatever solution we choose must integrate with the SCA.</p>
      <p>Networking A proposed feature of the system is to allow meta-searches in
the repositories of multiple Pescador Web servers linked over a peer-to-peer
network. To make this a reality we must study, among other things, model
alignment and the sharing of SCA bundles over a network.
8</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>In this paper we have considered some issues encountered in the development
of an adaptable SW-based digital library application. Specifically, the issues
discussed relate to modularization, the structuring of application logic and a
programming interface for catalogue designers/modelers/programmers that allows
the use of best-practice information engineering principles. We have also
outlined solutions to these difficulties. Although the implementation and detailed
design of these solutions is far from complete, our proposals as they stand
establish research directions and provide starting points for further work towards
the creation of the application we envisage.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Atkinson</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paech</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reinhold</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sander</surname>
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Developing and Applying Component-Based Model-Driven Architectures in KobrA</article-title>
          . IEEE: Alamitos,
          <string-name>
            <surname>California</surname>
          </string-name>
          (
          <year>2001</year>
          ) http://ieeexplore.ieee.org/iel5/7549/20561/00950441.pdf
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Aguayo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roca</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Estudio introductorio</article-title>
          . In: Aguayo,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Roca</surname>
          </string-name>
          ,
          <string-name>
            <surname>L</surname>
          </string-name>
          . (eds.):
          <article-title>Imá- genes e investigación social</article-title>
          .
          <source>Instituto Mora</source>
          ,
          <string-name>
            <surname>México</surname>
          </string-name>
          (
          <year>2005</year>
          )
          <fpage>9</fpage>
          -
          <lpage>28</lpage>
          http://durito. nongnu.org/docs/Aguayo_Roca_2.html
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pietriga</surname>
          </string-name>
          , E.:
          <article-title>Fresnel Display Vocabulary for RDF: User's Manual</article-title>
          .
          <source>World Wide Web Consortium</source>
          (
          <year>2005</year>
          ) http://www.w3.org/
          <year>2005</year>
          /04/ fresnel-info/manual-20050726/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Fototeca</given-names>
            <surname>Digital</surname>
          </string-name>
          :
          <article-title>Fotógrafos y Editores Franceses en México. Siglo XIX. Instituto Mora</article-title>
          and
          <string-name>
            <surname>Instituto de Investigaciones Estéticas</surname>
          </string-name>
          , National Autónomous University of Mexico (
          <year>2007</year>
          ) http://afmt.esteticas.unam.mx
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          :
          <article-title>Logic and a Little Language for Heritage Resource on the Semantic Web</article-title>
          .
          <article-title>Poster accompanying a system demonstration</article-title>
          ,
          <source>presented at the 4th European Semantic Web Conference (June</source>
          ,
          <year>2007</year>
          ) http://durito.nongnu.org/docs/ innsbruck2.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          :
          <article-title>Metadatos transformados: Archivos digitales, la Web Semántica y el nuevo paradigma de la catalogación</article-title>
          . In: Amador C.,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Robledano</surname>
          </string-name>
          <string-name>
            <surname>A.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Ruiz</surname>
          </string-name>
          <string-name>
            <surname>F.</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds): Quintas Jornadas: Imagen, Cultura y Tecnología. Universidad Carlos III de Madrid: Madrid (
          <year>2007</year>
          )
          <fpage>11</fpage>
          -
          <lpage>22</lpage>
          http://durito.nongnu.org/docs/metadatos_ transformados_green.pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Green</surname>
            ,
            <given-names>A. R.</given-names>
          </string-name>
          : Rescate de la memoria.
          <source>Ciencia y Desarrollo (Sept</source>
          .
          <year>2006</year>
          ). Consejo Nacional de Ciencia y Tecnología, Mexico
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kochut</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Janik</surname>
            ,
            <given-names>M.,</given-names>
          </string-name>
          <article-title>SPARQLeR: Extended Sparql for Semantic Association Discovery (</article-title>
          <year>2007</year>
          ) http://www.eswc2007.org/pdf/eswc07-kochut.pdf
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Marcas de Fuego de la Biblioteca</surname>
          </string-name>
          “José María Lafragua” de la BUAP. Autonomous University of Puebla (
          <year>2006</year>
          ) http://www.marcasdefuego.buap.mx/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rector</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Defining n-ary relations on the semantic web. Working Draft for the W3C Semantic Web best practices group (</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Parrish</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dixon</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hale</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Component-Based Software Engineering: A BroadBased Model is Needed</surname>
          </string-name>
          (
          <year>1999</year>
          ) http://www.kiv.zcu.cz/publications/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>RDF</surname>
          </string-name>
          <article-title>Path Languages And Templating</article-title>
          . In: ESW Wiki. World Wide Web Consortium http://esw.w3.org/topic/RdfPath
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Reiter</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dale</surname>
          </string-name>
          , R.:
          <source>Building Natural Language Generation Systems</source>
          . Cambridge University Press: Cambridge, UK (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>