Go to file
FloatingGhost 6fe1c61388 bump version 2022-08-03 22:23:52 +01:00
.github/workflows Migrate GitHub Actions to erlef/setup-beam 2022-06-27 22:20:53 +08:00
bench Apply mix formatter 2020-06-29 10:37:42 +02:00
earl_reports Add release as a dedicated resource to EARL reports 2021-12-20 14:44:23 +01:00
lib Migrate to decimal v2 2022-08-03 22:21:32 +01:00
priv Run Dialyzer in CI 2020-03-19 22:04:17 +01:00
src Add support for N-Quads-star decoding 2021-11-10 00:48:33 +01:00
test Add :auto_fix for :case_validation option on defvocab 2022-06-27 00:21:03 +02:00
.dialyzer_ignore Add RDF.IRI.UUID.Generator 2022-03-02 01:55:31 +01:00
.editorconfig Add Turtle and JSON to .editorconfig 2019-04-02 00:41:58 +02:00
.formatter.exs Add RDF.Namespace builder 2022-06-03 22:19:16 +02:00
.gitignore Run Dialyzer in CI 2020-03-19 22:04:17 +01:00
.iex.exs Add RDF.Graph builder DSL 2022-04-03 00:41:00 +02:00
CHANGELOG.md Add :auto_fix for :case_validation option on defvocab 2022-06-27 00:21:03 +02:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT 2017-06-25 00:24:39 +02:00
CONTRIBUTING.md Update links to new repo URL under the rdf-elixir organization 2020-06-01 17:34:49 +02:00
LICENSE.md Update year in license file 2020-05-31 23:49:18 +02:00
README.md Update README 2022-04-11 09:23:08 +02:00
VERSION bump version 2022-08-03 22:23:52 +01:00
doap.ttl Add release as a dedicated resource to EARL reports 2021-12-20 14:44:23 +01:00
mix.exs Migrate to decimal v2 2022-08-03 22:21:32 +01:00
mix.lock Migrate to decimal v2 2022-08-03 22:21:32 +01:00
rdf-logo.png Add RDF logo to README 2019-07-22 00:08:20 +02:00

README.md

RDF.ex

CI Hex.pm Hex Docs Total Download License

An implementation of the RDF data model in Elixir.

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.

Migration guides for the various versions can be found in the Wiki.

Features

  • fully compatible with the RDF 1.1 specification
  • support of the RDF-star extension
  • in-memory data structures for RDF descriptions, RDF graphs and RDF datasets
  • basic graph pattern matching against the in-memory data structures with streaming-support
  • execution of SPARQL queries against the in-memory data structures with the SPARQL.ex package or against any SPARQL endpoint with the SPARQL.Client package
  • RDF vocabularies as Elixir modules for safe, i.e. compile-time checked and concise usage of IRIs
  • most of the important XML schema datatypes for RDF literals
  • support for custom datatypes for RDF literals, incl. as derivations of XSD datatypes via facets
  • sigils for the most common types of nodes, i.e. IRIs, literals, blank nodes and lists
  • a DSL resembling Turtle to build RDF descriptions or full RDF graphs in Elixir
  • implementations for the N-Triples, N-Quads and Turtle serialization formats (including the respective RDF-star extensions); JSON-LD and RDF-XML are available with the separate JSON-LD.ex and RDF-XML.ex packages
  • validation of RDF data against ShEx schemas with the ShEx.ex package
  • mapping of RDF data structures to Elixir structs and back with Grax

Contributing

There's still much to do for a complete RDF ecosystem for Elixir, which means there are plenty of opportunities to contribute. Here are some suggestions:

  • more serialization formats, like RDFa, N3, CSVW, HDT etc.
  • more XSD datatypes
  • improving the documentation

See CONTRIBUTING for details.

Consulting

If you need help with your Elixir and Linked Data projects, just contact NinjaConcept via contact@ninjaconcept.com.

Acknowledgements

The development of this project was partly sponsored by NetzeBW for NETZlive.

JetBrains supports the project with complimentary access to its development environments.

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