SPARQL 1.2 Service Description

W3C First Public Working Draft

More details about this document
This version:
https://www.w3.org/TR/2023/WD-sparql12-service-description-20230516/
Latest published version:
https://www.w3.org/TR/sparql12-service-description/
Latest editor's draft:
https://w3c.github.io/sparql-service-description/spec/
History:
https://www.w3.org/standards/history/sparql12-service-description
Commit history
Test suite:
https://w3c.github.io/rdf-tests/
Latest Recommendation:
https://www.w3.org/TR/2013/REC-sparql11-service-description-20130321
Editors:
Ruben Taelman
Gregory Williams
Former editor:
Gregory Todd Williams
Feedback:
GitHub w3c/sparql-service-description (pull requests, new issue, open issues)
public-rdf-star-wg@w3.org with subject line [sparql12-service-description] … message topic … (archives)

Abstract

This document describes SPARQL service description, a method for discovering, and vocabulary for describing SPARQL services made available via the SPARQL 1.2 Protocol. These descriptions provide a mechanism by which a client or end user can discover information about the SPARQL service such as supported extension functions and details about the available dataset.

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

This specification is published by the RDF Star Working Group as part of the update of specifications for format and errata.

This document was published by the RDF-star Working Group as a First Public Working Draft using the Recommendation track.

Publication as a First Public Working Draft does not imply endorsement by W3C and its Members.

This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 2 November 2021 W3C Process Document.

2. Introduction

A SPARQL service description lists the features of a SPARQL service made available via the SPARQL 1.2 Query Language. This document describes both a method for discovering a service description from a specific SPARQL service and an RDF schema for encoding such descriptions in RDF.

2.1 Terminology

When this document uses the words MUST, SHOULD and MAY, and the words appear as emphasized text, they must be interpreted as described in [RFC2119].

The following terms are also in use throughout this document:

