  This paper introduces RDFGraphGen, a general-purpose, domain-independent
generator of synthetic RDF graphs based on SHACL constraints. The Shapes
Constraint Language (SHACL) is a W3C standard which specifies ways to validate
data in RDF graphs, by defining constraining shapes. However, even though the
main purpose of SHACL is validation of existing RDF data, in order to solve the
problem with the lack of available RDF datasets in multiple RDF-based
application development processes, we envisioned and implemented a reverse role
for SHACL: we use SHACL shape definitions as a starting point to generate
synthetic data for an RDF graph. The generation process involves extracting the
constraints from the SHACL shapes, converting the specified constraints into
rules, and then generating artificial data for a predefined number of RDF
entities, based on these rules. The purpose of RDFGraphGen is the generation of
small, medium or large RDF knowledge graphs for the purpose of benchmarking,
testing, quality control, training and other similar purposes for applications
from the RDF, Linked Data and Semantic Web domain. RDFGraphGen is open-source
and is available as a ready-to-use Python package.
