Skip to main content

Tests Latest Release Docker Image License: GPL v3

Python Versions Package Format Package Status Package Version

Publication Data Experiment Scripts

Logo

We present Trav-SHACL, a SHACL engine capable of planning the traversal and execution of a shape schema in a way that invalid entities are detected early and needless validations are minimized. Trav-SHACL reorders the shapes in a shape schema for efficient validation and rewrites target and constraint queries for fast detection of invalid entities. The shape schema is validated against an RDF graph accessible via a SPARQL endpoint.

Trav-SHACL Architecture Fig. 1: The Trav-SHACL Architecture (from [1])

Fig. 1 shows the architecture of Trav-SHACL. Trav-SHACL receives a SHACL shape schema S and an RDF graph G. The output of Trav-SHACL are the entities of G that satisfy the shapes in S. The inter-shape planner uses graph metrics computed over the dependency graph of the shape schema. It orders the shapes in S in a way that invalid entities are identified as soon as possible. The intra-shape planner and execution optimizes the target and constraint queries at the time the shape schema is traversed. So-far (in)validated entities are considered to filter out entities linked to these entities; query rewriting decisions (e.g., pushing filters, partitioning of non-selective queries, and query reordering) are made based on invalid entities' cardinalities and query selectivity. The rewritten queries are executed against SPARQL endpoints. The answers of the target and constraint queries as well as the truth value assignments are exchanged during query rewriting and interleaved execution. They are utilized — in a bottom-up fashion — for constraint rule grounding and saturation. The intra-shape planner and execution component runs until a fixed-point in the truth value assignments is reached.

If you want to know more, check out the documentation. The documentation also lists the current features and limitations.

How to run Trav-SHACL?

You can use Trav-SHACL as a Python3 library or a Web-based service using Docker. The documentation includes detailed examples for both scenarios.

WWW 2021 Evaluation

Trav-SHACL is presented in [1]. If you want to reproduce the results reported in our WWW '21 paper, checkout the eval-www2021 branch.

License

Trav-SHACL is licensed under GPL-3.0.

Publications

  1. Mónica Figuera, Philipp D. Rohde, Maria-Esther Vidal. Trav-SHACL: Efficiently Validating Networks of SHACL Constraints. In Proceedings of the Web Conference 2021 (WWW '21), April 19-23, 2021, Ljubljana, Slovenia. https://doi.org/10.1145/3442381.3449877, Experiment Scripts, Preprint

Metadata

Release files for TravSHACL 1.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TravSHACL 1.9.0
File Size Uploaded
travshacl-1.9.0.tar.gz 48.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for TravSHACL 1.9.0
File Interpreter ABI Platform
travshacl-1.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 102.9 kB

Release files / travshacl-1.9.0.tar.gz

Download URL travshacl-1.9.0.tar.gz
Size 48.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4f7d59b95621f24ea9de2ccbfb410e5bef851d3c632f42b222c0df3022d7b219
BLAKE2b-256 checksum
How to use checksums
937537f43a427d11b59c804228b2e91d6da3d714bbc2c7bb9b28a9f57f52e992
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / travshacl-1.9.0-py3-none-any.whl

Download URL travshacl-1.9.0-py3-none-any.whl
Size 54.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f41bae8cd7875552fb9bbd2c25a5eca3eb6e55a7798f4c20df6773704bdff216
BLAKE2b-256 checksum
How to use checksums
ae8d46aefa7a96163978a027d122e24516cefdd1e2fbc72a6235ca42b2872f58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

1.9.0 This release

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page