No description
Find a file
Marcel Otto d07db98436 Add :as_value opt for XSD.Datatype.new/2 implementations
This is for datatypes where both the value space and the lexical space
consists of strings, which makes it impossible to differentiate if the
given value should be interpreted as one from the lexical space or the
value space.
2020-12-06 14:27:55 +01:00
.github/workflows Drop support for Elixir versions < 1.9 2020-11-12 22:50:38 +01:00
bench Apply mix formatter 2020-06-29 10:37:42 +02:00
config Remove mix_test_watch config 2018-06-13 21:56:12 +02:00
lib Add :as_value opt for XSD.Datatype.new/2 implementations 2020-12-06 14:27:55 +01:00
priv Run Dialyzer in CI 2020-03-19 22:04:17 +01:00
src Add RDF.IRI, use it instead of URI and use the term IRI consistently 2017-08-20 22:35:14 +02:00
test Handle conflicts of RDF.Vocabulary.Namespace terms with Kernel functions 2020-11-13 22:51:41 +01:00
.dialyzer_ignore Ignore yyrev/2 dialyzer warning 2020-03-11 00:22:35 +01:00
.editorconfig Add Turtle and JSON to .editorconfig 2019-04-02 00:41:58 +02:00
.formatter.exs Apply mix formatter 2020-06-29 10:37:42 +02:00
.gitignore Run Dialyzer in CI 2020-03-19 22:04:17 +01:00
.iex.exs Add RDF.PropertyMap 2020-10-08 22:49:45 +02:00
CHANGELOG.md Prepare release 0.9.1 2020-11-16 13:34:22 +01: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
mix.exs Drop support for Elixir versions < 1.9 2020-11-12 22:50:38 +01:00
mix.lock Update dependencies 2020-10-13 15:40:17 +02:00
rdf-logo.png Add RDF logo to README 2019-07-22 00:08:20 +02:00
README.md Add acknowledgement to NetzeBW to README 2020-11-16 13:31:11 +01:00
VERSION Prepare release 0.9.1 2020-11-16 13:34:22 +01:00

RDF.ex

CI Hex.pm

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
  • 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
  • execute 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
  • define 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 description DSL resembling Turtle in Elixir
  • implementations for the N-Triples, N-Quads and Turtle serialization formats; JSON-LD and RDF-XML are available with the separate JSON-LD.ex and RDF-XML.ex packages
  • validate data against ShEx schemas via the ShEx.ex package

Contributing

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

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

see CONTRIBUTING for details.

Consulting, Partnership and Sponsoring

If you need help with your Elixir and Linked Data projects, just contact info@cokron.com or visit https://www.cokron.com/kontakt

Acknowledgements

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

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