Skip to content

feat(sparql): enable schema traversal via RDF + SPARQL queries#170

Merged
jdacoello merged 4 commits intofeat/rdf-materializationfrom
feat/sparql-schema-traversal
Mar 18, 2026
Merged

feat(sparql): enable schema traversal via RDF + SPARQL queries#170
jdacoello merged 4 commits intofeat/rdf-materializationfrom
feat/sparql-schema-traversal

Conversation

@mfkaptan-motius
Copy link
Copy Markdown
Collaborator

Add SPARQL-based graph traversal for RDF-materialized GraphQL schemas, enabling declarative querying of schema structure instead of relying solely on introspection.

  • Add sparql_queries module with 3 predefined queries: fields-outputting-enum, object-types-with-fields, list-type-fields
  • Add s2dm query CLI command supporting pre-generated RDF files and on-the-fly materialization from GraphQL schemas
  • Extend rdf_materializer with sorted n-triples serialization, multi-format output (nt, turtle, json-ld), and format aliases
  • Add print_table to logger for tabular SPARQL result display
  • Update s2dm-publish action to export all RDF formats on release
  • Extend CLI and example docs with SPARQL query examples

Closes #77

@mfkaptan-motius mfkaptan-motius force-pushed the feat/rdf-materialization branch from c68c9a8 to 353819c Compare March 17, 2026 08:26
Add SPARQL-based graph traversal for RDF-materialized GraphQL schemas,
enabling declarative querying of schema structure instead of relying
solely on introspection.

- Add `sparql_queries` module with 3 predefined queries:
  fields-outputting-enum, object-types-with-fields, list-type-fields
- Add `s2dm query` CLI command supporting pre-generated RDF files
  and on-the-fly materialization from GraphQL schemas
- Extend `rdf_materializer` with sorted n-triples serialization,
  multi-format output (nt, turtle, json-ld), and format aliases
- Add `print_table` to logger for tabular SPARQL result display
- Update s2dm-publish action to export all RDF formats on release
- Extend CLI and example docs with SPARQL query examples

Closes #77

Signed-off-by: Mustafa Kaptan <mustafa.kaptan@motius.de>
- Replace `generate schema-rdf` with `export rdf` in CLI docs and examples
- Document output files: skos.{nt,ttl} and data_graph.{nt,ttl}
- Update query examples to use data_graph.nt for SPARQL queries

Signed-off-by: Mustafa Kaptan <mustafa.kaptan@motius.de>
@mfkaptan-motius mfkaptan-motius force-pushed the feat/sparql-schema-traversal branch from 481559b to c5379d6 Compare March 17, 2026 09:48
- Refactor path resolver into generic _PathResolverOption base
- Accept multiple RDF files and URLs via --rdf
- Add builtin SPARQL query registry folder
- Accept custom query files via --query-file

Signed-off-by: Mustafa Kaptan <mustafa.kaptan@motius.de>
@mfkaptan-motius mfkaptan-motius force-pushed the feat/sparql-schema-traversal branch from b26e9e7 to 933d459 Compare March 17, 2026 18:52
Signed-off-by: Mustafa Kaptan <mustafa.kaptan@motius.de>
@mfkaptan-motius mfkaptan-motius force-pushed the feat/sparql-schema-traversal branch from 933d459 to 02b610d Compare March 17, 2026 22:16
@jdacoello jdacoello merged commit 94ee4b6 into feat/rdf-materialization Mar 18, 2026
@jdacoello jdacoello deleted the feat/sparql-schema-traversal branch March 18, 2026 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants