Exciting news! Introducing the RDF/JS Wrapper! ๐ŸŽ‰

Hey everyone,


We're thrilled to introduce the new RDF/JS Wrapper! ๐Ÿš€ This
object-relational mapping library is designed to make working with RDF data
in JavaScript incredibly smooth, native, and idiomatic. Our goal is to give
developers a really low-friction experience. ๐Ÿ’ก


What does it do? It lets you create standard ES classes that model the
datasets and terms you're working with. Class properties magically
represent statement arcs (incoming or outgoing) โœจ, and accessing these
properties translates directly into the graph patterns needed to read and
write the corresponding statements. This is all built on utility methods
from one of two simple base classes. ๐Ÿ—๏ธ


When you use these mapping classes, you get a mutable, in-memory object
graph that feels just like standard JavaScriptโ€”think familiar Objects,
Sets, Maps, and Arrays. But here's the cool part: this object graph keeps a
live connection to the underlying RDF data, allowing you to treat it as RDF
via the RDF/JS abstractions without losing any information. ๐Ÿ”—


Check out some of the features and design choices that make this library
stand out:

   -

   Simple Foundation: We provide two abstract classes with utility methods
   for mapping RDF to JS patterns, plus a few helpers for predicate-object
   lists, RDF collections (rdf:List), and language-tagged dictionaries. ๐Ÿงฑ
   -

   Pure JavaScript: The resulting mapping constructs are just plain JS
   objects. No DSLs, no Proxies, no global context, and zero new conventions
   to memorize. โœ๏ธ
   -

   Zero Dependencies: By adhering strictly to the RDF/JS data model (Terms
   and DatasetCore), we remain completely agnostic about the specific RDF
   implementation you choose. ๐Ÿง˜
   -

   Bi-Directional Mapping: All mappings optionally support both reading and
   writing single statements, predicate-object lists, and collections. ๐Ÿ”„
   -

   Runtime Ready: No build step is required! ๐Ÿ’จ
   -

   Modern JS: Built using ES modules. ๐Ÿ’ป
   -

   Comprehensive RDF Support: Supports named nodes, blank nodes, arbitrary
   literal datatypes, arbitrary JS primitives, custom JS/TS classes, and named
   graphs. ๐Ÿ“Š
   -

   Familiar OO: We support standard object-oriented concepts: optional vs.
   required properties, singular vs. collection properties, property
   getters/setters, and inheritance. ๐Ÿ“
   -

   Total Control: You have full control over the shape and logic of your
   mapping artifacts. You can choose class and property names freely,
   independent of existing RDFS/SKOS/OWL/SHACL vocabularies. This is great for
   mixing and matching vocabularies, as we only rely on a predicate IRI. The
   vocabulary doesn't even need to be published or exist! ๐Ÿ‘‘
   -

   Fully Dynamic & Live: Instances are lazily loaded, so the mapping is
   always up to date with the underlying RDF datasetโ€”no synchronization
   needed. And mutation (using setters, or adding/deleting from sets/arrays)
   is immediate, materializing statements instantly in the dataset. ๐Ÿ“ก
   -

   Universal Support: Works in the browser and in Node.js, for both plain
   JavaScript and TypeScript. ๐ŸŒ
   -

   Future-Proof: Support for RDF 1.2 is built in via the RDF/JS data model.
   ๐Ÿ”ฎ

To be clear, hereโ€™s what the library doesnโ€™t focus on (but youโ€™ll likely
need another tool for!):

   -

   Retrieving or persisting data from remote sources. ๐Ÿšซ
   -

   Authentication, caching, and network resilience. ๐Ÿ›ก๏ธ
   -

   Integrating into frameworks like React. โš›๏ธ
   -

   Parsing and serializing various formats. ๐Ÿ“ค
   -

   Indexing, performance optimisation, or validation. โš™๏ธ
   -

   Querying, traversing, or reasoning. ๐Ÿ—บ๏ธ

The library is available under a dual MIT/Apache 2.0 license over at
https://github.com/rdfjs/wrapper. ๐Ÿ™

Weโ€™re currently publishing the package as rdfjs-wrapper on GitHub. We plan
to move it to @rdfjs/wrapper on Monday, March 9th. Please donโ€™t hesitate to
reach out before then if you have any questions or concerns about this
move! ๐Ÿ“ง

Looking forward to hearing what you think! ๐Ÿ™

Best,
-- 
*Jesse Wright (he/him)*

*Project Lead, Solid
<https://theodi.org/news-and-events/news/odi-and-solid-come-together-to-give-individuals-greater-control-over-personal-data/>*
The Open Data Institute
4th Floor, Kings Place, 90 York Way, London, N1 9AG
Website: theodi.org
Book a meeting: https://calendar.app.google/hv63aFQyL6jgjiXG9
Tel: +44 7862381515
*My work day may look different than yours. Please do not feel obligated to
respond outside of your normal working hours.*

Received on Monday, 2 March 2026 11:30:46 UTC