SPARQL Service
Any implementation conforming to the SPARQL 1.2 Protocol (this document's use of "SPARQL Service" is the same as "SPARQL Protocol service" as defined in the SPARQL 1.2 Protocol) [SPARQL12-PROTOCOL].
SPARQL endpoint
The URI at which a SPARQL Service listens for requests from clients.

3. Accessing a Service Description

SPARQL services made available via the SPARQL Protocol SHOULD return a service description document at the service endpoint when dereferenced using the HTTP GET operation without any query parameter strings provided. This service description MUST be made available in an RDF serialization, MAY be embedded in (X)HTML by way of RDFa Core 1.1 - Third Edition, and SHOULD use content negotiation if available in other RDF representations.

4. Service Description Vocabulary

4.1 SPARQL Service Description Namespace and OWL Ontology

The SPARQL service description namespace IRI is:

http://www.w3.org/ns/sparql-service-description#

The prefix used in this document for this namespace is sd.

An RDF encoding of the Service Description ontology is available by HTTP content negotiation from the namespace IRI.

4.2 Properties

4.2.1 sd:endpoint

Relates an instance of sd:Service to a SPARQL endpoint that implements the SPARQL Protocol service for the service. The object of the sd:endpoint property is an IRI.

type: owl:InverseFunctionalProperty
domain: sd:Service

4.2.2 sd:feature

Relates an instance of sd:Service with a resource representing a supported feature.

domain: sd:Service
range: sd:Feature

4.2.3 sd:defaultEntailmentRegime

Relates an instance of sd:Service with a resource representing an entailment regime used for basic graph pattern matching. This property is intended for use when a single entailment regime by default applies to all graphs in the default dataset of the service. In situations where a different entailment regime applies to a specific graph in the dataset, the sd:entailmentRegime property should be used to indicate this fact in the description of that graph.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:EntailmentRegime

4.2.4 sd:entailmentRegime

Relates a named graph description with a resource representing an entailment regime used for basic graph pattern matching over that graph.

domain: sd:NamedGraph
range: sd:EntailmentRegime

4.2.5 sd:defaultSupportedEntailmentProfile

Relates an instance of sd:Service with a resource representing a supported profile of the default entailment regime (as declared by sd:defaultEntailmentRegime). Entailment profiles are discussed more in SPARQL 1.2 Entailment Regimes [SPARQL12-ENTAILMENT].

Note that this specification does not make any conformance requirements on the compatibility of an advertised entailment profile with the advertised entailment regime in a service description. Providing a reasonable combination of values to the sd:entailmentRegime/sd:defaultEntailmentRegime and sd:supportedEntailmentProfile/sd:defaultSupportedEntailmentProfile properties is up to the creator of a service description.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:EntailmentProfile

4.2.6 sd:supportedEntailmentProfile

Relates a named graph description with a resource representing a supported profile of the entailment regime (as declared by sd:entailmentRegime) used for basic graph pattern matching over that graph.

domain: sd:NamedGraph
range: sd:EntailmentProfile

4.2.7 sd:extensionFunction

Relates an instance of sd:Service to a function that may be used in a SPARQL SELECT expression or a FILTER, HAVING, GROUP BY, ORDER BY, or BIND clause.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:Function

4.2.8 sd:extensionAggregate

Relates an instance of sd:Service to an aggregate that may be used in a SPARQL aggregate query (for instance in a HAVING clause or SELECT expression) besides the standard list of supported aggregates COUNT, SUM, MIN, MAX, AVG, GROUP_CONCAT, and SAMPLE.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:Aggregate

4.2.9 sd:languageExtension

Relates an instance of sd:Service to a resource representing an implemented extension to the SPARQL Query or Update language.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:Feature

4.2.10 sd:supportedLanguage

Relates an instance of sd:Service to a SPARQL language (e.g. Query and Update) that it implements.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:Language

4.2.11 sd:propertyFeature

Relates an instance of sd:Service to a resource representing an implemented feature that extends the SPARQL Query or Update language and that is accessed by using the named property.

subPropertyOf: sd:feature
domain: sd:Service
range: sd:Feature

4.2.12 sd:defaultDataset

Relates an instance of sd:Service to a description of the default dataset available when no explicit dataset is specified in the query, update request or via protocol parameters.

type: owl:InverseFunctionalProperty
domain: sd:Service
range: sd:Dataset

4.2.13 sd:availableGraphs

Relates an instance of sd:Service to a description of the graphs which are allowed in the construction of a dataset via the SPARQL Protocol, with FROM/FROM NAMED clauses in a query, or with USING/USING NAMED in an update request, if the service limits the scope of dataset construction.

domain: sd:Service
range: sd:GraphCollection

4.2.14 sd:resultFormat

Relates an instance of sd:Service to a format that is supported for serializing query results.

URIs for commonly used serialization formats are defined by Unique URIs for File Formats. For formats that do not have an existing URI, the <http://www.w3.org/ns/formats/media_type> and <http://www.w3.org/ns/formats/preferred_suffix> properties defined in that document SHOULD be used to describe the format.

domain: sd:Service
range: <http://www.w3.org/ns/formats/Format>

4.2.15 sd:inputFormat

Relates an instance of sd:Service to a format that is supported for parsing RDF input; for example, via a SPARQL 1.2 Update LOAD statement, or when URIs are dereferenced in FROM/FROM NAMED/USING/USING NAMED clauses (see also sd:DereferencesURIs below).

URIs for commonly used serialization formats are defined by Unique URIs for File Formats. For formats that do not have an existing URI, the <http://www.w3.org/ns/formats/media_type> and <http://www.w3.org/ns/formats/preferred_suffix> properties defined in that document SHOULD be used to describe the format.

domain: sd:Service
range: <http://www.w3.org/ns/formats/Format>

4.2.16 sd:defaultGraph

Relates an instance of sd:Dataset to the description of its default graph.

domain: sd:Dataset
range: sd:Graph

4.2.17 sd:namedGraph

Relates an instance of sd:GraphCollection (or its subclass sd:Dataset) to the description of one of its named graphs. The description of such a named graph MUST include the sd:name property and MAY include the sd:graph property.

domain: sd:GraphCollection
range: sd:NamedGraph

4.2.18 sd:name

Relates a named graph to the name by which it may be referenced in a FROM/FROM NAMED clause. The object of the sd:name property is an IRI.

domain: sd:NamedGraph

4.2.19 sd:graph

Relates a named graph to its graph description.

domain: sd:NamedGraph
range: sd:Graph

4.3 Classes

4.3.1 sd:Service

An instance of sd:Service represents a SPARQL service made available via the SPARQL Protocol.

type: rdfs:Class

4.3.2 sd:Feature

An instance of sd:Feature represents a feature of a SPARQL service. Specific types of features include functions, aggregates, languages, and entailment regimes and profiles. This document defines five instances of sd:Feature: sd:DereferencesURIs, sd:UnionDefaultGraph, sd:RequiresDataset, sd:EmptyGraphs, and sd:BasicFederatedQuery.

type: rdfs:Class

4.3.3 sd:Language

An instance of sd:Language represents one of the SPARQL languages, including specific configurations providing particular features or extensions. This document defines three instances of sd:Language: sd:SPARQL10Query, sd:SPARQL11Query, and sd:SPARQL11Update.

type: rdfs:Class
subClassOf: sd:Feature

4.3.4 sd:Function

An instance of sd:Function represents a function that may be used in a SPARQL SELECT expression or a FILTER, HAVING, GROUP BY, ORDER BY, or BIND clause.

type: rdfs:Class
subClassOf: sd:Feature

4.3.5 sd:Aggregate

An instance of sd:Aggregate represents an aggregate that may be used in a SPARQL aggregate query (for instance in a HAVING clause or SELECT expression) besides the standard list of supported aggregates COUNT, SUM, MIN, MAX, AVG, GROUP_CONCAT, and SAMPLE.

type: rdfs:Class
subClassOf: sd:Feature

4.3.6 sd:EntailmentRegime

An instance of sd:EntailmentRegime represents an entailment regime used in basic graph pattern matching (as described by SPARQL 1.2 Query Language). URIs for commonly used entailment regimes are defined by Unique URIs for Semantic Web Entailment Regimes.

type: rdfs:Class
subClassOf: sd:Feature

4.3.7 sd:EntailmentProfile

An instance of sd:EntailmentProfile represents a profile of an entailment regime. An entailment profile MAY impose restrictions on what constitutes valid RDF with respect to entailment. URIs for commonly used entailment profiles are defined by Unique URIs for OWL 2 Profiles.

type: rdfs:Class
subClassOf: sd:Feature

4.3.8 sd:GraphCollection

An instance of sd:GraphCollection represents a collection of zero or more named graph descriptions. Each named graph description belonging to an sd:GraphCollection MUST be linked with the sd:namedGraph predicate.

type: rdfs:Class

4.3.9 sd:Dataset

An instance of sd:Dataset represents a RDF Dataset comprised of a default graph and zero or more named graphs.

The default graph of an sd:Dataset MUST be linked with the sd:defaultGraph predicate.

type: rdfs:Class
subClassOf: sd:GraphCollection

4.3.10 sd:Graph

An instance of sd:Graph represents the description of an RDF graph.

This document does not define properties with domain sd:Graph. Instead, such instances may be described using other appropriate vocabularies (see example below).

type: rdfs:Class

4.3.11 sd:NamedGraph

An instance of sd:NamedGraph represents a named graph having a name (via sd:name) and an optional graph description (via sd:graph).

type: rdfs:Class

4.4 Instances

4.4.1 sd:SPARQL10Query

sd:SPARQL10Query is an sd:Language representing the SPARQL 1.0 Query Language.

type: sd:Language

4.4.2 sd:SPARQL11Query

sd:SPARQL11Query is an sd:Language representing the SPARQL 1.1 Query Language.

type: sd:Language

4.4.3 sd:SPARQL11Update

sd:SPARQL11Update is an sd:Language representing the SPARQL 1.1 Update language.

type: sd:Language

4.4.4 sd:SPARQL12Query

sd:SPARQL12Query is an sd:Language representing the SPARQL 1.2 Query Language.

type: sd:Language

4.4.5 sd:SPARQL12Update

sd:SPARQL12Update is an sd:Language representing the SPARQL 1.2 Update language.

type: sd:Language

4.4.6 sd:DereferencesURIs

sd:DereferencesURIs, when used as the object of the sd:feature property, indicates that a SPARQL service will dereference [WEBARCH] URIs used in FROM/FROM NAMED and USING/USING NAMED clauses and use the resulting RDF in the dataset during query evaluation.

type: sd:Feature

4.4.7 sd:UnionDefaultGraph

sd:UnionDefaultGraph, when used as the object of the sd:feature property, indicates that the default graph of the dataset used during query and update evaluation (when an explicit dataset is not specified) is comprised of the union of all the named graphs in that dataset.

type: sd:Feature

4.4.8 sd:RequiresDataset

sd:RequiresDataset, when used as the object of the sd:feature property, indicates that the SPARQL service requires an explicit dataset declaration (based on either FROM/FROM NAMED clauses in a query, USING/USING NAMED clauses in an update, or the appropriate SPARQL Protocol parameters).

type: sd:Feature

4.4.9 sd:EmptyGraphs

sd:EmptyGraphs, when used as the object of the sd:feature property, indicates that the underlying graph store supports empty graphs. A graph store that supports empty graphs MUST NOT remove graphs that are left empty after triples are removed from them. (See 3.1 Graph Update in SPARQL 1.2 Update.)

type: sd:Feature

4.4.10 sd:BasicFederatedQuery

sd:BasicFederatedQuery, when used as the object of the sd:feature property, indicates that the SPARQL service supports basic federated query using the SERVICE keyword as defined by SPARQL 1.2 Federated Query.

type: sd:Feature

4.4.11 Other Instances

Apart from the instances listed above, custom extensions and other documents may define further instance URIs usable within service descriptions; the following documents also list instance URIs that may be used with some of the properties defined in the previous sections:

5. Example (Informative)

The following HTTP traces illustrate the retrieval of a service description from the SPARQL endpoint http://www.example/sparql/.

This RDF describes a SPARQL service available at the URL http://www.example/sparql/ that supports the SPARQL 1.2 Query language. The service will dereference URLs used in FROM/FROM NAMED clauses, supports both the RDF/XML and Turtle serialization formats, supports the http://example.org/Distance extension function, and has a dataset with a default graph and one named graph, both described using the voiD vocabulary [VOID]. The default graph contains 100 triples and supports RDFS entailment while the graph named http://www.example/named-graph contains 2000 triples and supports OWL2 RL entailment.

5.1 RDF/XML Service Description

Given the HTTP request:

GET /sparql/ HTTP/1.1
Host: www.example

the SPARQL service responds with an RDF/XML encoded service description (no content negotiation or RDFa encoding is used):

HTTP/1.1 200 OK
Date: Fri, 09 Oct 2009 17:31:12 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3
Connection: close
Content-Type: application/rdf+xml

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:sd="http://www.w3.org/ns/sparql-service-description#"
   xmlns:prof="http://www.w3.org/ns/owl-profile/"
   xmlns:void="http://rdfs.org/ns/void#">
  <sd:Service>
    <sd:endpoint rdf:resource="http://www.example/sparql/"/>
    <sd:supportedLanguage rdf:resource="http://www.w3.org/ns/sparql-service-description#SPARQL11Query"/>
    <sd:resultFormat rdf:resource="http://www.w3.org/ns/formats/RDF_XML"/>
    <sd:resultFormat rdf:resource="http://www.w3.org/ns/formats/Turtle"/>
    <sd:feature rdf:resource="http://www.w3.org/ns/sparql-service-description#DereferencesURIs"/>
    <sd:defaultEntailmentRegime rdf:resource="http://www.w3.org/ns/entailment/RDFS"/>
    <sd:extensionFunction>
      <sd:Function rdf:about="http://example.org/Distance"/>
    </sd:extensionFunction>
    <sd:defaultDataset>
      <sd:Dataset>
        <sd:defaultGraph>
          <sd:Graph>
            <void:triples rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">100</void:triples>
          </sd:Graph>
        </sd:defaultGraph>
        <sd:namedGraph>
          <sd:NamedGraph>
            <sd:name rdf:resource="http://www.example/named-graph"/>
            <sd:entailmentRegime rdf:resource="http://www.w3.org/ns/entailment/OWL-RDF-Based"/>
            <sd:supportedEntailmentProfile rdf:resource="http://www.w3.org/ns/owl-profile/RL"/>
            <sd:graph>
              <sd:Graph>
                <void:triples rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2000</void:triples>
              </sd:Graph>
            </sd:graph>
          </sd:NamedGraph>
        </sd:namedGraph>
      </sd:Dataset>
    </sd:defaultDataset>
  </sd:Service>
</rdf:RDF>

5.2 Turtle Service Description

Given the HTTP request:

GET /sparql/ HTTP/1.1
Host: www.example
Accept: text/turtle

the SPARQL service responds with a Turtle encoded service description:

HTTP/1.1 200 OK
Date: Fri, 09 Oct 2009 17:31:12 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3
Connection: close
Content-Type: text/turtle

@prefix sd: <http://www.w3.org/ns/sparql-service-description#> .
@prefix ent: <http://www.w3.org/ns/entailment/> .
@prefix prof: <http://www.w3.org/ns/owl-profile/> .
@prefix void: <http://rdfs.org/ns/void#> .

[] a sd:Service ;
    sd:endpoint <http://www.example/sparql/> ;
    sd:supportedLanguage sd:SPARQL11Query ;
    sd:resultFormat <http://www.w3.org/ns/formats/RDF_XML>, <http://www.w3.org/ns/formats/Turtle> ;
    sd:extensionFunction <http://example.org/Distance> ;
    sd:feature sd:DereferencesURIs ;
    sd:defaultEntailmentRegime ent:RDFS ;
    sd:defaultDataset [
        a sd:Dataset ;
        sd:defaultGraph [
            a sd:Graph ;
            void:triples 100
        ] ;
        sd:namedGraph [
            a sd:NamedGraph ;
            sd:name <http://www.example/named-graph> ;
            sd:entailmentRegime ent:OWL-RDF-Based ;
            sd:supportedEntailmentProfile prof:RL ;
            sd:graph [
                a sd:Graph ;
                void:triples 2000
            ]
        ]
    ] .

<http://example.org/Distance> a sd:Function .

6. Conformance

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, and SHOULD in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

6.1 Conformance

A SPARQL service conformant with this specification:

  1. MUST return RDF content when the service endpoint URL is accessed as described in section 2 Accessing a Service Description.
  2. The RDF content returned from dereferencing a service endpoint URL <service-endpoint-URL> MUST include at least one triple matching:
    ?service sd:endpoint <service-endpoint-URL> .
  3. The RDF content returned MUST make use of the vocabulary defined in this document in accordance with the usage specified in section 3 Service Description Vocabulary.

7. Privacy Considerations

TODO

8. Security Considerations

TODO

9. Internationalization Considerations

TODO

A. Change Log

This section is non-normative.

TODO

B. Index

B.1 Terms defined by this specification

B.2 Terms defined by reference

C. References

C.1 Normative references

[RDF12-TURTLE]
RDF 1.2 Turtle. Eric Prud'hommeaux; Gavin Carothers. W3C. W3C Working Draft. URL: https://w3c.github.io/rdf-turtle/spec/
[RDFa-core]
RDFa Core 1.1 - Third Edition. Ben Adida; Mark Birbeck; Shane McCarron; Ivan Herman et al. W3C. 17 March 2015. W3C Recommendation. URL: https://www.w3.org/TR/rdfa-core/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[rfc9110]
HTTP Semantics. R. Fielding, Ed.; M. Nottingham, Ed.; J. Reschke, Ed.. IETF. June 2022. Internet Standard. URL: https://www.rfc-editor.org/rfc/rfc9110
[SPARQL-QUERY]
SPARQL Query Language for RDF. Eric Prud'hommeaux; Andy Seaborne. W3C. 15 January 2008. W3C Recommendation. URL: https://www.w3.org/TR/rdf-sparql-query/
[SPARQL11-QUERY]
SPARQL 1.1 Query Language. Steven Harris; Andy Seaborne. W3C. 21 March 2013. W3C Recommendation. URL: https://www.w3.org/TR/sparql11-query/
[SPARQL11-UPDATE]
SPARQL 1.1 Update. Paula Gearon; Alexandre Passant; Axel Polleres. W3C. 21 March 2013. W3C Recommendation. URL: https://www.w3.org/TR/sparql11-update/
[SPARQL12-CONCEPTS]
SPARQL 1.2 Concepts. The W3C RDF-star Working Group. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-concepts/spec/
[SPARQL12-ENTAILMENT]
SPARQL 1.2 Entailment Regimes. Birte Glimm; Chimezie Ogbuji. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-entailment/spec/
[SPARQL12-FEDERATED-QUERY]
SPARQL 1.2 Federated Query. Eric Prud'hommeaux; Carlos Buil Aranda. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-federated-query/spec/
[SPARQL12-GRAPH-STORE-PROTOCOL]
SPARQL 1.2 Graph Store HTTP Protocol. Chimezie Ogbuji. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-graph-store-protocol/spec/
[SPARQL12-NEW]
What’s New in SPARQL 1.2. The W3C RDF-star Working Group. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-new/spec/
[SPARQL12-PROTOCOL]
SPARQL 1.2 Protocol. Lee Feigenbaum; Gregory Williams; Kendall Clark; Elias Torres. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-protocol/spec/
[SPARQL12-QUERY]
SPARQL 1.2 Query Language. Steven Harris; Andy Seaborne. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-query/spec/
[SPARQL12-RESULTS-CSV-TSV]
SPARQL 1.2 Query Results CSV and TSV Formats. Andy Seaborne. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-results-csv-tsv/spec/
[SPARQL12-RESULTS-JSON]
SPARQL 1.2 Query Results JSON Format. Andy Seaborne. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-results-json/spec/
[SPARQL12-RESULTS-XML]
SPARQL 1.2 Query Results XML Formats. Sandro Hawke; Dave Beckett; Jeen Broekstra. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-results-xml/spec/
[SPARQL12-UPDATE]
SPARQL 1.2 Update. Paula Gearon; Alexandre Passant; Axel Polleres. W3C. W3C Working Draft. URL: https://w3c.github.io/sparql-update/spec/
[VOID]
Describing Linked Datasets with the VoID Vocabulary. Keith Alexander; Richard Cyganiak; Michael Hausenblas; Jun Zhao. W3C. 3 March 2011. W3C Working Group Note. URL: https://www.w3.org/TR/void/
[WEBARCH]
Architecture of the World Wide Web, Volume One. Ian Jacobs; Norman Walsh. W3C. 15 December 2004. W3C Recommendation. URL: https://www.w3.org/TR/webarch/