Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sdsc-ordes/rdfpipe-rs
Quickly convert between RDF file formats. A rust implementation of rdfpipe based on the sophia crate.
https://github.com/sdsc-ordes/rdfpipe-rs
cli parsing rdf
Last synced: about 2 months ago
JSON representation
Quickly convert between RDF file formats. A rust implementation of rdfpipe based on the sophia crate.
- Host: GitHub
- URL: https://github.com/sdsc-ordes/rdfpipe-rs
- Owner: sdsc-ordes
- License: gpl-3.0
- Created: 2023-09-01T22:52:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-19T14:14:25.000Z (6 months ago)
- Last Synced: 2024-06-20T07:39:55.968Z (6 months ago)
- Topics: cli, parsing, rdf
- Language: Rust
- Homepage:
- Size: 60.5 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# rdfpipe-rs
> [!WARNING]
> This is a WIP repository, it is not yet stable.`rdfpipe-rs` is meant to replicate the command line interface of rdfpipe, a python-based command line tool bundled with [rdflib](https://github.com/RDFLib) that allows conversion between RDF exchange file formats (turtle, json-ld, rdf/xlm, ntriples, ...). The goal of `rdfpipe-rs` is to be a drop in replacement which provides better performance to handle larger files.
## Current status
rdfpipe-rs is still missing the following features:
* json-ld support
* quad support (named graphs)
* `--ns` option for explicit namespace binding## Installation
The package must be compiled from source using [cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html):
```sh
git clone https://github.com/sdsc-ordes/rdfpipe-rs
cd rdfpipe-rs
cargo build --release
# executable binary located in ./target/release/rdfpipe-rs
```## Usage
The command line interface follows [rdfpipe](https://manpages.ubuntu.com/manpages/impish/man1/rdfpipe.1.html)'s as closely as possible:
```
$ rdfpipe-rs --helpRDF conversion tool
Usage: rdfpipe-rs [OPTIONS] [INPUT_FILE]
Arguments:
[INPUT_FILE] Input file. Omit or use - for stdin. [default: -]Options:
--no-guess Don't guess format based on file suffix.
--no-out Don't output the resulting graph (useful for checking validity of input).
-i, --input-format Input RDF serialization format [possible values: turtle, n-triples, rdf-xml]
-o, --output-format Output RDF serialization format [default: turtle] [possible values: turtle, n-triples, rdf-xml]
-h, --help Print help
```## Development
See [CONTRIBUTING.md](CONTRIBUTING.md) to learn about the different ways you can contribute to rdfpipe-rs.
```sh
# Install for development
git clone https://github.com/sdsc-ordes/rdfpipe-rs
cd rdfpipe-rs# Run unit and integration tests
cargo test# Build documentation
cargo doc# Build debug binary
cargo build# Build optimized binary
cargo build --release# Install
cargo install --path .
```