# Library Documentation

## CLI application

The source code for the CLI application is located in the [rudof_cli](https://github.com/rudof-project/rudof/tree/master/rudof_cli) folder.

## rudof library

Most of the rudof functionality is available through [rudof_lib](https://docs.rs/rudof_lib). Most of the clients are encouraged to access the library through this crate as the other elements could change.

## Library crates

The library is published as Rust crates, with the following ones:

- [data_generator](https://docs.rs/data_generator)
- [dctap](https://docs.rs/dctap)
- [iri_s](https://docs.rs/iri_s)
- [mie](https://docs.rs/mie)
- [prefixmap](https://docs.rs/prefixmap)
- [rbe](https://docs.rs/rbe)
- [rdf_config](https://docs.rs/rdf_config)
- [shacl_ast](https://docs.rs/shacl_ast)
- [shacl_ir](https://docs.rs/shacl_ir)
- [shacl_rdf](https://docs.rs/shacl_rdf)
- [shacl_validation](https://docs.rs/shacl_validation)
- [shapes_comparator](https://docs.rs/shapes_comparator)
- [shapes_converter](https://docs.rs/shapes_converter)
- [shex_ast](https://docs.rs/shex_ast)
- [shex_validation](https://docs.rs/shex_validation)
- [sparql_service](https://docs.rs/sparql_service)
- [srdf](https://docs.rs/srdf)


## Python bindings

The Python bindings are defined in the [python](https://github.com/rudof-project/rudof/tree/master/python).

- [python documentation](https://pyrudof.readthedocs.io/)
