Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sdsc-ordes/tripsu
Pseudonymize rdf graphs for privacy protection.
https://github.com/sdsc-ordes/tripsu
cli privacy rdf
Last synced: about 15 hours ago
JSON representation
Pseudonymize rdf graphs for privacy protection.
- Host: GitHub
- URL: https://github.com/sdsc-ordes/tripsu
- Owner: sdsc-ordes
- License: apache-2.0
- Created: 2024-06-07T13:57:33.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-27T21:50:29.000Z (2 months ago)
- Last Synced: 2024-08-28T20:23:18.832Z (2 months ago)
- Topics: cli, privacy, rdf
- Language: Rust
- Homepage:
- Size: 404 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
tripsu
`tripsu` (/tɹˈɪpsˈuː/, **trip**le **pseu**donymizer) is a tool to protect
sensitive values in [RDF triples](https://en.wikipedia.org/wiki/Semantic_triple)
through [pseudonymization](https://en.wikipedia.org/wiki/Pseudonymization). The
goal is to offer a fast, secure and memory-efficient pseudonymization solution
to any RDF graph.Note: code is still in development and we support only
[NTriples format](https://en.wikipedia.org/wiki/N-Triples) as input.The tool works in two steps:
1. Indexing to create a reference to all
[rdf:type](https://www.w3.org/TR/rdf12-schema/#ch_type) instances in the
graph
2. Pseudonymization to encrypt or hash sensitive parts of any RDF triple in the
graph via a human-readable configuration file and the previously generated
indexTable of Content
- [Installation](#installation)
- [Container](#container)
- [Source Build](#source-build)
- [Usage](#usage)
- [Development](#development)## Installation
### Container
Run the container image directly with `docker` or `podman`:
```shell
docker run -it ghcr.io/sdsc-ordes/tripsu:0.0.1 --help
```### Source Build
The package can be compiled from source using
[cargo](https://doc.rust-lang.org/cargo/getting-started/installation.html):```shell
git clone https://github.com/sdsc-ordes/tripsu
cd tripsu
cargo build --release./target/release/tripsu --help
```> [!TIP]
> Check the [development section](#development) for other setups (Nix
> etc.).## Usage
The general command-line interface outlines the two main steps of the tool,
indexing and pseudonymization:```shell
tripsu --help
```which outputs
```text
A tool to pseudonymize URIs and values in RDF graphs.Usage: tripsu
Commands:
index 1. Pass: Create a node-to-type index from input triples
pseudo 2. Pass: Pseudonymize input triples
help Print this message or the help of the given subcommand(s)Options:
-h, --help Print help
-V, --version Print version
```Indexing only requires an RDF file as input:
```shell
tripsu index input.nt > index.nt
```Pseudonymization requires an RDF file, index and rules configuration as input:
```shell
tripsu pseudo --index index.nt --rules rules.yaml input.nt > output.nt
```By default, pseudonymization uses a random key. To make the process
deterministic, you may provide a file containing a fixed key with `--secret`.In both subcommands, the input defaults to stdin and the output to stdout,
allowing to pipe both up- and downstream `tripsu` (see next section).> [!TIP]
> Each subcommand supports the `--help` option to show all options. For
> more information about use-cases and configuration, see the
> [tutorial](docs/tutorial.md).## Development
Read first the [Contribution Guidelines](/CONTRIBUTING.md).
For technical documentation on setup and development, see the
[Development Guide](docs/development-guide.md)## Copyright
Copyright © 2023-2024 Swiss Data Science Center (SDSC),
[www.datascience.ch](http://www.datascience.ch/). All rights reserved. The SDSC
is jointly established and legally represented by the École Polytechnique
Fédérale de Lausanne (EPFL) and the Eidgenössische Technische Hochschule Zürich
(ETH Zürich). This copyright encompasses all materials, software, documentation,
and other content created and developed by the SDSC.