/rdf-xml-ex

An implementation of RDF-XML for Elixir

Primary LanguageElixirMIT LicenseMIT

RDF-XML.ex

Hex.pm Hex Docs License

ExUnit Tests Dialyzer 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 https://rdf-elixir.dev.

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:XMLLiterals (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"}]
end

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 contact@ninjaconcept.com.

License and Copyright

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