shex_testsuite 0.2.12

RDF data shapes implementation in Rust
Documentation

ShEx testsuite

This module contains the code that runs the ShEx testsuite for the ShEx implementation written in Rust.

It has a command line interface that can be used to run some specific tests.

Usage

Usage: shex_testsuite [OPTIONS]

Options:
  -m, --manifest <Manifest FILE (.jsonld)>
          Name of Manifest file [default: shex_testsuite/shexTest/validation/manifest.jsonld]
  -c, --config <Config file>
          [default: shex_testsuite/config.toml]
  -x, --run_mode <MANIFEST_RUN_MODE>
          [default: collect-errors] [possible values: collect-errors, fail-first-error]
  -f, --manifest_mode <MANIFEST_MODE>
          [possible values: schemas, validation, negative-syntax, negative-structure]
  -p, --print_result_mode <PRINT_RESULT_MODE>
          [default: basic] [possible values: basic, failed, passed, not-implemented, all]
  -e, --entry <Entry names>

  -t, --trait <Trait names>

  -h, --help
          Print help
  -V, --version
          Print version

Validation tests

By default it runs the validation tests and shows some statistics

cargo run -p shex_testsuite
Passed: 1062, Failed: 82, Skipped: 22, Not implemented: 0

Check that the well-formed schemas are read

cargo run -p shex_testsuite -- -p failed -m shex_testsuite/shexTest/schemas/manifest.jsonld -f schemas

Run a concrete test by name

cargo run -p shex_testsuite -- -m shex_testsuite/shexTest/validation/manifest.jsonld -e nPlus1

Run tests of some specific trait

cargo run -p shex_testsuite -- -m shex_testsuite/shexTest/validation/manifest.jsonld -t sht:TriplePattern

To choose between running the tests with JSON-LD or Compact syntax

ShExC syntax

cargo run -p shex_testsuite -- -m shex_testsuite/shexTest/validation/manifest.jsonld -p failed-simple --shex_syntax shexc
. . .
Passed: 1063, Failed: 81, Skipped: 22, Not implemented: 0

JSON-LD syntax

cargo run -p shex_testsuite -- -m shex_testsuite/shexTest/validation/manifest.jsonld -p failed-simple --shex_syntax shexj
. . .
Passed: 1062, Failed: 82, Skipped: 22, Not implemented: 0

At this moment the main difference between both is:

nPlus1