<!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>grlc Makes GitHub Taste Like Linked Data APIs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Albert Meroño-Peñuela</string-name>
          <email>albert.merono@vu.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rinke Hoekstra</string-name>
          <email>rinke.hoekstra@vu.nl</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Data Archiving and Networked Services</institution>
          ,
          <addr-line>KNAW, NL</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Computer Science, Vrije Universiteit Amsterdam</institution>
          ,
          <addr-line>NL</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Faculty of Law, University of Amsterdam</institution>
          ,
          <addr-line>NL</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Building Web APIs on top of SPARQL endpoints is becoming a common practice to enable universal access to the integration favorable dataspace of Linked Data. However, the Linked Data community cannot expect users to learn SPARQL to query this dataspace, and Web APIs are the most common way of enabling programmatic access to data on the Web. However, the implementation of Web APIs around Linked Data is often a tedious and repetitive process. Recent work speeds up this Linked Data API construction by wrapping it around SPARQL queries, which carry out the API functionality under the hood. Inspired by this, in this paper we present grlc, a lightweight server that translates SPARQL queries curated in GitHub repositories to Linked Data APIs on the fly.</p>
      </abstract>
      <kwd-group>
        <kwd>SPARQL</kwd>
        <kwd>git</kwd>
        <kwd>GitHub</kwd>
        <kwd>Linked Data APIs</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>queries remains. As shown in this paper, users require organised APIs that adapt
