forked from rudof-project/rudof
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
154 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
book |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[book] | ||
authors = ["Jose Emilio Labra Gayo"] | ||
language = "en" | ||
multilingual = false | ||
src = "src" | ||
title = "rudof" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Summary | ||
|
||
- [intro](./intro.md) | ||
- [Installation](./installation.md) | ||
- [Usage](./usage.md) | ||
- [About](./about.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# About | ||
|
||
- [Contributors](https://github.com/rudof-project/rudof/graphs/contributors) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# Installation | ||
|
||
### Official releases | ||
|
||
You can download a binary from the [latest release](https://github.com/rudof-project/rudof/releases/latest) page. There you will also find the compiled packages for the installation on your system using a package manager. | ||
|
||
#### Ubuntu | ||
|
||
Download the binary from [https://github.com/rudof-project/rudof/releases] and install the `.deb` package running the following commands after replacing X.X.X by the latest version: | ||
|
||
```sh | ||
wget https://github.com/rudof-project/rudof/releases/download/vX.X.X/rudof_vX.X.X_amd64.deb | ||
sudo dpkg -i rudof_vX.X.X_amd64.deb | ||
``` | ||
|
||
#### Windows | ||
|
||
The binary can be downloaded from [releases](https://github.com/rudof-project/rudof/releases) | ||
|
||
#### Mac | ||
|
||
The binary is available at: [releases](https://github.com/rudof-project/rudof/releases) so you can download the corresponding binary to your machine. | ||
|
||
The usual way to run/install a binary in Mac is to download it in a folder, add that folder to your PATH and activating the binary using: | ||
|
||
```sh | ||
chmod +x <binary_file> | ||
``` | ||
|
||
After that, I think the processor may complain the first time about security and you have to agree to use it...once you agree, it should work. | ||
|
||
### Compiling from source | ||
|
||
`rudof` has been implemented in Rust and is compiled using [cargo](https://doc.rust-lang.org/cargo/). The command `cargo run` can be used to compile and run locally the code. | ||
|
||
For example: | ||
|
||
```sh | ||
cargo run -- validate --data examples/user.ttl --schema examples/user.shex --shapemap examples/user.sm | ||
``` | ||
|
||
### Compiling from source and installing the binary (Debian) | ||
|
||
Install `cargo deb` (only the first time) | ||
|
||
```sh | ||
cargo install cargo-deb | ||
``` | ||
|
||
Create the `.deb` package by: | ||
|
||
```sh | ||
cargo deb | ||
``` | ||
|
||
And run: | ||
|
||
```sh | ||
sudo dpkg -i target/debian/rudof_0.0.11-1_amd64.deb | ||
``` | ||
|
||
## Docker | ||
|
||
The library is also published as a Docker image. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
# Introduction | ||
|
||
`rudof` is a library that implements: [Shape Expressions](https://shex.io/), [SHACL](https://www.w3.org/TR/shacl/), [DCTAP](https://www.dublincore.org/specifications/dctap/) and other technologies in the [RDF](https://www.w3.org/RDF/) ecosystem. | ||
|
||
The library is implemented in [Rust](https://www.rust-lang.org/) and it also provides Python bindings. | ||
|
||
`rudof` can be used as a command line tool or can be embedded as a library. | ||
It can be used to validate RDF data represented with different syntaxes like Turtle, NTriples, etc. as well as RDF data available through SPARQL endpoints like Wikidata. | ||
|
||
`rudof` can also be used to convert between different RDF data validation technologies like ShEx, SHACL, DCTAP, etc. and to generate UML like visualizations and HTML views. | ||
|
||
- We publish binaries in Linux, Windows and Apple which can be downloaded [here](https://github.com/weso/shex-rs/releases/). | ||
- Source code: [https://github.com/rudof-project/rudof](https://github.com/rudof-project/rudof) | ||
- [List of issues](https://github.com/rudof-project/rudof/issues) | ||
- [Discussion](https://github.com/rudof-project/rudof/discussions) | ||
- [How-to guides](https://github.com/rudof-project/rudof/wiki/How%E2%80%90to-guides) | ||
- [FAQ](https://github.com/rudof-project/rudof/wiki/FAQ) | ||
|
||
## Modules | ||
|
||
rudof has been implemented using a modular structure and the different modules are available as Rust crates | ||
|
||
- [ShEx validator](https://docs.rs/shex_validation/): ShEx Validator | ||
- [ShEx compact](https://docs.rs/shex_compact): ShEx Compact syntax parser that follows [ShEx compact grammar](https://shex.io/shex-semantics/index.html#shexc) | ||
- [ShEx ast](https://docs.rs/shex_ast): Represents [ShEx Abstract syntax](https://shex.io/shex-semantics/index.html#shape-expressions-shexj) based on ShExJ (JSON-LD) | ||
- [ShapeMap](https://docs.rs/shapemap/): [ShapeMap](https://shexspec.github.io/shape-map/) implementation. | ||
- [SRDF](https://docs.rs/srdf): Simple RDF interface | ||
- [PrefixMap](https://docs.rs/prefixmap): Turtle based prefixMap representation | ||
- [Conversions between different shapes formalisms](https://docs.rs/shapes_convert) | ||
[](https://docs.rs/shapes_convert)* [](https://docs.rs/shapes_convert)[SHACL ast](https://docs.rs/shacl_ast): Represents [SHACL core abstract syntax](https://www.w3.org/TR/shacl) | ||
- [RBE](https://docs.rs/rbe): Regular Bag Expressions | ||
- [ShEx testsuite](https://docs.rs/shex_testsuite/): Code that checks the [ShEx testsuite](https://shexspec.github.io/test-suite/) | ||
|
||
Related projects | ||
---------------- | ||
|
||
An incomplete list of projects which are related with `rudof` is the following: | ||
|
||
- [ShEx-s](https://www.weso.es/shex-s/): Scala implementation of ShEx. This project started as a re-implementation of ShEx-s in Rust | ||
- [SHACL-s](https://www.weso.es/shacl-s/): Scala implementation of SHACL. | ||
- [ShEx.js](https://github.com/shexjs/shex.js): Javascript implementation of ShEx. | ||
- [Oxigraph](https://github.com/oxigraph/oxigraph): SPARQL implementation in Rust which also contains RDF libraries. | ||
- [Nemo](https://github.com/knowsys/nemo): An in-memory rule engile which also contains some nom parsers. | ||
|
||
## Contributors | ||
|
||
[List of contributors in Github](https://github.com/rudof-project/rudof/graphs/contributors) | ||
|
||
## Supporters and adopters | ||
|
||
The following is a list of `rudof` adopters and supporters: | ||
|
||
- [WESO (WEb Semantics Oviedo)](http://www.weso.es/): Most of the contributors are part of this research group at the [University of Oviedo](http://www.uniovi.es) | ||
- [USDA - United States Department of Agriculture](https://www.usda.gov/) has been partially funding part of the project through a Non-Assistance Cooperative Agreement. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Usage | ||
|
||
We keep a list of [How-to guides](https://github.com/rudof-project/rudof/wiki/How%E2%80%90to-guides) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
shapeId,shapeLabel,propertyId,Mandatory,Repeatable,valueDatatype,valueShape | ||
Person,Person ,name,true,false,xsd:string, | ||
,,birthdate,false,false,xsd:date, | ||
,,enrolledIn,false,true,,Course | ||
,,worksFor,false,true,,Company | ||
Course,Course,name,true,false,xsd:string, | ||
Company,Company label,name,true,false,xsd:string, | ||
,,foundation,false,false,xsd:date, | ||
shapeId,shapeLabel,propertyId,Mandatory,Repeatable,valueDatatype,valueShape,valueConstraint,valueConstraintType | ||
Person,Person ,name,true,false,xsd:string,,, | ||
,,birthdate,false,false,xsd:date,,, | ||
,,enrolledIn,false,true,,Course,, | ||
,,worksFor,false,true,,Company,, | ||
,,gender,false,false,,,male female other,picklist | ||
Course,Course,name,true,false,xsd:string,,, | ||
Company,Company label,name,true,false,xsd:string,,, | ||
,,foundation,false,false,xsd:date,,, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
shapeId,shapeLabel,propertyId,propertyLabel, valueShape | ||
Person,PersonLabel,knows,KnowsLabel, @Person | ||
,,name,name of person, http://www.w3.org/2001/XMLSchema#string | ||
,,worksFor, works for, @Company | ||
Company,,founder, founder person, @Person | ||
|
||
shapeId,shapeLabel,propertyId,propertyLabel,valueShape, valueDatatype, valueConstraint, valueConstraintType | ||
Person,PersonLabel,knows,knows property, @Person,, | ||
,,rdf:type,instance of,,,male other,picklist, | ||
,,name,name of person,,xsd:string, | ||
,,worksFor, works for, @Company,, | ||
,,,,, | ||
Company,,founder, founder person, @Person,, |