<!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>Portal for the State of the Art on Content Negotiation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yousouf Taghzouti</string-name>
          <email>yousouf.taghzouti@emse.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antoine Zimmermann</string-name>
          <email>antoine.zimmermann@emse.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maxime Lefrançois</string-name>
          <email>maxime.lefrancois@emse.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Saint-Etienne France</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Mines Saint-Etienne, Univ Clermont Auvergne, INP Clermont Auvergne</institution>
          ,
          <addr-line>CNRS, UMR 6158 LIMOS, F - 42023</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <fpage>23</fpage>
      <lpage>27</lpage>
      <abstract>
        <p>Resources on the Web are identified by Uniform Resource Identifiers (URIs), and can be accessed using web protocols such as HTTP. A resource can have several representations varying along a set of dimensions, forming a set of variants. Content negotiation (CN) is the mechanism for selecting the appropriate variant that conforms to a set of preferences (constraints). Over the years, various dimensions of CN, styles of CN, as well as ways to convey constraints have emerged to satisfy new requirements and solve new use cases. This demo presents a new resource called Content Negotiation Theoretical Framework (CNTF): a website that collects knowledge about CN use cases, styles, dimensions, etc., and organises it according to an ontology. CNTF aims to highlight existing solutions, if available, or suggest plausible ways to satisfy common requirements. It is intended to be used to disseminate our future proposals for advancing CN, making it a sustainable and up-to-date digital survey of CN.</p>
      </abstract>
      <kwd-group>
        <kwd>Content negotiation</kwd>
        <kwd>Style of negotiation</kwd>
        <kwd>Dimension of negotiation</kwd>
        <kwd>Constraint</kwd>
        <kwd>Ontology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>(M. Lefrançois)
https://youctagh.github.io/ (Y. Taghzouti); https://www.emse.fr/~zimmermann/ (A. Zimmermann);
© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
called Content Negotiation Theoretical Framework (CNTF ): a website that collects knowledge
about CN use cases, styles, dimensions, etc., and organises it according to an ontology. To the
best of our knowledge, CNTF provides the first digital state of the art survey about existing
CN approaches and features. We identify the used CN feature in each contribution, and
categorise them in order to classify existing contributions on CN. CNTF aims to highlight
existing solutions, if available, or suggest plausible ways to satisfy common requirements. To
summarise, the contributions of CNTF are the following: 1) A digital state of the art about
CN in the form of a website; 2) A reference point for CN categories and concept groups
to enable classification; 3) An ontology for CN knowledge; 4) A graphic visualisation and
navigation. CNTF is open-source https://github.com/youctagh/cntf with permanent URL https:
//w3id.org/cntf/ and DOI https://doi.org/10.5281/zenodo.6504504 a video demonstration is available
at https://youtu.be/Cm8tuabbXCM.</p>
      <p>
        Some eforts were done to encapsulate the available techniques and characteristics of CN, but
to the best of our knowledge, this only took the form of a related work section in specifications
using CN such as [2, Section 5] or web page documentation such as in Mozilla Developer Network
Web Docs1. The idea of a digital state of the art is not new; others have already proposed similar
resources, either in the form of web pages, or in the form of a website dedicated to a topic like
the one for the complexity of reasoning in Description Logics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
2. A Portal for the State of the Art on Content Negotiation
CNTF is a website designed to help the web community: either newcomers to the field of CN
who want to explore it, or experts who want to keep up with the latest techniques. CNTF should
meet these requirements:
R1 Navigable design CNTF should have a navigable design that includes interlinking
through hyperlinks to help users categorise their use cases, and a graph following the
resource model, with clickable nodes to navigate from one concept to another.
R2 Extensible One of the main contrasts between a traditional survey paper and the CNTF
resource is that it should support extensibility by allowing the addition of new CN
concepts, e.g., a new dimension, and to be up to date with diferent terminology and
definitions.
      </p>
      <p>R3 Categorisable CNTF should provide the means to categorise the diferent CN use cases
and techniques to allow for comparative evaluation. It should also have a well thought
out grouping and modelling of the diferent CN concepts to facilitate understanding.
R4</p>
      <p>Maintainable CNTF should promote maintainability by adjusting the model used, e.g.,
community-recommended vocabularies, and by taking into account feedback provided
by resource users to clarify and rectify content.</p>
      <p>The system has been designed as a website, so no installation process is required. In addition,
