Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A Jekyll plugin that renders RDF data into static site pages using customizable Liquid templates and SPARQL queries.
Jekyll RDF is a Jekyll plugin that renders RDF data into static HTML pages, mapping each resource to a Liquid template and providing SPARQL-powered queries for customization.
Jekyll RDF is a Ruby gem and Jekyll plugin from the AKSW organization that turns RDF data into a static website. It takes a local RDF file (configured via path) or a remote SPARQL endpoint (via remote.endpoint) as input, and outputs one HTML page per selected resource into Jekyll's _site directory. The plugin integrates with Jekyll's existing Liquid template system, so you can build custom layouts for classes or individual resources using the same tooling as your main Jekyll site.
Jekyll RDF bundles data-source configuration, resource restriction, template mapping, and RDF-aware Liquid filters into one plugin.
remote config also supports selecting a named graph with default_graph.?resourceUri, the keywords subjects, predicates, objects, or a newline-separated list of resource IRIs in a restriction_file.class_template_mappings for RDF classes, instance_template_mappings for specific IRIs, and a default_template fallback for all other resources.rdf_property, rdf_inverse_property, rdf_get, sparql_query, rdf_container, and rdf_collection to pull property values, inverse relations, query results, and ordered collections into your pages.language, and choose whether blank nodes are rendered with include_blank.# fragment are grouped on one super-resource page, accessible via the page.sub_rdf collection.ghcr.io/aksw/jekyll-rdf includes Jekyll and the plugin, with configurable BUNDLE_PATH and NO_BUNDLER environment variables.You can publish RDF data as a static website, query remote SPARQL endpoints, and render RDF containers or collections directly in your pages.
foaf:Person to a custom template and output one page per person with all their triples.sparql_query filter to run arbitrary SPARQL from a template (with ?resourceUri substituted with the current resource) and render the result set in tables.rdf:Bag, rdf:Seq, rdf:Alt containers or RDF lists directly in your templates using the dedicated filters, producing HTML lists or ordered lists.Install the gem and add the jekyll-rdf plugin to your _config.yml with RDF source and template settings. Then run jekyll build or jekyll serve — the plugin selects resources via your restriction SPARQL/restriction file, matches each to a template in the _layouts folder, and writes the rendered pages into _site. RDF resources outside the configured base URL are placed in _site/rdfsites/.
Jekyll RDF is free and open source under the MIT license.
The README points to Jinja RDF, MkRdf, and kisumu as successors. MkRdf is intended to cover the main Jekyll RDF use case with MkDocs and Jinja templates.
Yes, Jekyll RDF is an open-source Ruby gem released under the MIT license, so you can use and modify it without licensing fees.
You can use a local RDF file in a format Jekyll-RDF can load (e.g. Turtle) by setting jekyll_rdf.path, or a remote SPARQL endpoint by setting jekyll_rdf.remote.endpoint. With a remote endpoint you can also select a named graph via default_graph.
No. The plugin renders plain static HTML at build time; the output lives in _site and can be hosted on any static file server or CDN. You only need Ruby, Jekyll, and the plugin to build the site.
Set jekyll_rdf.restriction to a SPARQL SELECT query that binds ?resourceUri, or use the keywords subjects, predicates, or objects. As an alternative, jekyll_rdf.restriction_file can point to a plain-text file listing the exact resource IRIs to render.
The repository notes that further development will happen at Jinja RDF, MkRdf, and kisumu. Jekyll RDF itself remains available as a Ruby gem, but the README states the project is mostly in maintenance.