<!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>
      <journal-title-group>
        <journal-title>Hersonissos, Greece
* Corresponding author.
yousouf.taghzouti@emse.fr (Y. Taghzouti); antoine.zimmermann@emse.fr (A. Zimmermann);
maxime.lefrancois@emse.fr (M. Lefrançois)
{ https://youctagh.github.io/ (Y. Taghzouti); https://www.emse.fr/~zimmermann/ (A. Zimmermann);
https://www.maxime-lefrancois.info/ (M. Lefrançois)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Content Negotiation in a Decentralised Semantic Context Utilising Equivalence Links</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yousouf Taghzouti</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antoine Zimmermann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maxime Lefrançois</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </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 Saint-Etienne</addr-line>
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>The Web is a decentralised system where each Web server can serve a set of URIs that identify resources. Each resource can be associated with one or more representations. This promotes content negotiation, which is the mechanism by which a Web client can request a resource representation that satisfies a set of constraints. This is also true in the Semantic Web, since when resources are described, diferent vocabularies are used (e.g. Schema.org and FOAF ), and when they are served in the Web, they are serialised in diferent formats (e.g. text/turtle and application/rdf+xml). In this context, HTTP provides the means to negotiate representations using media types, and semantic validation languages (e.g. SHACL) could be used to define the constraints that knowledge graphs must conform to. If a resource was only identified by a single URI (as it would be the case with unique names assumption), it would mean that all representations would be present on one and only one server. This implies that one would be able to negotiate all representations of a resource with that server. However, this is not possible in the actual Web, because Web standards do not assume unique names and representations are scattered and distributed in diferent places. Still, a URI can only be served by one server, so in general, several servers should be consulted to get all representations of a resource. Consequently, when we negotiate with a Web server, we only consider a subset of all existing representations. In this article, we propose an approach to perform content negotiation even when representations are dispersed and present in multiple locations. We focus on this specific data management solution by leveraging equivalence links, which consists of querying the Web of Data with Content Negotiation, involving on-the-fly SHACL shape validation. To this end, we provide two algorithms, the first in a basic context (i.e. considering only media type constraints) and the second in a semantic context (i.e. also considering SHACL shapes). An implementation of the algorithms as well as separate experiments were conducted to measure the benefits and assess the time requirements of such methods. The conclusion is that utilising equivalence links (such as owl:sameAs) present in knowledge graphs enables more efective content negotiation of Web resources by allowing the discovery, validation and serving of representations stored in a distributed manner.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;content negotiation</kwd>
        <kwd>semantic validation</kwd>
        <kwd>SHACL</kwd>
        <kwd>HTTP</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The core design components of the Web are 1) identification of resources through the use
