GraphQL

GraphQL is a highly popular data query and manipulation language. It allows clients to define the structure of the data they require, and exactly the same structure of the data in JSON is returned from the server. GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015. Since then, GraphQL use, development community and available tools have been growing rapidly.

GraphQL support in TopBraid provides powerful access to RDF knowledge graphs​ by seamlessly combining W3C standards for schema definition, data validation, inferencing and query​, with a ​popular ​JSON-centric ​query language for APIs​.​ This makes RDF data easily available to the JSON and browser ecosystems.

TopBraid uses RDF to store and organize data. This means it offers great flexibility and solid standards to represent almost any data structure. You can combine tables and objects from multiple sources into an enterprise knowledge graph. In order to bring structure into this flexible RDF-based data model, TopBraid uses SHACL as its ontology and schema language. TopBraid uses the available SHACL shapes as a starting point to generate the GraphQL schema that defines what types of queries can be processed by the GraphQL engine. You may also start with RDF Schema or OWL by using the SHACL converters built into the TopBraid EDG ontology import tab.

Diagram showing how SHACL is used to generate GraphQL schemas

TopBraid EDG uses SHACL shape definitions to generate GraphQL schemas

The foundation on SHACL also means that users can define multiple views for the same data, supporting whatever data shape their application prefers.

This includes powerful features to select, filter, aggregate, dynamically compute and page results. For even more power, full support for SPARQL expressions is available from GraphQL queries. Data updates are automatically validated using SHACL shapes.