Repository: graphql-jena
Description: This repository provides GraphQL query capabilities as extensions to Apache Jena. This is done by providing common functionality around GraphQL queries over RDF data backed by Apache Jena APIs.
This repository contributes to the development of secure, scalable, and interoperable data-sharing infrastructure. It supports NDTP’s mission to enable trusted, federated, and decentralised data-sharing across organisations.
This repository is one of several open-source components that underpin NDTP’s Integration Architecture (IA)—a framework designed to allow organisations to manage and exchange data securely while maintaining control over their own information. The IA is actively deployed and tested across multiple sectors, ensuring its adaptability and alignment with real-world needs.
For a complete overview of the Integration Architecture (IA) project, please see the Integration Architecture Documentation.
Before using this repository, ensure you have the following dependencies installed:
- Required Tooling:
- Java 17
- Github PAT token set to allow retrieval of maven packages from Github Packages
- Pipeline Requirements: N/A
- Supported Kubernetes Versions: N/A
- System Requirements:
- Java 17
Follow these steps to get started quickly with this repository. For detailed installation, configuration, and deployment, refer to the relevant MD files.
git clone https://github.com/National-Digital-Twin/graphql-jena.git
cd graphql-jena mvn clean installSee Build for more detailed requirements and instructions.
To use these modules in your own projects just declare an appropriate dependency. For example using Maven:
<dependency>
<groupId>uk.gov.dbt.ndtp.jena.graphql</groupId>
<artifactId>ARTIFACT_ID</artifactId>
<version>VERSION</version>
</dependency>Where ARTIFACT_ID and VERSION are replaced with appropriate values. For release history and changes see the Change Log.
Further instructions and examples can be found in the quick start usage document.
Please refer to the full Documentation for more detailed usage examples and explanations of how you can
use the APIs provided in these modules to implement your own GraphQL Schemas over Jena DatasetGraph.
-
Key functionality
- Enables GraphQL queries over RDF data using Apache Jena APIs.
- Provides a seamless interface for querying and managing linked data.
- Supports advanced query capabilities, including filtering, sorting, and pagination.
-
Key integrations
- Integrates with Apache Jena for RDF data storage and processing.
- Compatible with GitHub Packages for dependency management.
- Designed to work within the National Digital Twin Programme’s Integration Architecture.
- Supports integration with external GraphQL clients and tools.
-
Scalability & performance : N/A
-
Modularity
- Compatible with Java-based projects through Maven dependency management.
- Designed to work within the National Digital Twin Programme’s Integration Architecture.
Navigate to the root of the project and run mvn test to run the tests for the repository.
Documentation detailing the relevant configuration and endpoints is provided here.
This repository has been developed with public funding as part of the National Digital Twin Programme (NDTP), a UK Government initiative. NDTP, alongside its partners, has invested in this work to advance open, secure, and reusable digital twin technologies for any organisation, whether from the public or private sector, irrespective of size.
This repository contains both source code and documentation, which are covered by different licenses:
- Code: Originally developed by Telicent UK Ltd, now maintained by National Digital Twin Programme. Licensed under the Apache License 2.0.
- Documentation: Licensed under the Open Government Licence (OGL) v3.0.
By contributing to this repository, you agree that your contributions will be licensed under these terms.
See LICENSE.md, OGL_LICENSE.md, and NOTICE.md for details.
We take security seriously. If you believe you have found a security vulnerability in this repository, please follow our responsible disclosure process outlined in SECURITY.md.
We welcome contributions that align with the Programme’s objectives. Please read our Contributing guidelines before submitting pull requests.
This repository has benefited from collaboration with various organisations. For a list of acknowledgments, see ACKNOWLEDGEMENTS.md.
For questions or support, check our Issues or contact the NDTP team on [email protected].
Maintained by the National Digital Twin Programme (NDTP).
© Crown Copyright 2025. This work has been developed by the National Digital Twin Programme and is legally attributed to the Department for Business and Trade (UK) as the governing entity.