of URIs, 2) representation of resources states using media-types , 3) as well as the protocols
enabling the interactions in that space, such as the ability to engage in content negotiation (CN),
HTTP is an example of a protocol that enables it [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        CN is the mechanism that enables the selection of a representation from among multiple
ones available under the same URI [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. CN is not a monolithic process, but rather a layered
one having several stages (Discovery, Request Formulation, Selection/Adaptation, Response
Indication, Response Interpretation) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. CN interactions have multiple characteristics [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]: 1)
CN dimension (aka. constraints or preferences) which indicates the constraints taken into
consideration when selecting the representation of the resource to be delivered, 2) CN style:
a way or technique by which the CN process is conducted, that includes how the negotiation
is performed and which CN party chooses the representation to be selected, 3) CN constraint
conveyance mean: the mean by which the client transmits to the server the CN dimension as well
as its value to be considered in the selection stage. HTTP provides the means for negotiating in
the media type and language dimensions through the use of accept and accept-language HTTP
headers. However, one can achieve CN in other dimensions such as time using the Memento
framework [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which is convenient in archiving context [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        The Semantic Web, in contrast to the traditional Web, aims to provide structure to Web
content and to enable machines to process the described content in a uniform manner using
ontologies, and to this end the Resource Description Framework (RDF) is used [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. One of
the first applications of the Semantic Web to improve CN is the use of the Composite
Capability/Preference Profile (CC/PP) standard [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ], which allows mobile phones, for instance, to
describe their features so that they can negotiate more tailored content.
      </p>
      <p>
        Over the years, RDF content on the Web used various vocabularies1, and is accessible in
multiple ways, two of them being through SPARQL endpoints and dump data. Users may
want to request RDF content that uses certain vocabularies or conforms to some patterns. One
technique for achieving this is to use semantic validation languages, which check that an RDF
content conforms to the required patterns: SHACL [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and ShEx [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] could be used for this
purpose.
      </p>
      <p>The unique names assumption states that: diferent names in the world refer to diferent things.
On the Web, this would imply that diferent URIs should be used to identify diferent resources.
Therefore, a resource identified by a URI would have all its possible representations on a single
server. As a result, a client would be able to negotiate a desirable representation of a resource
with that server. However, on the actual Web, representations are distributed across diferent
servers, and a URI can only be served by a single one. Consequently, when negotiating with a
server, only a subset of all existing representations is considered. Similarly, the Web of Linked
Data (the largest publicly available Knowledge Graph (KG)) is inherently distributed, and the
unique names assumption does not hold. Fortunately, equivalent links such as owl:sameAs can
be used to indicate that two URIs actually refer to the same entity, but they have not yet been
used in the CN flow.
1As shown in the stats from LODStats http://lodstats.aksw.org/stats last accessed: 23rd of February 2023.</p>
      <p>The main contribution of our work is to show how equivalent links can be successfully used to
promote distributed CN. This is done by discovering alternative URIs of the requested resource
present in KGs. Two algorithms are proposed to support this solution, each for a specific context:
(1) A basic one, where only media-type constraints are considered. (2) A second one where
semantic validation is involved to negotiate representations conforming to a SHACL shape
graph. To illustrate the applicability of such an approach, a portal is proposed in which both
algorithms are implemented. We show, through experiments, the benefits of using equivalence
relations in CN flows by measuring the discovery of new appropriate representations and the
time required for such an extended flow.</p>
      <p>The remainder of the paper is structured as follows, in Sect. 2, we present a use case that
motivates the use of our approach, then in Sect. 3 we present the approach and its use in two
diferent scenarios while discussing the algorithms for its implementation. The technologies
and tools used for the implementation is presented in Sect. 4. Next, our experimentation is
discussed in Sect. 5, including the experiments and data collection methodology. Then, a review
of related work is provided in Sect. 6. Finally, we conclude and point to future directions in
Sect. 7.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Motivating Use case</title>
      <p>Bob is a senior data scientist at building-twin2 based in Rome, Italy, which provides the service
of creating a virtual replica of a physical building. It provides its clients with the plans of
the city’s buildings serialised using the media type application/vnd.geoplan. It also provides
a description of the buildings in RDF serialised as text/turtle, the description uses Schema.org,
dbpedia and DCAT vocabularies. Recently, building-twin acquired a competitor company,
yourtwin-house, which provides similar services. Its plans of the city’s buildings are also provided in
the application/vnd.geospace media type, but its RDF graphs are serialised in application/rdf+xml
and mainly use internally created vocabularies as well as some Schema.org terms. In addition
to this heterogeneity between services, to identify the same real-world building, for example
the one at the address: Viale della Moschea, 85, Rome, Italy, the first company uses: &lt;http:
//www.building-twin.com/building/B45A124&gt;, while the second identifies it with: &lt;http://www.
your-twin-house.com/construction/b/74asd1&gt;.</p>
      <p>Our aim is to solve this interoperability problem and allow the client to negotiate an
appropriate building representation (based on media type or vocabulary constraints) with both
companies data without merging all content into a new silo.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Employ CN in a Decentralised Semantic Context</title>
      <p>The idea that all representations of a resource must reside on one and only one server follows
the unique names assumption: diferent names refer to diferent things in the world. But as
representations are scattered in diferent places, this implies that all Web servers would use the
same URIs to refer to the same resource. This is not possible in the practical Web, because a URI</p>
      <sec id="sec-3-1">
        <title>2This use case is fictional, all the given information is imaginary.</title>
        <p>can only be served by one server, so we need diferent URIs for diferent servers. Fortunately,
the Web Ontology Language (OWL) comes with the owl:sameAs property3, which allows us to
indicate that two URIs actually identify the same thing (in our case, the same building).</p>
        <p>In this section we present our approach utilising owl:sameAs. In the next two subsections we
present two algorithms on how CN could be improved. Algorithm 1 presents the idea in a basic
context with a dimension such as media type. And Algorithm 2 presents how the improvement
could be achieved in a semantic context by negotiating RDF graphs that validate a SHACL shape
graph. Finally, we discuss how the approach could be generalised to other dimensions.</p>
        <sec id="sec-3-1-1">
          <title>3.1. Basic context CN</title>
          <p>In the following, the server considers that a client has a resource URI  and a set of constraints C
(in this case, a set of acceptable media types). The client expects to have a representation  (for
web document) that validates C, and possibly a set of plausible alternative URIs I to continue
the negotiation if so desired.</p>
          <p>The negotiation starts with the Web server serving  trying to check whether any of the
representations it has validates C. If not, a common practice is to respond with a 406 (NOT
ACCEPTABLE) or 404 (NOT FOUND) error or with a preconfigured default (even invalid)
representation [11, Section 12]. In our approach, for the opposite case, the negotiation continues by
ifrst looking for a set of sameAs URIs Is.</p>
          <p>A straightforward implementation could be to redirect the client to these other potential
representations by sending a 300 (MULTIPLE CHOICE) response to propose other alternatives
that could possibly satisfy the constraints4. Alternatively, the Web server can go a step further
to check whether the constraints are satisfied as described in the Algorithm 1: After obtaining
the set of sameAs URIs Is, the server iterates over it and check whether there is a representation
s that satisfies the constraints C. In this proposal, the server responds with the first s found.
For the rest of the URIs, if a valid representation could be found, the server stores its URI s in
the set of alternative IRIs I in order to form the final answer pair ⟨s, I⟩. If no representation
could be found, only then the server responds with an error.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>3.2. Semantic context CN</title>
          <p>
            The same idea could be carried over from the Web of documents to the Web of data, but with
some modifications to adapt it to the Semantic Web context. First, the server assumes that the
client is negotiating RDF documents, and therefore constraints need to be defined for this type
of documents (e.g. using SHACL [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] or ShEx [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]). Second, the server can use the First Found
First Served approach as explained above (i.e. when iterating over the sameAs URIs Is, it serves
the first RDF graph that validates the requested constraints, e.g. a SHACL shape graph ).
          </p>
          <p>The Algorithm 2 illustrates a more generic serving method, where the server has two variables
b and b to store the best graph and its URI respectively. The function
isABetterRepresentationThan tests whether a new valid graph is superior to the current best graph, by taking two</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3OWL sameAs: https://www.w3.org/TR/owl-ref/#sameAs-def</title>
        <p>
          4The negotiation style considered in this paper is proactive. Other styles exist e.g. reactive, transparent, ect. However,
each option inherits the advantages and disadvantages of using such style [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Algorithm 1: Decentralised CN Based on Media Type Pseudocode
input : A resource URI  and acceptable constraints (media types + quality values) C
output : A representation  that validates C if available, and potentially a set of plausible
alternative URIs I
1  = getRepresentation(,C)
2 if  != NULL then
3 return ⟨, ∅ ⟩
4 Is = getSameAsIRIs()
5 foreach IRI s of Is do
6 s = getRepresentation(s,C)
7 if s != NULL then
8 if  != NULL then
9  = s
10 else
11</p>
        <p>add s to the set of alternative IRIs I
12 if  != NULL then
13 return ⟨, I ⟩
14 else
15</p>
        <p>return No Acceptable representation
graphs and producing a Boolean scoring e.g. the scoring could be based on the number of nodes,
a graph with more nodes potentially holds more knowledge.</p>
        <p>
          These algorithms could be further generalised to other dimensions [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], e.g. language (i.e. to
negotiate a representation that uses a preferred language) by following the same model and
creating appropriate scoring functions.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Implementation</title>
      <p>We provide a Java implementation of our algorithms. Our prototype5 is built using the Spring
framework6, we provide two endpoints &lt;/dcn/ api/ media-type&gt; and &lt;/dcn/ api/ profile&gt; . The
resource URI is provided using the iri query parameter, and constraints are passed in a header
based manner, accept and accept-profile for the media type and profile dimensions respectively.
The Alternates header is used to provide the set of alternative URIs7. The sameAs service8 is
used to obtain the set of equivalent URIs. SHACL (the W3C recommendation) is used to write
the constraints that RDF sources must conform to, while Apache Jena9 is used to manipulate the</p>
      <sec id="sec-4-1">
        <title>5Github repository: https://github.com/YoucTagh/decentralised-cn</title>
        <p>6Spring Framework: https://spring.io/
7The same approach is also used by dbpedia to provide alternatives
8SameAs service homepage: http://sameas.org/
9Apache Jena: https://jena.apache.org/</p>
        <p>Algorithm 2: Decentralised CN Based on SHACL Shapes Pseudocode
input : A resource URI  and acceptable constraints (SHACL shape graph) 
output : An RDF representation that validates  if available, and potentially a set of
plausible alternative URIs I
1  = getRepresentation(,)
2 if  != NULL then
3 return ⟨, ∅ ⟩
4 Is = getSameAsIRIs()
5 b = NULL , b = NULL
6 foreach IRI s of Is do
7 s = getRepresentation(s,)
8 if s != NULL then
9 if isABetterRepresentationThan (s,b) then
10 b = s
11 add b to the set of alternative IRIs I
12 b = s
13 else
14 add s to the set of alternative IRIs I
15 if b != NULL then
16 return ⟨b, I ⟩
17 else
18</p>
        <p>return No Acceptable representation
RDF graphs and perform validation. Swagger10 is used to provide friendly API documentation.</p>
        <p>Figure 1 shows a request example where a client wants to obtain a representation of the
resource identified by the URI &lt;http://www.uniprot.org/taxonomy/3330&gt; and conforming to
the SHACL shape graph Listing 1. Note that the original server can only provide an HTML
representation. The same request could be issued using curl using the Listing 2.</p>
        <p>Listing 1: An example of a SHACL shape document
1 @prefix sh: &lt;http://www.w3.org/ns/shacl#&gt; .
2 @prefix ex: &lt;https://example.com/ontology#&gt; .
3 ...
4 ex:tagForComments a sh:NodeShape ;
5 sh:targetSubjectsOf rdfs:comment ;
6 sh:property [ sh:path rdfs:comment ;
7 sh:qualifiedValueShape [ sh:languageIn ( "en" "fr" ) ;] ;
8 sh:qualifiedMinCount 1 ; ].</p>
        <p>10Swagger UI: https://swagger.io/tools/swagger-ui/</p>
      </sec>
      <sec id="sec-4-2">
        <title>Listing 2: The same request sent in Figure 1 but using curl</title>
        <p>curl -v http://localhost:8080/dcn/api/profile?iri=http://www.uniprot.org/taxonomy/3330</p>
        <p>H "accept-profile:
http://localhost:8080/profiles/example-shape-graph-1.ttl"</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Experimentation</title>
      <p>After having tested the proposed implementation in Section 4 with a few manually selected URIs,
we carried out experiments in order to test the following hypotheses: (1) In case no acceptable
representation is available at the initial URI (when negotiating some RDF serialisation, such
as text/turtle, application/rdf+xml . . . ), our approach would increase the chance of finding an
alternative utilising equivalence links when available. (2) The sameAs.org portal could be used
as a reliable third party medium to find similar entities (e.g. it does not have an API call limit).
This section provides details on the selected dataset, the experimental setup, and an analysis of
the results obtained. The code, data and results of the experiments are publicly available11.
Data Our data collection methodology is as follows: (1) collect 5+ sets of 75+ URIs. Each
set of URIs has a homogeneous number of equivalent links. (2) Test if the sameAs.org service
can handle and allow a large number of API calls. In addition, we want context-free entities,
meaning that no assumptions are made about the type of data. To this end, we use the Wikidata
identifiers for items 12. This means that URI http://www.wikidata.org/entity/Q{id} requests
are sent to the sameAs.org API by replacing the {id} part in the URI with an integer. In this
11Github repository: https://github.com/YoucTagh/decentralised-cn-experiment
12Wikidata identifiers: https://www.wikidata.org/wiki/Wikidata:Identifiers
experiment, the identifiers range from 1 to 5000. The statistics of the responses are provided in
Figure 2.</p>
      <p>
        From all the responses we create six subsets: [
        <xref ref-type="bibr" rid="ref1 ref5">1, 5</xref>
        ], [
        <xref ref-type="bibr" rid="ref10 ref15">10, 15</xref>
        ], [25, 30], [45, 50], [70, 75], [+100],
each with 100 URIs. A subset [, ] means that all its URI elements have between x and y
equivalence links. URIs are added to the relevant subset until it is full (i.e. first found first
added).
      </p>
      <p>
        Experimental Setup The code experiments are written in Java and the Apache Jena
framework is used to manipulate RDF graphs and perform validation of SHACL shape graphs. The
used machine has an Intel(R) Xeon(R) CPU E3-1505M v6 @3.00GHz processor with 16GB
of RAM. For each of the six subsets created: a) start by deleting the wikidata URI from the
equivalence links13 b) randomly choose a URI from the equivalence links to be our initial URI14
c) Request a representation that validates the constraints:
• HTML: request an HTML representation.
• RDF: request one of the following RDF representations (Turtle, RDF+XML, N3).
• Turtle + SHACL: request an RDF representation with a Turtle serialisation that validates
a SHACL shape graph.
13The sameAs.org service sends back the equivalence links, if any, plus the requested URI.
14A seed is used in the random selection to allow reproducibility of the results.
Results The results of the experiments are depicted in Table 1. They show that, at best, only
30% of the randomly selected URIs have a representation that validates the HTML constraint,
while up to 50% validate the RDF constraint (we believe that this augmentation is rational,
since the new URIs are found through equivalence links that are expressed in RDF) and,
understandably, at most 20% validate the Turtle + SHACL constraint16. This low percentage is
due to either a broken URI or a non-conforming constraint. For each of the subsets we see a
non-zero value of the SameAs URI score, ranging from 69% to 83% for the HTML constraint in
all subsets except the first with only 13% this is partly due to the low number of equivalence
links only [
        <xref ref-type="bibr" rid="ref1 ref5">1, 5</xref>
        ]. For the RDF constraint, the contribution is 56 − 75%, and for the Turtle +
SHACL constraint, the addition is noteworthy at 7 − 17%.
      </p>
      <p>Experiment Reproducibility To reproduce the experiment, a main command line interface
is provided, when launched a menu with the available options is displayed. The first option
will start the data collection process. The second option will use the collected data to start the
experiment process. The third option is available to produce a human readable version of the
results.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Related Work</title>
      <p>
        CN has been proposed as an essential layer of the Web architecture since its creation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The
HTTP protocol was designed to allow the use of CN in diferent formats 17, and its benefits
15For constraint (1) and (2), requests are sent using the HTTP HEAD method.
16The SHACL constraints express that the representation with rdfs:label and rdfs:comment should have at least one
language tag in French or English (Available in the aforementioned Github repository).
17Format negotiation in the initial W3 project: http://info.cern.ch/hypertext/WWW/DesignIssues/Formats.html
were outlined at an early stage in the HTTP negotiation algorithm18 (e.g. “it allows a generic
resource to exist which refers to many diferent specific resources, specific e.g. by language,
format, etc."). CN has stood the test of time as its use is encouraged in various places [
        <xref ref-type="bibr" rid="ref11 ref13 ref14">13, 14, 11</xref>
        ],
and it has evolved over the years (e.g. CN is possible in multiple additional dimensions [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]).
      </p>
      <p>
        RDF is intended to describe resources on the Web using vocabularies and ontologies, and this
knowledge can be captured in knowledge graphs. Tools such as RDF Browser19 allow for the
negotiation and visualisation of such a representation, albeit relying solely on the negotiation
of media types. The Data Exchange Working Group has proposed the profile vocabulary [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
and ways to negotiate in the profile dimension [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. A profile can play diferent roles, one of
which is validation and is created using a constraint language (e.g. SHACL [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]]). A separate
Internet Engineering Task Force (IETF) efort is investigating approaches to specify, discover,
negotiate, and write profiled representations [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        Equivalence links, in particular owl:sameAs, have been addressed in formal studies, where a
quantitative analysis of owl:sameAs as well as a dataset20 has been proposed [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. A survey on
identity management in the Web of Data has also been carried out, where the problem of sameAs
has been highlighted [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Other alternative equivalence links exist and could also be used to
discover potential representations, including: (1) skos:exactMatch and skos:closeMatch from the
SKOS ontology21 (2) wdt:P2888 by Wikidata22 (3) umbel:isLike in Upper Mapping and Binding
Exchange Layer ontology23 (4) schema:sameAs in Schema.org. (5) and finally the predicates
introduced in the similarity ontology [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. The sameAs portal is a service that provides equivalent
URIs, and is available as a website or through an API24.
      </p>
      <p>In our work, we propose to use equivalence links for the specific application of enabling
CN in a decentralised context. To this end, we leverage for example owl:sameAs to discover
potential acceptable representations and proceed to their validation.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>In this paper we propose an approach to achieve decentralised content negotiation using
Semantic Web technologies. We first describe a motivating use case and extract the problem to
be addressed. We then present the methodology and how we used equivalence links such as
owl:sameAs to discover potential representations. In that section, we present two algorithms for
negotiating in two dimensions, the first being the media type for negotiating Web documents,
and the second being the profile for negotiating RDF sources that conform to a SHACL shape
graph. We then present the implementation we developed to verify the feasibility of our approach
based on the presented algorithms. We have carried out an evaluation and the results show that
our approach contributes to the overall increase in the availability of resource representations.
In our work we only consider one hop, which means that we only check the direct representation
18HTTP negotiation algorithm (1992): https://www.w3.org/Protocols/HTTP/Negotiation.html
19RDF Browser Addon: https://addons.mozilla.org/en-US/firefox/addon/rdf-browser/
20The Extended SameAs network (ESameNet) dataset.)
21SKOS: https://www.w3.org/TR/2008/WD-skos-reference-20080829/skos.html
22In Wikidata the property P2888 is “Exact match": https://www.wikidata.org/wiki/Property:P2888
23Umbel: https://lov.linkeddata.es/dataset/lov/vocabs/umbel
24SameAs portal: http://sameas.org/
owl:sameAs, therefore our idea for future work is to test incrementally more hops to study their
eficiency and eventually extract an optimal number of hops.</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</source>
          , Volume One,
          <source>W3C Recommendation 15 December</source>
          <year>2004</year>
          , W3C Recommendation,
          <year>W3C</year>
          ,
          <year>2004</year>
          . URL: http://www.w3.org/ TR/2004/REC-webarch-
          <volume>20041215</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Taghzouti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Vachtsevanou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ciortea</surname>
          </string-name>
          ,
          <article-title>A step toward semantic content negotiation</article-title>
          ,
          <source>in: 23rd International Conference on Knowledge Engineering and Knowledge Management</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Taghzouti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lefrançois</surname>
          </string-name>
          ,
          <article-title>Content Negotiation on the Web: State of the Art</article-title>
          ,
          <source>Technical Report abs/2204</source>
          .10097,
          <issue>CoRR</issue>
          ,
          <year>2022</year>
          . URL: https://arxiv.org/abs/2204.10097.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>H.</given-names>
            <surname>Van de Sompel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Nelson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sanderson</surname>
          </string-name>
          ,
          <article-title>HTTP Framework for Time-Based Access to Resource States - Memento, RFC 7089</article-title>
          ,
          <string-name>
            <surname>IETF</surname>
          </string-name>
          ,
          <year>2013</year>
          . URL: https://www.rfc-editor.
          <source>org/rfc/ rfc7089.txt.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kelly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Alam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Nelson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Weigle</surname>
          </string-name>
          ,
          <article-title>Client-Assisted Memento Aggregation Using the Prefer Header</article-title>
          , in: M.
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>E. A.</given-names>
          </string-name>
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          Xie (Eds.),
          <source>Proceedings of the 2018 Web Archiving &amp; Digital Libraries Workshop (WADL</source>
          <year>2018</year>
          ), June 6,
          <year>2018</year>
          ,
          <string-name>
            <given-names>Fort</given-names>
            <surname>Worth</surname>
          </string-name>
          , Texas, USA, Virginia Tech University Libraries,
          <year>2018</year>
          , pp.
          <fpage>5</fpage>
          -
          <lpage>6</lpage>
          . URL: https://vtechworks.lib.vt.edu/ bitstream/handle/10919/97988/WADL2018.pdf#page=
          <fpage>5</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <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>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Lassila</surname>
          </string-name>
          , The Semantic Web,
          <source>Scientific American</source>
          <volume>284</volume>
          (
          <year>2001</year>
          )
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          . URL: https://www.scientificamerican.com/article/the-semantic-web/.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Klyne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Reynolds</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Woodrow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Ohto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hjelm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Butler</surname>
          </string-name>
          , L. Tran, Composite Capability/Preference Profiles (CC/PP):
          <source>Structure and Vocabularies 1</source>
          .0,
          <string-name>
            <given-names>W3C</given-names>
            <surname>Recommendation</surname>
          </string-name>
          ,
          <year>W3C</year>
          ,
          <year>2004</year>
          . URL: https://www.w3.org/TR/2004/REC-CCPP-struct-vocab-
          <volume>20040115</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Butler</surname>
          </string-name>
          ,
          <article-title>Implementing content negotiation using CC/PP and WAP UAProf</article-title>
          ,
          <source>Technical Report HPL-2001-190</source>
          , HP Lab,
          <year>2001</year>
          . URL: https://www.hpl.hp.com/techreports/2001/ HPL-2001-190.html.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Knublauch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kontokostas</surname>
          </string-name>
          ,
          <article-title>Shapes Constraint Language (SHACL)</article-title>
          ,
          <source>W3C Recommendation, W3C</source>
          ,
          <year>2017</year>
          . URL: https://www.w3.org/TR/2017/REC-shacl-
          <volume>20170720</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.</given-names>
            <surname>Prud</surname>
          </string-name>
          <article-title>'hommeaux, I. Boneva</article-title>
          ,
          <string-name>
            <given-names>J. E. Labra</given-names>
            <surname>Gayo</surname>
          </string-name>
          , G. Kellogg,
          <source>Shape Expressions Language 2.1, W3C Community Group Report, W3C</source>
          ,
          <year>2019</year>
          . URL: http://shex.io/shex-semantics-
          <volume>20191008</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R. T.</given-names>
            <surname>Fielding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nottingham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Reschke</surname>
          </string-name>
          , HTTP Semantics, RFC 9110,
          <string-name>
            <surname>IETF</surname>
          </string-name>
          ,
          <year>2022</year>
          . URL: http://www.ietf.org/rfc/rfc9110.txt.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cailliau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Grof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pollermann</surname>
          </string-name>
          ,
          <source>World-Wide Web: The Information Universe, Electronic Networking: Research, Applications and Policy</source>
          <volume>2</volume>
          (
          <year>1992</year>
          )
          <fpage>74</fpage>
          -
          <lpage>82</lpage>
          . URL: https://doi.org/10.1108/eb047254.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>L.</given-names>
            <surname>Sauermann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          ,
          <article-title>Cool URIs for the Semantic Web</article-title>
          , W3C Note, World Wide Web Consortium,
          <year>2008</year>
          . URL: https://www.w3.org/TR/cooluris/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Farias Lóscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Burle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Calegari</surname>
          </string-name>
          ,
          <source>Data on the Web Best Practices, W3C Recommendation, W3C</source>
          ,
          <year>2017</year>
          . URL: https://www.w3.org/TR/2017/REC-dwbp-
          <volume>20170131</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <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>
          , The Profiles Vocabulary, W3C Working Group Note,
          <year>W3C</year>
          ,
          <year>2019</year>
          . URL: https://www.w3.org/TR/2019/NOTE-dx-prof-
          <volume>20191218</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <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>
          . URL: https://www.w3.org/TR/2019/WD-dx
          <string-name>
            <surname>-</surname>
          </string-name>
          prof-conneg-
          <volume>20191126</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>L. G.</given-names>
            <surname>Svensson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          , H. Van de Sompel, Indicating, Discovering, Negotiating, and Writing Profiled Representations,
          <string-name>
            <surname>Internet-Draft</surname>
          </string-name>
          , Internet Engineering Task Force,
          <year>2021</year>
          . URL: https://www.ietf.org/archive/id/draft-svensson
          <string-name>
            <surname>-</surname>
          </string-name>
          profiled-representations-
          <volume>01</volume>
          .txt.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>L.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shinavier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shangguan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <article-title>SameAs Networks and Beyond: Analyzing Deployment Status and Implications of owl:sameAs in Linked Data</article-title>
          ,
          <source>in: The Semantic Web - ISWC 2010 - 9th International Semantic Web Conference, ISWC 2010</source>
          , Shanghai, China, November 7-
          <issue>11</issue>
          ,
          <year>2010</year>
          ,
          <string-name>
            <given-names>Revised</given-names>
            <surname>Selected</surname>
          </string-name>
          <string-name>
            <given-names>Papers</given-names>
            ,
            <surname>Part</surname>
          </string-name>
          <string-name>
            <surname>I</surname>
          </string-name>
          ,
          <year>2010</year>
          , pp.
          <fpage>145</fpage>
          -
          <lpage>160</lpage>
          . URL: https://doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -17746-0_
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J.</given-names>
            <surname>Raad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pernelle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Saïs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Beek</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. van Harmelen</surname>
          </string-name>
          ,
          <article-title>The sameas problem: A survey on identity management in the web of data</article-title>
          , CoRR abs/
          <year>1907</year>
          .10528 (
          <year>2019</year>
          ). URL: http: //arxiv.org/abs/
          <year>1907</year>
          .10528.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>H.</given-names>
            <surname>Halpin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Hayes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>McCusker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. S.</given-names>
            <surname>Thompson</surname>
          </string-name>
          ,
          <article-title>When owl:sameAs Isn't the Same: An Analysis of Identity in Linked Data</article-title>
          ,
          <source>in: The Semantic Web - ISWC 2010 - 9th International Semantic Web Conference, ISWC 2010</source>
          , Shanghai, China, November 7-
          <issue>11</issue>
          ,
          <year>2010</year>
          ,
          <string-name>
            <given-names>Revised</given-names>
            <surname>Selected</surname>
          </string-name>
          <string-name>
            <given-names>Papers</given-names>
            ,
            <surname>Part</surname>
          </string-name>
          <string-name>
            <surname>I</surname>
          </string-name>
          ,
          <year>2010</year>
          , pp.
          <fpage>305</fpage>
          -
          <lpage>320</lpage>
          . URL: https://doi.org/10.1007/ 978-3-
          <fpage>642</fpage>
          -17746-0_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>