<img src="rdf-xml-logo-96.png" align="right" />

# RDF-XML.ex

[![Hex Docs](](

[![ExUnit Tests](](
[![Quality Checks](](

An implementation of the [W3C RDF 1.1 XML]( serialization format for Elixir and [RDF.ex].

The API documentation can be found [here]( For a guide and more information about RDF.ex and it's related projects, go to <>.

## Features

- fully conforming RDF/XML implementation passing all the official tests (apart from the currently unsupported features below)
- reader/writer for [RDF.ex] with support for reading and writing to streams

## Limitations

- XML canonicalization of `rdf:XMLLiteral`s  (`rdf:parseType="Literal"`) is not supported
- xmlns for `rdf` to shorten the syntax terms is not supported

## Installation

The [RDF-XML.ex]( Hex package can be installed as usual, by adding `rdf_xml` to your list of dependencies in `mix.exs`:

def deps do
  [{:rdf_xml, "~> 1.1"}]

## Usage

RDF-XML.ex can be used to serialize or deserialize RDF data structures by using the RDF.ex reader and writer functions as usual.

graph = RDF.XML.read_file!("file.rdf")
RDF.XML.write_file!(graph, "file.rdf")

Above the common options of all RDF.ex encoders and decoders, the encoder and decoder of RDF-XML.ex supports some additional options. See the [API documentation]( for information about the available options.

## Contributing

see [CONTRIBUTING]( for details.

## Acknowledgements

The development of this project was sponsored by [NetzeBW]( for [NETZlive](

## Consulting

If you need help with your Elixir and Linked Data projects, just contact [NinjaConcept]( via <>.

## License and Copyright

(c) 2020-present Marcel Otto. MIT Licensed, see [LICENSE]( for details.