https://github.com/johnstonskj/rust-rdftk
The RDF toolkit for Rust is a set of crates providing the ability to work with RDF data
https://github.com/johnstonskj/rust-rdftk
Last synced: 7 months ago
JSON representation
The RDF toolkit for Rust is a set of crates providing the ability to work with RDF data
- Host: GitHub
- URL: https://github.com/johnstonskj/rust-rdftk
- Owner: johnstonskj
- License: mit
- Created: 2020-05-22T23:26:44.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-11-25T23:57:56.000Z (about 1 year ago)
- Last Synced: 2025-02-02T03:54:44.476Z (10 months ago)
- Language: Rust
- Size: 2.73 MB
- Stars: 16
- Watchers: 1
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-semantic-web - RDFtk - An RDF Toolkit for Rust (Programming / Rust)
README
# RDFtk: An RDF Toolkit for Rust
The RDF toolkit for Rust is a set of crates providing the ability to work with RDF data. The goal is to provide a
consistent set of tools for reading and writing files, manipulating models programmatically, and working with graph
(triple) stores.





[](https://github.com/johnstonskj/rust-rdftk/stargazers)
Note that, in terms of implementation, the primary goals of the RDFtk project is to provide a consistent and complete
set of crates for handling RDF data. To this end the crates will value readability and usability over runtime
optimization (either memory, or speed) at this time. Getting the right interface will be the primary aim with those
optimizations coming as necessary.
More documentation may be found in the [RDFtk
Book](https://simonkjohnston.life/rust-rdftk).
For contributors, please read our [contribution guidelines](CONTRIBUTING.md) and [code of conduct](CODE_OF_CONDUCT.md).
## Crates
The following set of crates are included in this repository (and Rust workspace), they are not yet complete and will
probably be joined by others over time.
[](./rdftk_core) This crate provides the core RDF data model; concrete implementations for `Statement`s and `Literal`s, along with a `Resource` type that provides a builder-like experience for models.
[](./rdftk_io) This crate provides traits for reading and writing `Statement`s and `Graph`s as well as implementations of these for common representations.
[](./rdftk_iri) This crate provides an implementation of the `IRI` and `URI` specifications.
[](./rdftk_names) This crate provides a set of modules that contain the `IRI`s and `QName` strings for commonly used vocabularies. It also provides macro support for defining new namespaces in the same style as this library.
[](./rdftk_ontology) This crate provides a data model for creating ontologies using [RDF Schema](https://www.w3.org/TR/rdf-schema/) and [OWL 2 Web Ontology Language (OWL)](https://www.w3.org/TR/owl2-overview/).
[](./rdftk_query) This crate provides a placeholder for a query APIs and the [*SPARQL Query Language for RDF*](https://www.w3.org/TR/rdf-sparql-query/) support.
[](./rdftk_skos) A data model with RDF support for the Simple Knowledge Organization System (SKOS) vocabulary.
The following diagram shows the crate dependencies.
```text
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
┌─────────────────────────────────────────┐ │
│ │ │
▼ │ │
│ ┌──────────────┐ ┌──────────────┐ ┌───────┴──────┐
│ │ │ │ │ │ │
│ │ iri │◀────│ core │────▶│ names │
│ │ │ │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘
─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘
▲ ▲ ▲ ▲ ▲
┌────────────┘ │ │ │ └────────────┐
┌───────┴──────┐ ┌───────┴──────┐ ┌───────┴──────┐ ┌───────┴──────┐ ┌───────┴──────┐
│ │ │ │ │ │ │ │ │ │
│ io │ │ │ │ ontology │ │ query │ │ skos │
│ │ │ │ │ │ │ │ │ │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ └───────┬──────┘
▲ ▲ │
│ │ │
└────────────────┴──────────────────────────────────────────────────┘
```
[](http://www.w3.org/2001/sw/wiki/RDF)
[](http://www.w3.org/2001/sw/wiki/OWL)
[](http://www.w3.org/2001/sw/wiki/RDFa)
[](http://www.w3.org/2001/sw/wiki/SKOS)
[](http://www.w3.org/2001/sw/wiki/PROV)
[](http://www.w3.org/2001/sw/wiki/SPARQL/)
All usage of the W3C Semantic Web Technology Buttons are in accordance with https://www.w3.org/2007/10/sw-logos.html.