Vitrify

vitrify turns a mutable SPARQL response into a durable, inspectable local file with its query and retrieval evidence.
-
SPARQL endpoint
Send the exact query to Wikidata's mutable endpoint.
https://query.wikidata.org/sparql -
Vitrify command
Capture five EU-capital labels in a local RO-Crate.
echo 'SELECT ?label WHERE { ?country wdt:P463 wd:Q458; wdt:P36 ?capital . ?capital rdfs:label ?label . FILTER(LANG(?label) = "en") } ORDER BY ?label LIMIT 5' | vitrify sparql \ --endpoint https://query.wikidata.org/sparql \ --query - \ --format csv \ --to eu-capitals -
RO-Crate directory
The ordinary response file is kept with the exact query and RO-Crate evidence.
eu-capitals/
├──query.rq
├──results.csv
└──ro-crate-metadata.json
Inspect the capture
SELECT ?label WHERE { ?country wdt:P463 wd:Q458; wdt:P36 ?capital . ?capital rdfs:label ?label . FILTER(LANG(?label) = "en") } ORDER BY ?label LIMIT 5
| label |
|---|
| Amsterdam |
| Athens |
| Berlin |
| Bratislava |
| Brussels |
{
"@context": "https://w3id.org/ro/crate/1.2/context",
"@graph": [
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"about": {
"@id": "./"
},
"conformsTo": {
"@id": "https://w3id.org/ro/crate/1.2"
}
},
{
"@id": "./",
"@type": "Dataset",
"author": {
"@id": "https://vitrify.iolanta.tech"
},
"datePublished": "2026-10-04T20:16:09.868771907+00:00",
"description": "SPARQL retrieval materialized by Vitrify.",
"hasPart": [
{
"@id": "results.csv"
},
{
"@id": "query.rq"
}
],
"license": "No license asserted by Vitrify; consult the source endpoint's terms of use.",
"name": "results.csv",
"publisher": {
"@id": "https://query.wikidata.org/sparql"
}
},
{
"@id": "results.csv",
"@type": "File",
"contentSize": "56",
"encodingFormat": "text/csv",
"sha256": "33307cadf954e568c60a6bef44be880858ff197ab5d5bc8b0deb24b751115eee"
},
{
"@id": "query.rq",
"@type": "File",
"contentSize": "151",
"encodingFormat": "application/sparql-query",
"sha256": "b4e4a0629d53e5e67d389c5b3faf97c5bde1e316f5678913150a864fca78983c"
},
{
"@id": "https://vitrify.iolanta.tech",
"@type": "SoftwareApplication",
"name": "Vitrify",
"url": "https://vitrify.iolanta.tech",
"version": "0.1.0"
},
{
"@id": "https://query.wikidata.org/sparql",
"@type": "Organization"
},
{
"@id": "#retrieval",
"@type": "CreateAction",
"agent": {
"@id": "https://vitrify.iolanta.tech"
},
"description": "HTTP 200; Accept: text/csv",
"endTime": "2026-10-04T20:16:09.868771907+00:00",
"identifier": "https://query.wikidata.org/sparql",
"instrument": {
"@id": "https://vitrify.iolanta.tech"
},
"object": [
{
"@id": "https://query.wikidata.org/sparql"
},
{
"@id": "query.rq"
}
],
"result": {
"@id": "results.csv"
},
"startTime": "2026-10-04T20:16:09.189887969+00:00"
}
]
}
What is vitrification?
To vitrify is to turn something into glass. See also: Stanislaw Lem Fiasco.
Install
cargo install vitrify