A fully-featured RDF 1.1 implementation for Elixir with in-memory data structures, SPARQL support, and serialization formats.
RDF.ex is an Elixir library that implements the RDF (Resource Description Framework) data model, providing tools for working with semantic web and linked data. It solves the problem of handling RDF data within Elixir applications by offering compliant data structures, query capabilities, and serialization formats. The library enables developers to build knowledge graph applications and process RDF data natively in Elixir.
Elixir developers working with semantic web technologies, linked data, or knowledge graphs. Data engineers and researchers who need to process RDF data within the Elixir ecosystem.
Developers choose RDF.ex because it provides a complete, idiomatic Elixir implementation of RDF standards with excellent compatibility and extensibility. Its unique selling point is the seamless integration of RDF capabilities into Elixir's functional programming paradigm, along with companion packages for SPARQL, validation, and additional serialization formats.
An implementation of RDF for Elixir
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements RDF 1.1 and RDF-star extensions per W3C specifications, ensuring interoperability with other semantic web tools and data sources.
Provides vocabulary modules for compile-time checked IRI usage and a Turtle-like DSL, making RDF feel native and reducing runtime errors in Elixir code.
Integrates with SPARQL.ex for in-memory queries and SPARQL.Client for remote endpoints, offering flexible SPARQL execution within the Elixir ecosystem.
Built-in support for key formats like Turtle and N-Triples, with a clear path for adding others via companion packages such as JSON-LD.ex.
Critical formats like JSON-LD and RDF/XML require separate packages, adding dependency management overhead and potential integration complexity.
Relies on in-memory data structures for graph processing, which may not efficiently handle very large RDF datasets without external storage or streaming optimizations.
Migration guides in the wiki indicate breaking changes between versions, potentially disrupting long-term projects and requiring maintenance effort.