diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index d2b8c5b3..166eb358 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -69,40 +69,40 @@ jobs:
- name: Test Built Wheel
run: cd python/tests && python3 -m unittest discover -vvv
-# windows:
-# runs-on: Windows-2022
-# strategy:
-# fail-fast: false
-# matrix:
-# python-version: [ 3.12 ]
-# target: [ x64, x86 ]
+ windows:
+ runs-on: Windows-2022
+ strategy:
+ fail-fast: false
+ matrix:
+ python-version: [ 3.12 ]
+ target: [ x64 ]
-# steps:
-# - uses: actions/checkout@v4
+ steps:
+ - uses: actions/checkout@v4
-# - uses: actions/setup-python@v5
-# with:
-# python-version: ${{ matrix.python-version }}
-
- # - name: Build wheels
- # uses: PyO3/maturin-action@v1
- # with:
- # working-directory: python
- # target: ${{ matrix.target }}
- # args: --release --out dist --interpreter ${{ matrix.python-version }}
- # sccache: 'true'
-
- # - name: Upload wheels
- # uses: actions/upload-artifact@v4
- # with:
- # name: wheels-windows-${{ matrix.target }}
- # path: python/dist
-
-# - name: Install Built Wheel
-# run: python3 -m pip install -vv pyrudof --find-links=python/dist --no-index
+ - uses: actions/setup-python@v5
+ with:
+ python-version: ${{ matrix.python-version }}
-# - name: Test Built Wheel
-# run: cd python/tests && python3 -m unittest discover -vvv
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ working-directory: python
+ target: ${{ matrix.target }}
+ args: --release --out dist --interpreter ${{ matrix.python-version }}
+ sccache: 'true'
+
+ - name: Upload wheels
+ uses: actions/upload-artifact@v4
+ with:
+ name: wheels-windows-${{ matrix.target }}
+ path: python/dist
+
+ - name: Install Built Wheel
+ run: python3 -m pip install -vv pyrudof --find-links=python/dist --no-index
+
+ - name: Test Built Wheel
+ run: cd python/tests && python3 -m unittest discover -vvv
macos:
runs-on: ${{ matrix.vm }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4d3c1319..d870f357 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,20 @@ This ChangeLog follows the Keep a ChangeLog guidelines](https://keepachangelog.c
### Changed
### Removed
+## 0.1.102
+### Added
+- Comparison between schemas
+- Added documentation about comparison between schemas
+
+### Fixed
+- Cleaned and Clippied the code that we did in a hurry during Biohackathon
+
+### Changed
+- The behavour of `base` which was assumed to be None by default and now can be passed as a command line option.
+
+### Removed
+
+
## 0.1.93
### Added
### Fixed
diff --git a/Cargo.toml b/Cargo.toml
index 04ee4118..66dcf01d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -3,6 +3,7 @@ resolver = "2"
members = [
"dctap",
"iri_s",
+ "mie",
"python",
"prefixmap",
"rbe",
@@ -51,12 +52,15 @@ authors = [
[workspace.dependencies]
dctap = { version = "0.1.86", path = "./dctap" }
+either = { version = "1.13" }
iri_s = { version = "0.1.82", path = "./iri_s" }
+mie = { version = "0.1.96", path = "./mie" }
prefixmap = { version = "0.1.82", path = "./prefixmap" }
pyrudof = { version = "0.1.86", path = "./python" }
rbe = { version = "0.1.86", path = "./rbe" }
rbe_testsuite = { version = "0.1.62", path = "./rbe_testsuite" }
rdf_config = { version = "0.1.0", path = "./rdf_config" }
+reqwest = { version = "0.12" }
rudof_lib = { version = "0.1.86", path = "./rudof_lib" }
rudof_cli = { version = "0.1.86", path = "./rudof_cli" }
shapemap = { version = "0.1.86", path = "./shapemap" }
diff --git a/dctap/Cargo.toml b/dctap/Cargo.toml
index beb3a02a..0a5b54f7 100644
--- a/dctap/Cargo.toml
+++ b/dctap/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "dctap"
-version = "0.1.90"
+version = "0.1.102"
authors.workspace = true
description.workspace = true
documentation = "https://docs.rs/dctap"
diff --git a/dctap/src/dctap.rs b/dctap/src/dctap.rs
index 1bc10bcb..39f91167 100644
--- a/dctap/src/dctap.rs
+++ b/dctap/src/dctap.rs
@@ -9,8 +9,10 @@ use serde::{Deserialize, Serialize};
use std::{fmt::Display, io, path::Path};
use tracing::{debug, info};
+/* Removed as it seems we never use it
#[derive(Debug, Serialize, Deserialize)]
struct TapShapeId(String);
+*/
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
pub struct DCTap {
diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md
index 144977ed..06d45a44 100644
--- a/docs/src/SUMMARY.md
+++ b/docs/src/SUMMARY.md
@@ -20,6 +20,7 @@
- [shacl-validate](./cli_usage/shacl_validate.md)
- [validate](./cli_usage/validate.md)
- [convert](./cli_usage/convert.md)
+- [compare](./cli_usage/compare.md)
# `rudof` as a library
diff --git a/docs/src/cli_usage/compare.md b/docs/src/cli_usage/compare.md
new file mode 100644
index 00000000..37635ba6
--- /dev/null
+++ b/docs/src/cli_usage/compare.md
@@ -0,0 +1,132 @@
+# compare: Compare Shapes
+
+`rudof` supports comparison between different schemas and shapes.
+
+The `compare` has the following structure:
+
+```
+$ rudof compare --help
+Compare two shapes (which can be in different formats)
+
+Usage: rudof compare [OPTIONS] --schema1 --schema2
+
+Options:
+ -c, --config Path to config file
+ --mode1 Input mode first schema [default: shex] [possible values: shacl, shex,
+ dctap, service]
+ --mode2 Input mode second schema [default: shex] [possible values: shacl, shex,
+ dctap, service]
+ --force-overwrite Force overwrite to output file if it already exists
+ --schema1 Schema 1 (URI, file or - for stdin)
+ --schema2 Schema 2 (URI, file or - for stdin)
+ --format1 File format 1 [default: shexc] [possible values: shexc, shexj, turtle]
+ --format2 File format 2 [default: shexc] [possible values: shexc, shexj, turtle]
+ -r, --result-format Result format [default: internal] [possible values: internal, json]
+ -o, --output-file Output file name, default = terminal
+ -t, --target-folder Target folder
+ --shape1