it allows users to always have the latest version without having to perform an update at each
1https://developer.mozilla.org/en-US/docs/Web/HTTP/Content_negotiation
release. CNTF is built with the Angular Framework. Next, we discuss how CNTF could be
utilised:
CNTF as a State of the Art Literature Review of CN CNTF collects the styles of CN
and provides: 1) A description of the style; 2) An example of CN using that style; 3) The use
cases from the bank of use cases in CNTF using that style; 4) Pointing the advantages and
disadvantages of this style. CNTF groups the preferences of the client/server in a category
named CN dimension and for each of these dimensions we deliver: 1) A description of the
dimension; 2) Some references to the pertinent use cases; 3) Some examples of the CN process;
4) Some relevant references on the state of the art. Each domain comes with a set of terms, for
a newcomer to find and grasp the definitions of all these terms is a tedious task, that’s why
CNTF has a terminology section that lists and keeps track of the meaning of the terms related
to CN, and since diferent communities might difer on the meaning of a term, we present them
with their respective communities references. Since another type of user of this resource is
developers, CNTF has an “Additional Info” section that lists implementations of CN using some
of the available technologies.</p>
      <p>CNTF as a Bank of CN Use Cases A dificulty faced by someone conducting research in
a new subject area is to contextualise the usefulness of the material learned. CNTF attempts
to solve this problem for the CN domain by collecting use cases from other documents and
websites. Being an open-source project, the community may contribute with other use cases. In
each of the use cases, one finds: 1) A description of the use case; 2) Potentially some references to
the primary source the use case was inspired from; 3) The requirements extracted from the use
case; 4) Potentially a solution section with relevant references or preliminary solutions. Each of
these use cases must satisfy a set of requirements that could be found in the “CN requirement”
section.</p>
      <p>CNTF as a Categorisation and Classification Medium CNTF is organised in categories,
which favours categorisation and classification. A user may check all the concepts of CN:
styles, dimensions, etc., and select those that best fit their use case. A table can be found in the
“Classification” section in CNTF, where each row of the table is accompanied by a summary to
aid understanding.</p>
      <p>CNTF as a CN Knowledge Graph Most of the content of CNTF is available in a knowledge
graph (KG)2, describing among other: use cases, references, dimensions, requirements. CNTF
knowledge graph is modelled according to the “CNTF ontology” https://w3id.org/cntf/ontology.
CNTF as a Medium for Visualisation and Navigation of CN Concepts CNTF users can
navigate with the traditional hyperlinks to move from one page to another in order to explore
diferent concepts. Alternatively, the user can get a general view of the relationships between
concepts through CNTF ontology “visualisation” section3. WebVOWL is used to render the
visualisation.</p>
      <p>CNTF as a Template for State of the Art Resources CNTF is a website that represents
a digital form of the survey on the CN domain but some components that represent generic
parts could be reused to fit other domains such as: Use Cases, Requirements, Classifications
(change the table columns with the used metrics), Terminologies, Abbreviations, References,
etc., making it a candidate to be a model for digital surveys. Moreover, the same parts could be
reused from the ontology.</p>
    </sec>
    <sec id="sec-2">
      <title>3. Conclusion and Future work</title>
      <p>Content negotiation is a cornerstone of the Web architecture, and a powerful mechanism for
selecting the best representation from multiple available alternatives. CNTF aims to collect
everything one needs to know about it in one place. CNTF reviews the available literature and
compiles it into a single resource so that users interested in CN can easily find relevant materials.
It addresses the problem of CN and attempts to identify new ways to better solve the available
use cases. The resource covers the basics of CN: use cases, dimensions, styles, and existing ways
of conveying constraints. CNTF gives a coherent view of the problem that will be the basis for
addressing the semantic CN problem. CNTF recommends solutions that leverage semantic web
technologies, e.g., leveraging SHACL as a way to express the threshold of CN constraints.4</p>
      <p>The future work on CNTF involves a number of initiatives, one of which is the ongoing
collection of use cases for CN, dimensions, etc., in particular the new CN by profile. We plan to
have an implementation of this approach to facilitate its adoption by having an experimental
space, this space would give users the opportunity to test diferent CN styles, dimensions and
solutions to some of the use cases without having to implement them themselves.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Walsh</surname>
          </string-name>
          ,
          <source>Architecture of the World Wide Web, W3C Recommendation, W3C</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L. G.</given-names>
            <surname>Svensson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. J.</given-names>
            <surname>Car</surname>
          </string-name>
          , Content Negotiation by Profile,
          <source>W3C Working Draft, W3C</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>E.</given-names>
            <surname>Zolin</surname>
          </string-name>
          ,
          <source>Complexity of reasoning in description logics</source>
          ,
          <year>2013</year>
          . URL: http://www.cs.man.ac. uk/~ezolin/dl/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>