{"_id":"@dwk/rdf","_rev":"6-2fbcd290636d40958eeb0171b1a21976","name":"@dwk/rdf","dist-tags":{"beta":"0.1.0-beta.0","latest":"1.0.0-beta.1"},"versions":{"0.1.0-beta.0":{"name":"@dwk/rdf","version":"0.1.0-beta.0","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"author":{"name":"David W. Keith","email":"me@dwk.io"},"license":"ISC","_id":"@dwk/rdf@0.1.0-beta.0","maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"dist":{"shasum":"9e43f9b979d96108f4254e4cecd2a0debcbf5c1e","tarball":"https://registry.npmjs.org/@dwk/rdf/-/rdf-0.1.0-beta.0.tgz","fileCount":28,"integrity":"sha512-qadzJg0MK+OzvSqA2FqydQWWHisAa0ftEmyqxPE9vBYUXSeG+0DTXiE0MdhvXWYFTmOu91UxxwVZHFffYJzNHg==","signatures":[{"sig":"MEUCICYWNhj5XOoZQWworDg1VdTn3mHHeb3YyG8vJgjrWFX1AiEA/8RlFz6YVV+PH/MbLaE8kRT128Hj593dUwDtLhEXaBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dwk%2frdf@0.1.0-beta.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112785},"main":"./dist/index.js","type":"module","_from":"file:dwk-rdf-0.1.0-beta.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"dwk","email":"npmjs@dwk.io"},"_resolved":"/tmp/bc1ebadc78ea04f878d16f06c5763611/dwk-rdf-0.1.0-beta.0.tgz","_integrity":"sha512-qadzJg0MK+OzvSqA2FqydQWWHisAa0ftEmyqxPE9vBYUXSeG+0DTXiE0MdhvXWYFTmOu91UxxwVZHFffYJzNHg==","repository":{"url":"git+https://github.com/davidwkeith/workers.git","type":"git","directory":"packages/rdf"},"_npmVersion":"11.13.0","description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"n3":"2.0.3","@types/n3":"1.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rdf_0.1.0-beta.0_1781039633571_0.059965467798930305","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.1":{"name":"@dwk/rdf","version":"0.1.0-beta.1","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"author":{"name":"David W. Keith","email":"me@dwk.io"},"license":"ISC","_id":"@dwk/rdf@0.1.0-beta.1","maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"dist":{"shasum":"8fdc8d3793df61cdb95a7337d76b22c9c67fc533","tarball":"https://registry.npmjs.org/@dwk/rdf/-/rdf-0.1.0-beta.1.tgz","fileCount":28,"integrity":"sha512-6zMI4owD0pXuj3hvQ/SSWSX813ocbkln3eJrv/NYbVNBLJLegVAqb/f1aebTRyGThrw5Jh005ar3qFZJ5N3U3A==","signatures":[{"sig":"MEUCIEfAEefUcO+GSWLs5MQoW9S3nHdKB8MjA0JKEun7AGMPAiEA7sdu14HCCav8a9Amxw/nMyFNufFuJPm0c4vHYr+cC0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dwk%2frdf@0.1.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112785},"main":"./dist/index.js","type":"module","_from":"file:dwk-rdf-0.1.0-beta.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"dwk","email":"npmjs@dwk.io"},"_resolved":"/tmp/2f656c891a71ccca15af9ec4b87a08c7/dwk-rdf-0.1.0-beta.1.tgz","_integrity":"sha512-6zMI4owD0pXuj3hvQ/SSWSX813ocbkln3eJrv/NYbVNBLJLegVAqb/f1aebTRyGThrw5Jh005ar3qFZJ5N3U3A==","repository":{"url":"git+https://github.com/davidwkeith/workers.git","type":"git","directory":"packages/rdf"},"_npmVersion":"11.13.0","description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"n3":"2.0.3","@types/n3":"1.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rdf_0.1.0-beta.1_1781046717694_0.9753799003396291","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.2":{"name":"@dwk/rdf","version":"0.1.0-beta.2","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"author":{"name":"David W. Keith","email":"me@dwk.io"},"license":"ISC","_id":"@dwk/rdf@0.1.0-beta.2","maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"dist":{"shasum":"26e89cba966e010c3fc2a0a1ca316bdb9226ac42","tarball":"https://registry.npmjs.org/@dwk/rdf/-/rdf-0.1.0-beta.2.tgz","fileCount":28,"integrity":"sha512-iK3WB+vY/iESbLAkZw84YAQsZvxbqOqol7dLPqPX6+JMj4p6w6XNNV7sywLS76IEydHy+5eCLB4ZIUd3h6VYuQ==","signatures":[{"sig":"MEYCIQDzumYi0WsyNPyr0qv+K3fO0byv1qIIfQfU4/8q7aEKQQIhAOzNV0/pxvxBDK2iFQla3+TI6wtJ8LMtjFisVvwR5DEg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dwk%2frdf@0.1.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112785},"main":"./dist/index.js","type":"module","_from":"file:dwk-rdf-0.1.0-beta.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"dwk","email":"npmjs@dwk.io"},"_resolved":"/tmp/7920aad9b74f8328e39f8e4323f2141d/dwk-rdf-0.1.0-beta.2.tgz","_integrity":"sha512-iK3WB+vY/iESbLAkZw84YAQsZvxbqOqol7dLPqPX6+JMj4p6w6XNNV7sywLS76IEydHy+5eCLB4ZIUd3h6VYuQ==","repository":{"url":"git+https://github.com/davidwkeith/workers.git","type":"git","directory":"packages/rdf"},"_npmVersion":"11.13.0","description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"n3":"2.0.3","@types/n3":"1.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rdf_0.1.0-beta.2_1781048390333_0.11368492139734299","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.3":{"name":"@dwk/rdf","version":"0.1.0-beta.3","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"author":{"name":"David W. Keith","email":"me@dwk.io"},"license":"ISC","_id":"@dwk/rdf@0.1.0-beta.3","maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"dist":{"shasum":"444d9d6b08108233f45f06381e4f9853f803aa03","tarball":"https://registry.npmjs.org/@dwk/rdf/-/rdf-0.1.0-beta.3.tgz","fileCount":28,"integrity":"sha512-61Gw6OEnjk3cRqfN3F9sWd6QfjMn7t0+jHW5TBmeVTnvVsuGUVoYRyaAH48oRHsYV12kRfB1Quv4GOQiHw4pRg==","signatures":[{"sig":"MEUCIDJD8W00PcCZtXvljWXj/InbQtJXbsGZBnoBqgVdBFF8AiEA2Yilh7dZkkd8+v3pUw1jF44zO9gh/0HuqKkD4dYgpVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dwk%2frdf@0.1.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115358},"main":"./dist/index.js","type":"module","_from":"file:dwk-rdf-0.1.0-beta.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"dwk","email":"npmjs@dwk.io"},"_resolved":"/tmp/76e520aa921815994216428570d111b4/dwk-rdf-0.1.0-beta.3.tgz","_integrity":"sha512-61Gw6OEnjk3cRqfN3F9sWd6QfjMn7t0+jHW5TBmeVTnvVsuGUVoYRyaAH48oRHsYV12kRfB1Quv4GOQiHw4pRg==","repository":{"url":"git+https://github.com/davidwkeith/workers.git","type":"git","directory":"packages/rdf"},"_npmVersion":"11.16.0","description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"n3":"2.1.1","@types/n3":"1.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rdf_0.1.0-beta.3_1784798785125_0.9171474589291244","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-beta.4":{"name":"@dwk/rdf","version":"0.1.0-beta.4","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"author":{"name":"David W. Keith","email":"me@dwk.io"},"license":"ISC","_id":"@dwk/rdf@0.1.0-beta.4","maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"dist":{"shasum":"1e673414d887d9d90ae7f2b2e242c56a1ce2f39c","tarball":"https://registry.npmjs.org/@dwk/rdf/-/rdf-0.1.0-beta.4.tgz","fileCount":28,"integrity":"sha512-2C+Uvz9D+4rqe4FU/yuB8QhQ7vUkR5HvU+HDIGQvLifOH1TFWpDsaSn1itIoS/SXbk5lY4T3YJjb9RCR6DssrQ==","signatures":[{"sig":"MEUCIElBhN/VM0jbirXwQsTsfMPir0uhryc3sjW2IVapbu+/AiEAmyGqBYar4RtorqGDZj0Sh2GO/9ool8oB4faavER202A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dwk%2frdf@0.1.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115434},"main":"./dist/index.js","type":"module","_from":"file:dwk-rdf-0.1.0-beta.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc -p tsconfig.build.json","clean":"rm -rf dist","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"dwk","email":"npmjs@dwk.io"},"_resolved":"/tmp/0dc95aca9e8b2f79d258fec2244c3af7/dwk-rdf-0.1.0-beta.4.tgz","_integrity":"sha512-2C+Uvz9D+4rqe4FU/yuB8QhQ7vUkR5HvU+HDIGQvLifOH1TFWpDsaSn1itIoS/SXbk5lY4T3YJjb9RCR6DssrQ==","repository":{"url":"git+https://github.com/davidwkeith/workers.git","type":"git","directory":"packages/rdf"},"_npmVersion":"11.16.0","description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"n3":"2.1.1","@types/n3":"1.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/rdf_0.1.0-beta.4_1784931478968_0.9869244580887413","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.1":{"name":"@dwk/rdf","version":"1.0.0-beta.1","description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"type":"module","license":"ISC","author":{"name":"David W. Keith","email":"me@dwk.io"},"homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","repository":{"type":"git","url":"git+https://github.com/davidwkeith/workers.git","directory":"packages/rdf"},"bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"sideEffects":false,"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"dependencies":{"@types/n3":"1.26.1","n3":"2.1.1"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc -p tsconfig.json","clean":"rm -rf dist"},"_id":"@dwk/rdf@1.0.0-beta.1","_integrity":"sha512-Wst/rFShdwrr9rDcWSFh0jbE403Y7Z4+tyun6Y//ti4MSVL22wy/DecUevf6pQL4Hi0vdfmIhF5I+i+LEUKzTw==","_resolved":"/tmp/c2c8915f11bb5693612a8702052bca33/dwk-rdf-1.0.0-beta.1.tgz","_from":"file:dwk-rdf-1.0.0-beta.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Wst/rFShdwrr9rDcWSFh0jbE403Y7Z4+tyun6Y//ti4MSVL22wy/DecUevf6pQL4Hi0vdfmIhF5I+i+LEUKzTw==","shasum":"ee6ed1557dd48ebbc341c474487d40f54c396332","tarball":"https://registry.npmjs.org/@dwk/rdf/-/rdf-1.0.0-beta.1.tgz","fileCount":28,"unpackedSize":115434,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dwk%2frdf@1.0.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDdvAVHe6J+eq0TDcDsbQOCNwAIO/Lbo3f3QrOuIrXbMgIgcoEf7Cn1B8IQo47AlnrVr70IWHPqFWIAB9+E3czreWw="}]},"_npmUser":{"name":"dwk","email":"npmjs@dwk.io"},"directories":{},"maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rdf_1.0.0-beta.1_1785269173673_0.8003327358676537"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-09T21:13:53.382Z","modified":"2026-07-28T20:06:14.184Z","0.1.0-beta.0":"2026-06-09T21:13:53.714Z","0.1.0-beta.1":"2026-06-09T23:11:57.835Z","0.1.0-beta.2":"2026-06-09T23:39:50.506Z","0.1.0-beta.3":"2026-07-23T09:26:25.244Z","0.1.0-beta.4":"2026-07-24T22:17:59.083Z","1.0.0-beta.1":"2026-07-28T20:06:13.820Z"},"bugs":{"url":"https://github.com/davidwkeith/workers/issues"},"author":{"name":"David W. Keith","email":"me@dwk.io"},"license":"ISC","homepage":"https://github.com/davidwkeith/workers/tree/main/packages/rdf#readme","keywords":["rdf","turtle","json-ld","n3","linked-data","solid"],"repository":{"type":"git","url":"git+https://github.com/davidwkeith/workers.git","directory":"packages/rdf"},"description":"Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.","maintainers":[{"name":"dwk","email":"npmjs@dwk.io"}],"readme":"# `@dwk/rdf`\n\n> Thin Turtle/JSON-LD parse and serialize layer over N3.js. Cross-standard reusable.\n\nPart of the [`@dwk` IndieWeb + Solid cohort](../../README.md). See the\n[package specification](../../spec/packages/rdf.md) for the full requirements.\n\nThis package is **cross-standard reusable**: it takes plain-data inputs only,\nhas no Workers-runtime dependency, and unit-tests in isolation (Node, no\n`workerd`).\n\n## API\n\n### Turtle family (over N3.js)\n\n```ts\nimport { parseTurtle, writeTurtle } from \"@dwk/rdf\";\n\nconst quads = parseTurtle(turtleString, { baseIRI });\nconst out = await writeTurtle(quads, { format: \"N-Triples\" });\n```\n\n`format` accepts the N3.js identifiers `\"Turtle\"`, `\"TriG\"`, `\"N-Triples\"`,\n`\"N-Quads\"`.\n\n### JSON-LD\n\n```ts\nimport { parseJsonLd, writeJsonLd } from \"@dwk/rdf\";\n\nconst quads = await parseJsonLd(jsonLdStringOrObject, { base });\nconst out = await writeJsonLd(quads); // expanded / flattened form\n```\n\n### Content negotiation\n\n`parse` / `serialize` dispatch by media type — the entry points\n`@dwk/solid-pod` uses for content negotiation:\n\n```ts\nimport { parse, serialize, formatForMediaType } from \"@dwk/rdf\";\n\nconst quads = await parse(body, request.headers.get(\"content-type\")!);\nconst body = await serialize(quads, \"text/turtle\");\n```\n\nRecognized media types: `text/turtle`, `application/trig`,\n`application/n-triples`, `application/n-quads`, `application/ld+json`.\nMedia-type parameters (e.g. `; charset=utf-8`, `; profile=…`) and casing are\nignored. Note `application/json` is **not** treated as RDF — JSON-LD's media\ntype is `application/ld+json`, and auto-parsing arbitrary `application/json`\nbodies as a graph is a correctness/security hazard on write. (A read-only\n`application/json` → JSON-LD convenience can be opted into at the negotiation\nlayer; `@dwk/solid-pod` does this on read.)\n\n### Triple ↔ store helpers\n\n`termToStored` / `storedToTerm` / `quadToStored` / `storedToQuad` convert\nbetween RDF-JS terms/quads and a flat, JSON-serializable `StoredQuad` shape that\nmaps onto the DO-SQLite columns in [`@dwk/store`](../store) and survives a\nstructured-clone boundary.\n\n```ts\nimport { quadToStored, storedToQuad } from \"@dwk/rdf\";\n\nconst row = quadToStored(quad); // { subject, predicate, object, graph }\nconst quad = storedToQuad(row);\n```\n\n## JSON-LD: the chosen approach and supported subset\n\nN3.js does not handle JSON-LD, and `jsonld.js` is too large for the Worker\nscript-size budget (see\n[non-functional-requirements.md](../../spec/non-functional-requirements.md#runtime-budget)).\nThis package therefore ships a **dependency-free JSON-LD ⇄ RDF converter** (zero\nadded bytes beyond N3.js) implementing a pragmatic subset of JSON-LD 1.0\ntoRDF/fromRDF — the decision that resolves\n[open-questions.md §4](../../spec/open-questions.md).\n\n**Parse (JSON-LD → quads) supports:**\n\n- Inline `@context` (object, or array of objects); context arrays; resetting\n  with `null`.\n- Context features: term → IRI mappings, prefix/CURIE expansion (`prefix:term`),\n  `@vocab`, `@base`, default `@language`, and expanded term definitions with\n  `@id`, `@type` (datatype IRI, `@id`, or `@vocab`), `@language`, and\n  `@container: @list`.\n- Node objects with `@id` (IRIs and `_:` blank nodes), `@type`, nested node\n  objects, and node references.\n- Value objects (`@value` + `@type` / `@language`) and native scalars typed per\n  JSON-LD rules (string → `xsd:string` or a language string, integer →\n  `xsd:integer`, fractional → `xsd:double` in canonical lexical form, boolean →\n  `xsd:boolean`). A `@value` of `null` produces no triple. Relative `@id`/IRIs\n  that no `@base`/`base` resolves to an absolute IRI are dropped rather than\n  emitted as invalid terms.\n- Lists (`@container: @list` and inline `@list`) → `rdf:first`/`rdf:rest`/\n  `rdf:nil`.\n- `@graph`: top-level wrapper (default graph) and named graphs (a node with\n  `@id` + `@graph`).\n- `@reverse` properties.\n\n**Serialize (quads → JSON-LD)** emits **expanded / flattened** form (node\nobjects keyed by full IRIs, no `@context`), reconstructing well-formed\n`rdf:first`/`rdf:rest`/`rdf:nil` chains back into `@list`. This form round-trips\nthrough `parseJsonLd` at the RDF (quad) level. One inherent caveat: an empty\n`@list` becomes `rdf:nil`, which the JSON-LD data model cannot distinguish from\na property whose value is literally `rdf:nil`, so empty lists serialize as an\n`rdf:nil` reference.\n\n**Out of scope for v1** (documented limitations; `JsonLdError` is thrown where\ndetectable):\n\n- **Remote / URL contexts** — contexts must be inlined. A string `@context`\n  throws.\n- Framing and `@reverse` containers, `@index` / `@included` maps, `@nest`,\n  scoped contexts, type-scoped contexts, and JSON-LD 1.1 `@json` / `@direction`.\n- Compaction to a supplied context on serialize — output is always expanded.\n\nThese are sufficient for Solid/IndieWeb content negotiation, where documents are\nserved with controlled, inlinable contexts. The subset can be widened later\nwithout changing the public API.\n\n## License\n\n[ISC](../../LICENSE)\n","readmeFilename":"README.md"}