diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index d2b8c5b3..8bc87e67 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 }}
@@ -173,7 +173,7 @@ jobs:
if: github.event.action == 'published'
runs-on: ubuntu-latest
# needs: [linux, windows, macos, sdist]
- needs: [linux, macos]
+ needs: [linux, macos, windows]
steps:
- uses: actions/download-artifact@v4
with:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4d3c1319..371d3c25 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,73 @@ This ChangeLog follows the Keep a ChangeLog guidelines](https://keepachangelog.c
### Changed
### Removed
+## 0.1.108
+### Fixed
+- We found a problem with SPARQL queries that were returning no results
+- Repaired problem with xsd:dateTime
+
+
+
+## 0.1.107
+### Added
+- Added the possibility to read different elements from file paths or URLs. We removed the suffix `_path` for all the methods that read from those inputs. We keep only the `_str` suffix for methods that read from a string. For example, `read_data(input, ...)` allows the input to be a URL, a file path or stdin (which can be useful in linux pipes), while `read_data_str(input, ...)` requires the input to be a string.
+- Added `read_shapemap(input,...)` which was required by issue #329.
+
+### Fixed
+- We found a issue when validating datatype literals because we were not handling
+### Changed
+
+
+### Removed
+
+## 0.1.105
+### Added
+### Fixed
+### Changed
+- Updated dependency on oxigraph to 0.5.0 solving issue #335
+
+### Removed
+
+## 0.1.104
+### Added
+- Added more information to MIE files
+
+### Fixed
+- Tried to improve the error message when parsing ShEx files that have an undeclared alias according to issue #331
+
+### Changed
+
+### Removed
+
+
+## 0.1.103
+### Added
+
+### Fixed
+- GraphCollection in service description contains a collection of named graphs (before was a collection of graph descriptions)
+- The parser now parses also the available graphs
+
+### Changed
+
+
+### Removed
+
+## 0.1.102
+### Added
+- Comparison between schemas
+- Added documentation about comparison between schemas
+- Published Windows amd-64 Python wheel
+- Added parsed title in SPARQL service description from property dcterms:title
+
+### 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 66dcf01d..bbd85fc0 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -61,7 +61,7 @@ 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_lib = { version = "0.1.106", path = "./rudof_lib" }
rudof_cli = { version = "0.1.86", path = "./rudof_cli" }
shapemap = { version = "0.1.86", path = "./shapemap" }
shacl_ast = { version = "0.1.82", path = "./shacl_ast" }
@@ -69,7 +69,7 @@ shacl_rdf = { version = "0.1.82", path = "./shacl_rdf" }
shacl_ir = { version = "0.1.82", path = "./shacl_ir" }
shacl_validation = { version = "0.1.86", path = "./shacl_validation" }
shapes_converter = { version = "0.1.86", path = "./shapes_converter" }
-shapes_comparator = { version = "0.1.92", path = "./shapes_comparator" }
+shapes_comparator = { version = "0.1.102", path = "./shapes_comparator" }
shex_ast = { version = "0.1.86", path = "./shex_ast" }
shex_compact = { version = "0.1.82", path = "./shex_compact" }
shex_testsuite = { version = "0.1.62", path = "./shex_testsuite" }
@@ -86,22 +86,22 @@ const_format = "0.2"
indexmap = "2.1"
oxsdatatypes = "0.2.2"
oxiri = { version = "0.2.11" }
-oxigraph = { version = "0.5.0-beta.2", default-features = false, features = [
+oxigraph = { version = "0.5.0", default-features = false, features = [
"rdf-12",
] }
-oxrdf = { version = "0.3.0-beta.2", features = ["oxsdatatypes", "rdf-12"] }
-oxrdfio = { version = "0.2.0-beta.2", features = ["rdf-12"] }
-oxrdfxml = { version = "0.2.0-beta.2" }
-oxttl = { version = "0.2.0-beta.2", features = ["rdf-12"] }
-oxjsonld = { version = "0.2.0-beta.2", features = ["rdf-12"] }
-sparesults = { version = "0.3.0-beta.2", features = ["sparql-12"] }
-spargebra = { version = "0.4.0-beta.2", features = ["sparql-12"] }
+oxrdf = { version = "0.3.0", features = ["oxsdatatypes", "rdf-12"] }
+oxrdfio = { version = "0.2.0", features = ["rdf-12"] }
+oxrdfxml = { version = "0.2.0" }
+oxttl = { version = "0.2.0", features = ["rdf-12"] }
+oxjsonld = { version = "0.2.0", features = ["rdf-12"] }
+sparesults = { version = "0.3.0", features = ["sparql-12"] }
+spargebra = { version = "0.4.0", features = ["sparql-12"] }
oxilangtag = { version = "0.1.5", features = ["serde"] }
regex = "1.11"
supports-color = "3.0.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
-toml = "0.8"
+toml = "0.9"
thiserror = "2.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
diff --git a/dctap/Cargo.toml b/dctap/Cargo.toml
index beb3a02a..a2428ba5 100644
--- a/dctap/Cargo.toml
+++ b/dctap/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "dctap"
-version = "0.1.90"
+version = "0.1.109"
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