to their existing query curation workflows. This requires a paradigm shift where
not just the data, but the queries themselves also become first class citizens.</p>
      <p>
        In recent Linked Data projects such as CEDAR [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and CLARIAH-SDH [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
we followed a practice of storing, curating, and publishing illustrative SPARQL
queries of their use cases using GitHub repositories. These queries are then used
by various client applications to access Linked Data. In this paper, we investigate
how the current practice of curating queries in open GitHub repositories can be
decoupled from, and used to lower the costs of, constructing APIs for Linked
Data applications. Concretely, the contributions of this paper are:
– A mapping specification between the Swagger RESTful API, and SPARQL
query repositories accessible through the GitHub API
– A decorator syntax to enrich SPARQL queries in git repositories with
metadata about their intended use (Section 3.2)
– A description of the grlc service, that automatically exposes such enriched
SPARQL queries in GitHub repositories as Linked Data APIs (Section 4)
As for the rest of the paper, we survey relevant related work in Section 2,
evaluate our approach in two use cases in Section 5, and conclude in Section 6.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The organization and management of SPARQL queries is central to the study of
their efficiency, nature, and use at improving Linked Data applications. SPARQL
query logs have been used to study differences between queries by humans and
machines [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. These logs are also useful to understand semantic relatedness
of queried entities [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Saleem et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] propose to “create a Linked Dataset
describing the SPARQL queries issued to various public SPARQL endpoints”. To
the best of our knowledge, no previous work addresses the use of collaborative
code platforms to ease deployment of Web APIs.
      </p>
      <p>
        The Semantic Web has developed significant work on the relationship
between the Linked Data and Web Services [
        <xref ref-type="bibr" rid="ref10 ref3">3,10</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], authors propose to
expose REST APIs as Linked Data. These approaches suggest the use of Linked
Data technology on top of Web services. Our work is related to results in the
opposite direction, concretely the Linked Data API specification5 and the W3C
Linked Data Platform 1.0 specification, which “describes the use of HTTP for
accessing, updating, creating and deleting resources from servers that expose
their resources as Linked Data” 6. The OpenPHACTS Discovery Platform for
pharmacological data [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and the BASIL server [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which also builds Linked
Data APIs compliant with the Swagger RESTful API specification7, are work
we directly build on. Our contribution proposes additional decoupling of Linked
Data APIs with SPARQL query curation infrastructures, in order to lower the
costs of building and maintaining such APIs.
      </p>
      <sec id="sec-2-1">
        <title>5https://github.com/UKGovLD/linked-data-api 6https://www.w3.org/TR/2015/REC-ldp-20150226/ 7https://github.com/OAI/OpenAPI-Specification</title>
        <p>
          From GitHub Repos to Linked Data APIs
It is becoming increasingly popular to maintain a great variety of data projects
beyond software code using git repositories, especially those in GitHub8 [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
For example, we have used GitHub to store important SPARQL queries and
templates for the CEDAR and CLARIAH projects. This has brought two key
outcomes for these projects. First, it has contributed a better maintainability of
the life cycle of SPARQL queries. By leveraging git features and GitHub’s
infrastructure, queries become easily reusable (since they get unique,
dereferenceable URIs), their provenance better traceable [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], their development (through
frictionless branching) less error-prone, and their versioning trivial. Second, it
lowers coupling between SPARQL queries and applications, by separating their
workflows while keeping queries accessible. Consequently, these queries are less
frequently hard-coded and retyped. The idea behind grlc is to use this
decoupling to simplify the infrastructure of building and exposing Linked Data APIs.
        </p>
        <p>This section investigates how the organisational characteristics of GitHub
repositories can be used to build, manage and maintain a Swagger-spec
compliant API. First, in Section 3.1 we study the requirements of Swagger-compliant
APIs and map them to elements of the GitHub API. Since these elements are
insufficient for a complete API spec, in Section 3.2 we propose to complete it
with non-intrusive SPARQL decorators.
3.1</p>
        <sec id="sec-2-1-1">
          <title>Mapping Swagger and GitHub</title>
          <p>We propose to align the metaphor of the repository with that of the API, since
both share abstract notions of organizing files and operations in a way that is
meaningful for their users. For this reason, in this section we study a possible
mapping between the two. Table 1 shows the mapping between the attribute
requirements of the Swagger RESTful API specification, and how these correspond
with either attributes of the GitHub API (repository organisation elements) or
attributes of the SPARQL usage decorator (usage metadata elements). The
latter are discussed in Section 3.2.
3.2</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>SPARQL Decorators</title>
          <p>To complete the mapping of the GitHub API to the Swagger RESTful API
specification shown in Table 1, we propose SPARQL decorators to add metadata
in queries as comments. We assume SPARQL queries organised as .rq files in git
repositories. Each of these files will translate into an API operation. We propose
to comment them in the first file lines, with the syntax depicted in the following
example9:</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>8https://github.com/</title>
        <p>9Additional examples can be found at https://github.com/CEDAR-project/
Queries and https://github.com/CLARIAH/wp4-queries
Swagger
attribute
Swagger version</p>
        <p>Scope</p>
        <p>API
API version
Title
Contact name
Contact URL
License
Host
Base path
Schemes
Path name
Path method
Path tags</p>
        <p>API
API
API
API
API
API
API
API
Operation
Operation</p>
        <p>Operation
Path description Operation
Path parameters Operation
Path responses</p>
        <p>Operation</p>
        <p>Description</p>
        <p>Mapping
Version number of com- Static: independent of the LDA.
pliant Swagger RESTful Currently version 2.0 of the
SwagAPI specification ger RESTful API spec is
sup</p>
        <p>ported
Version number of the GitHub API: last repo release
API from the release API through</p>
        <p>GET /repos/:owner/:repo/releases/
latest
Title of the API GitHub API: name of the
repository through GET /repos/:owner/:
repo
Author and contact in- GitHub API: login name of
formation the repository owner through GET</p>
        <p>/repos/:owner/:repo
URL to be followed for GitHub API: link to the HTML
additional information page of the repository owner</p>
        <p>through GET /repos/:owner/:repo
License under which the Repository file: a link to the raw
API is released LICENSE file of the repo if it exists;</p>
        <p>empty otherwise
Host name to compose grlc parameter: supplied host
the API calls name in grlc’s configuration;</p>
        <p>localhost by default
Base path to compose GitHub API: the string /:
the API calls owner/:repo in GET /repos/:owner/:</p>
        <p>repo
Supported schemes to Static: http is supported
compose the API calls
Name of the API opera- GitHub API: the file name,
withtion out the extension, of any .rq file</p>
        <p>found in the repository
HTTP method for the Static: GET is supported
operation (GET, POST)
Tags under which the SPARQL decorator: the parsed
operation will be classi- list of the decorator tags in .rq
fied files
Description of the API SPARQL decorator: the parsed
operation description decorator in .rq files
Parameters of the oper- SPARQL decorator: all
paramation eter placeholders parsed in the</p>
        <p>query (see Section 4)
Responses of the opera- SPARQL decorator: response
tion codes on success, datatypes of
parameters (see Section 4)
#+ summary: A brief summary of what the query does
#+ endpoint: http://example.org/sparql
#+ tags:
#+ - UseCase1
#+ - Awesomeness</p>
        <p>This indicates the summary of the query (which will document the API
operation), the endpoint to send the query, and the tags under which the operation
falls in. The latter helps to keep operations organized within the API. In
addition, we suggest to include two special files in the repository. The first is a
LICENSE file containing the license for the SPARQL queries and the API. The
second is the endpoint.txt file, with the URI of a default endpoint to direct
all queries of the repository. When parsing the repository (see Section 4) the
target endpoint will be the one indicated by the #+ endpoint decorator, the
endpoint.txt file, or http://dbpedia.org/sparql, in this order of preference.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>4 grlc</title>
      <p>grlc10 is a thin gateway that automatically builds complete, well documented,
and neatly organized Linked Data APIs on the fly, with no input required from
users beyond a GitHub user and repository name. To do so, it implements the
GitHub API mappings proposed in Section 3.1, and uses the SPARQL
decorators described in Section 3.2. It provides three basic operations: (1) generates
the Swagger spec of a specified GitHub repository; (2) generates the Swagger UI
to provide an interactive user-facing frontend of the API contents; and (3)
translates http requests to call the operations of the API against a SPARQL endpoint
with several parameters. If the GitHub repository at https://github.com/:
owner/:repo contains decorated SPARQL queries, grlc uses these, together
with organisational repo information from the GitHub API, to build the API
interface automatically. Assuming that grlc is running in :host, these operations
are available at the following routes:
– http://:host/:owner/:repo/spec: JSON Swagger-compliant specification,
using the mappings of Section 3
– http://:host/:owner/:repo/api-docs: Swagger-UI, rendered using such
mappings, as shown in Figure 1.
– http://:host/:owner/:repo/:operation?p_1=v_1...p_n=v_n: http GET
request to :operation with parameters p1; :::; pn taking values v1; :::; vn.
grlc composes the Swagger spec as follows: (1) the user requests the URI
http://:host/:owner/:repo/spec11 to a host running grlc; (2) grlc issues
the http GET request to the GitHub API at https://api.github.com/repos/:
owner/:repo, using the owner and repo names indicated in the previous step;
(3) for each .rq file described in the response, grlc derefences https://raw.
githubusercontent.com/:owner/:repo/master/file.rq to get the SPARQL
file contents; (3) grlc parses these file contents to extract: (a) the values of
10Source code at https://github.com/CLARIAH/grlc; demo instance at http://
grlc.clariah-sdh.eculture.labs.vu.nl/
11Requested from any http compliant client: a Web browser, curl, etc.
the decorators (if any), and (b) any parameter placeholders in the query; (4)
grlc uses all the gathered data to compose the Swagger spec, and returns it
to the client as JSON. The composition of the Swagger UI is analogous: first
the JSON spec is composed and, after, it is used to render the Swagger UI
template12.</p>
      <p>Operations of the form http://:host/:owner/:repo/:operation?p_1=v_1.
..p_n=v_n, are executed by grlc by first retrieving the raw query at https://
raw.githubusercontent.com/:owner/:repo/master/:operation.rq, and then
rewriting it using the parameter values supplied in the corresponding
placeholders.13. After this, the query is submitted to the endpoint indicated by the
methods described in Section 3.2, using supplied http headers (e.g. content-type).
The endpoint results are forwarded to the client application.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Preliminary Evaluation</title>
      <p>In this section we evaluate requirements satisfied by grlc in two use cases.</p>
      <p>
        Dutch Historical Census Data. The CEDAR project14 has published the
Dutch historical censuses (1795–1971) as 5-star Linked Data [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Key queries and
templates to interrogate this dataset are available at GitHub15. These queries
are used in various client applications16,17. Before grlc, we decided to
imple12https://github.com/swagger-api/swagger-ui
13grlc is compliant with BASIL’s convention for Web API
parameters mapping, see https://github.com/the-open-university/basil/wiki/
SPARQL-variable-name-convention-for-WEB-API-parameters-mapping
14http://www.cedar-project.nl/
15https://github.com/CEDAR-project/Queries
16YASGUI-based browsing: http://lod.cedar-project.nl/cedar/data.html
17Drawing historical maps with census data: http://lod.cedar-project.nl/maps/
map_CEDAR_women_1899.html
ment a minimal effort Web API using our own instance of BASIL18. However,
the queries needed to be retyped in the system, and caused ramifications with
respect to the ones in our existing applications. Moreover, it was not possible to
mimic the organisation these queries had in the original GitHub repo in the API
spec. After grlc, we could create this API without interfering with the original
applications and queries, effectively reusing them. Furthermore, grlc permitted
an ecosystem where SPARQL and non-SPARQL savvy applications coexist.
      </p>
      <p>
        Born Under a Bad Sign. In CLARIAH19, querying structured humanities
data from combined sources is central. This particular use case focuses on
validating the hypothesis that prenatal and early-life conditions have a strong impact
on socioeconomic and health outcomes later in life, by using 1891 census records
of Canada and Sweden. These were converted to Linked Data with QBer [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and
analyzed in the statistical environment R. Before grlc, loading the data to be
analyzed implied the manual download of a SPARQL query resultset in a file,
and then loading this file in R. This was mitigated with the R SPARQL
package [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, this resulted in hard-coded, hardly reusable, and difficult to
maintain queries. After better organising these queries in a GitHub repository,
an API using them became immediately available through grlc. The R code
became clearer due to the decoupling with SPARQL; and shorter, since a curl
one-liner calling a grlc enabled API operation sufficed to retrieve the data.
6
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion and Future Work</title>
      <p>In this paper we have presented grlc, a novel approach to automatically build
Linked Data APIs by using SPARQL queries stored and documented in git
repositories. Our approach addresses two pitfalls of current practice in constructing
Linked Data APIs: (1) the coupling of SPARQL curation workflows and the
API infrastructure, which hampers query reuse and forces query retyping and
ramifications; and (2) the common lack of organisation in Linked Data APIs.
grlc maps the Swagger specification with GitHub API features and a proposed
SPARQL decorator notation, and builds and maintains Linked Data APIs
automatically with minimal effort. We argue that this approach enables a better
coexistence of SPARQL and non-SPARQL savvy applications, and allows
developers to switch their efforts from API infrastructure to applications.</p>
      <p>We plan to extend this work in several ways. First, we will support additional
repository elements and SPARQL decorators. Second, we will add compatibility
with other collaborative coding platforms, like Bitbucket and GitLab, enabling
private APIs and authentication. Finally, we plan to create a grlc companion
to facilitate the curation of SPARQL queries in git repositories.
18https://github.com/the-open-university/BASIL
19http://clariah.nl/</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Daga</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panziera</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pedrinaci</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A BASILar Approach for Building Web APIs on top of SPARQL Endpoints</article-title>
          . In:
          <article-title>Services and Applications over Linked APIs and Data - SALAD2015 (ISWC 2015)</article-title>
          . vol.
          <volume>1359</volume>
          . CEUR Workshop Proceedings (
          <year>2015</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1359</volume>
          /
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. De Nies,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Magliacane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Coppens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Groth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mannens</surname>
          </string-name>
          , E., Van de Walle, R.:
          <article-title>Git2PROV: Exposing version control system content as W3C PROV</article-title>
          .
          <source>In: Poster and Demo Proceedings of the 12th International Semantic Web Conference (Oct</source>
          <year>2013</year>
          ), http://www.iswc2013.semanticweb.org/sites/default/ files/iswc_demo_
          <volume>32</volume>
          _0.pdf
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Fielding</surname>
          </string-name>
          , R.T.:
          <article-title>Architectural styles and the design of network-based software architectures (</article-title>
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Groth</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loizou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>A.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goble</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harland</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pettifer</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>APIcentric Linked Data integration: The Open PHACTS Discovery Platform case study</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>29</volume>
          (
          <issue>0</issue>
          ),
          <fpage>12</fpage>
          -
          <lpage>18</lpage>
          (
          <year>2014</year>
          ), http://www.sciencedirect.com/science/article/pii/ S1570826814000195, life Science and e-Science
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. van Hage,
          <string-name>
            <surname>W.R.</surname>
          </string-name>
          ,
          <source>with contributions from: Tomi Kauppinen</source>
          , Graeler,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Davis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Hoeksema</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Ruttenberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Bahls</surname>
          </string-name>
          .,
          <string-name>
            <surname>D.</surname>
          </string-name>
          : SPARQL: SPARQL client (
          <year>2013</year>
          ), http://CRAN.R-project.
          <source>org/package=SPARQL, R package version 1</source>
          .
          <fpage>15</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hoekstra</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meroño-Peñuela</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dentler</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rijpma</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zijdeman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zandhuis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>An Ecosystem for Linked Humanities Data</article-title>
          .
          <source>In: Proceedings of the 1st Workshop on Humanities in the Semantic Web (WHiSe</source>
          <year>2016</year>
          ),
          <string-name>
            <surname>ESWC</surname>
          </string-name>
          <year>2016</year>
          (
          <year>2016</year>
          ), under review
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Huelss</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paulheim</surname>
          </string-name>
          , H.:
          <article-title>The Semantic Web: ESWC 2015 Satellite Events, chap</article-title>
          .
          <source>What SPARQL Query Logs Tell and Do Not Tell About Semantic Relatedness in LOD</source>
          , pp.
          <fpage>297</fpage>
          -
          <lpage>308</lpage>
          . Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2015</year>
          ), http://dx. doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -25639-9_
          <fpage>44</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>McMillan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>From Collaborative Coding to Wedding Invitations: GitHub Is Going Mainstream</article-title>
          . Wired
          <string-name>
            <surname>Magazine</surname>
          </string-name>
          (
          <year>2013</year>
          , February 9), http://www.wired.com/
          <year>2013</year>
          / 09/github-for-anything/all
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Meroño-Peñuela</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guéret</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ashkpour</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlobach</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>CEDAR: The Dutch Historical Censuses as Linked Open Data</article-title>
          . Semantic Web - Interoperability, Usability, Applicability (
          <year>2015</year>
          ), in press
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Pedrinaci</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Domingue</surname>
          </string-name>
          , J.:
          <article-title>Toward the next wave of services: Linked Services for the Web of data</article-title>
          .
          <source>Journ. of Universal Computer Science</source>
          <volume>16</volume>
          (
          <issue>13</issue>
          ),
          <fpage>1694</fpage>
          --
          <lpage>1719</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Rietveld</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoekstra</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Man vs</article-title>
          .
          <source>Machine: Differences in SPARQL Queries. In: Proceedings of the 4th USEWOD Workshop on Usage Analysis and the Web of of Data, ESWC</source>
          <year>2014</year>
          (
          <year>2014</year>
          ), http://usewod.org/files/workshops/2014/papers/ rietveld_hoekstra_usewod2014.pdf
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Saleem</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>M.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehmood</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hogan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ngomo</surname>
            ,
            <given-names>A.C.N.:</given-names>
          </string-name>
          <article-title>LSQ: Linked SPARQL Queries Dataset</article-title>
          .
          <source>In: The Semantic Web - ISWC 2015. LNCS</source>
          , vol.
          <volume>9367</volume>
          , pp.
          <fpage>261</fpage>
          -
          <lpage>269</lpage>
          . Springer
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Speiser</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harth</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Integrating linked data and services with linked data services</article-title>
          .
          <source>In: The Semantic Web: Research and Applications</source>
          . pp.
          <fpage>170</fpage>
          --
          <lpage>184</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Vandenbussche</surname>
          </string-name>
          , P.Y.,
          <string-name>
            <surname>Aranda</surname>
            ,
            <given-names>C.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hogan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Umbrich</surname>
          </string-name>
          , J.:
          <article-title>Monitoring the Status of SPARQL Endpoints</article-title>
          .
          <source>In: Proceedings of the ISWC 2013 Posters and Demonstrations Track, 12th International Semantic Web Conference (ISWC</source>
          <year>2013</year>
          ). pp.
          <fpage>81</fpage>
          -
          <lpage>84</lpage>
          . CEUR-WS (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>