W3C Specifications

A great advantage of open standards is that the specifications for these standards are freely available. This makes it easier to find official answers about using these standards, as well as learning more about how to better take advantage of each standard. RDF and related standards are produced by the W3C, the same standards body that oversees standards such as HTML and CSS.

Resource Description Framework (RDF)

  • RDF Concepts and Abstract Syntax This specification provides a good introduction to basic concepts of RDF (for example, triples, IRIs and URIs, literals, and blank nodes) and the available built-in datatypes that you can use for your data.

  • RDF Turtle This spells out all the syntax possibilities for the Turtle syntax used to serialize RDF triples as text files. While the RDF “Concepts and Abstract Syntax” specification mentioned above explains what all the key concepts are, this document shows the specific syntax to encode those concepts and datatypes in your data.

  • RDF-star and SPARQL-star Final Community Group Report RDF-star provides a way to let RDF triples themselves serve as the subjects or objects of triples. For example, let’s say that:

    • You have a triple stating that employee38 has a jobTitle of ‘Assistant Designer’.

    • employee22 told you this fact about employee38.

    RDF-star gives you a way to create a triple with a subject of employee22, a predicate of statedThat, and an object that consists of the triple (employee38 jobTitle ‘Assistant Designer’)”. In other words, the triple about the employee38 job title is the object of the triple about employee22.

    SPARQL-star lets you query for such triples. RDF-star and SPARQL-star improve on the “reification” mechanisms used earlier in RDF’s history, which this Community Group Report describes as “verbose and cumbersome.” While this Community Group Report is currently the most official W3C document about RDF-star and SPARQL-star, it is not a Recommendation, or official W3C standard. Its contents will be incorporated into the eventual 1.2 updates to the RDF and SPARQL Recommendations. Meanwhile, though, this is a useful document to learn exactly how RDF-star and SPARQL-star work.

SPARQL Protocol and Query Language

Note

See also the GraphDB documentation page about its SPARQL Compliance and, in the previous section, the “RDF-star and SPARQL-star Final Community Group Report.”

  • SPARQL Overview For most people, “SPARQL” refers to the query language, but there is actually a set of specification describing the query language and other related capabilities. For example, the JSON, CSV and TSV, and XML query result formats each have their own specification. This document describes a little about each of the SPARQL specifications and where to find out more.

  • SPARQL Query Language This is the official specification of all the syntax that is available to create SPARQL SELECT, CONSTRUCT, ASK, and DESCRIBE queries. This includes all the functions that these queries may call; an occasional review of that section in this specification’s table of contents can provide a reminder of just how many useful functions are available.

  • SPARQL Update This shows all the ways to create an update request (essentially, a specialized query) that inserts and deletes triples in a graph store. This specification also covers operations that you can perform on named graphs such as creating, loading, and dropping them. The Updating Data section of the GraphDB documentation has further information about doing this with data in GraphDB repositories.

  • SPARQL Protocol As this specification says, the SPARQL Protocol “describes a means for conveying SPARQL queries and updates to a SPARQL processing service and returning the results via HTTP to the entity that requested them.” GraphDB supports this specification via its SPARQL endpoint.

  • SPARQL Graph Store HTTP Protocol This specification “describes the use of HTTP operations for the purpose of managing a collection of RDF graphs [as] an alternative to the SPARQL 1.1 Update protocol.” GraphDB’s support for this specification is described in the Graph Store HTTP Protocol section of the documentation.

  • SPARQL Federated Query This document shows how to express queries across diverse data sources. GraphDB’s support for this specification is described on the SPARQL Federation documentation page.

Schemas, Ontologies, and Data Validation

  • RDF Schema (Often abbreviated as RDFS) This is one of the original RDF specifications. it describes the specialized classes and properties that let you use RDF triples to create schemas (for example, by defining classes, properties, and the relationships between them) and build on other existing schemas. For more on GraphDB’s support of RDFS, see RDF Schema (RDFS).

  • OWL 2 Web Ontology Language Document Overview OWL 2 is the most recent version of the set of OWL standards and profiles. This document provides an overview of OWL specifications and where to find out more about each. (See also The Web Ontology Language (OWL) and its dialects and OWL Compliance for more on GraphDB’s support of OWL.)

  • Shapes Constraint Language (SHACL) The Shapes Constraint Language lets you validate RDF graphs against a set of conditions—for example, to check whether all the instances of a given class have values in their required properties or that certain values are within a specified range. This document shows how to describe all of the different constraints that may be applied. The GraphDB SHACL Validation page shows how to implement these in a GraphDB repository.