aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 6aefc453780f95278c37d172431364de92b19b37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# ocaml-rdf

A RDF library for OCaml

# Content

`ocaml-rdf` consists of multiple sub-libraries that can be used individually:

- [`rdf`](./lib/core): Core RDF types and functions.

## Serialization

- [`rdf_json`](./lib/json): [RDF/JSON](https://www.w3.org/TR/rdf-json/).
- [`rdf_turtle`](./lib/turtle): [Turtle](https://www.w3.org/TR/turtle/).

## Testing

- [`rdf_alcotest`](./test/alcotest): Implements `Alcotest.testable` for the core RDF types. Useful when testing applications that use these types.
- [`rdf_gen`](./test/gen): Generators for [QCheck](https://github.com/c-cube/qcheck/). This is used within `ocaml-rdf` for property-based testing. It may also be useful for applications/libraries that use `ocaml-rdf`.


# Hacking

You may create a suitable environment for working on ocaml-rdf with [Guix](https://guix.gnu.org/):

``` sh
guix environment -l guix.scm
```

This will create an environment where you can run `dune build` to compile the library.

Currently it is hard to get a working development environment without Guix as some OCaml dependencies are not published to OPAM yet ([ocaml-cbor](https://inqlab.net/git/ocaml-cbor.git)).

# License

[AGPL-3.0-or-later](./LICENSES/AGPL-3.0-or-later.txt)