Skip to content

Add RDF Compatibility section recommending urn:solid as default vocab#6

Merged
melvincarvalho merged 1 commit into
gh-pagesfrom
urn-solid-default-vocab
Apr 19, 2026
Merged

Add RDF Compatibility section recommending urn:solid as default vocab#6
melvincarvalho merged 1 commit into
gh-pagesfrom
urn-solid-default-vocab

Conversation

@melvincarvalho
Copy link
Copy Markdown
Contributor

Implements the proposal in #5.

Summary

Adds a new `## RDF Compatibility` subsection to the README, between `@context` and `Spec`, spelling out the (previously unstated) behaviour LION processors SHOULD adopt when emitting or consuming RDF:

When a LION document does not supply an explicit `@context`, processors that need to emit or consume RDF (JSON-LD, Turtle, N-Triples, or any other RDF serialisation) SHOULD assume `@vocab: "urn:solid:"` as the default vocabulary.

Why

  • LION's pitch is "just JSON, RDF when you need it," but the spec is currently silent on what default vocabulary an RDF processor should assume. This forces every author who wants RDF interop to either learn JSON-LD or accept that bare names don't expand to anything semantically meaningful.
  • `urn:solid` is a vocabulary-agnostic URN namespace with a stable registry (~430 terms) of bare-form identifiers that map (via `owl:sameAs`) to canonical upstream IRIs in FOAF, Schema.org, dcterms, ActivityStreams, PROV, LDP, WAC, and SKOS/DCAT/ORG.
  • Defaulting to it lets LION stay neutral on which upstream vocabulary "wins" while still giving RDF consumers a single, predictable expansion target.

Why SHOULD (not MAY / MUST)

  • MAY would be useless guidance — implementers wouldn't know what to actually do.
  • MUST would break the "just JSON" framing.
  • SHOULD gives a clear default while leaving an explicit `@context` as a clean override.

Scope of impact

  • Authors who never round-trip to RDF: zero change.
  • Authors who supply an explicit `@context`: zero change (override).
  • RDF processors: gain a documented default to assume.

Reciprocal blessing

The urn:solid spec already includes a matching Compatibility section pointing back at LION: https://urn-solid.github.io/spec/#compatibility

Test plan

Adds a new subsection under Key Concepts spelling out the (previously
unstated) behaviour LION processors SHOULD adopt when emitting or
consuming RDF.

Recommendation: when no explicit @context is supplied, processors needing
RDF compatibility SHOULD assume @vocab: "urn:solid:". This gives LION
docs a stable, vocab-agnostic surface for RDF interop without forcing
any single upstream vocabulary on authors. Bare names like `name`/`knows`
expand to urn:solid:name/urn:solid:knows, which carry owl:sameAs mappings
to FOAF/Schema/dcterms/etc. via the urn-solid registry.

SHOULD, not MUST: explicit @context overrides cleanly. Docs that never
round-trip to RDF are unaffected.

Refs: #5
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.

1 participant