Prefix Registry
The prefix registry maps short prefixes (e.g. ex) to IRI expansions (e.g. https://example.org/). Registered prefixes are used by the export functions when serializing triples to Turtle or N-Triples, and by SPARQL only when pg_ripple.sparql_prefix_mode is set to registered.
Strict mode is the default. In strict mode, SPARQL queries must use full IRIs in angle brackets (
<https://…>) or declare prefixes inline withPREFIX ex: <https://…>. Registered mode adds only missing declarations; local declarations always win.
register_prefix
pg_ripple.register_prefix(prefix TEXT, expansion TEXT) RETURNS VOID
Registers or replaces a prefix–expansion mapping. Idempotent.
SELECT pg_ripple.register_prefix('ex', 'https://example.org/');
SELECT pg_ripple.register_prefix('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
SELECT pg_ripple.register_prefix('xsd', 'http://www.w3.org/2001/XMLSchema#');
prefixes
pg_ripple.prefixes() RETURNS TABLE(prefix TEXT, expansion TEXT)
Returns all registered prefix–expansion mappings.
SELECT * FROM pg_ripple.prefixes();
SPARQL prefix mode
SET pg_ripple.sparql_prefix_mode = 'registered';
SELECT * FROM pg_ripple.sparql(
'SELECT ?s WHERE { ?s ex:name ?name }'
);
Registered declarations are validated and injected in deterministic order. Changes invalidate registered-mode plans after commit; rolled-back changes do not change the registry generation.
Example: prefixes in export
After registering ex: <https://example.org/>, export functions will use the short form:
SELECT pg_ripple.register_prefix('ex', 'https://example.org/');
SELECT pg_ripple.export_ntriples();
-- Output uses <https://example.org/…> fully qualified
-- Turtle output uses ex:… short form when available