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