travshacl
A SHACL validator capable of planning the traversal and execution of the validation of a shape schema to detect violations early.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 10 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.1%) to scientific vocabulary
Keywords
Repository
A SHACL validator capable of planning the traversal and execution of the validation of a shape schema to detect violations early.
Basic Info
- Host: GitHub
- Owner: SDM-TIB
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://sdm-tib.github.io/Trav-SHACL/
- Size: 15.7 MB
Statistics
- Stars: 22
- Watchers: 7
- Forks: 2
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
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.
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
- 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
Owner
- Name: Scientific Data Management Group
- Login: SDM-TIB
- Kind: organization
- Email: Philipp.Rohde@tib.eu
- Location: Hannover, Germany
- Website: https://www.tib.eu/en/research-development/scientific-data-management/
- Repositories: 66
- Profile: https://github.com/SDM-TIB
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use Trav-SHACL in your work, please cite it using the following metadata."
authors:
- family-names: "Figuera"
given-names: "Mónica"
orcid: "0000-0003-4417-7767"
- family-names: "Rohde"
given-names: "Philipp D."
orcid: "https://orcid.org/0000-0002-9835-4354"
- family-names: "Vidal"
given-names: "Maria-Esther"
orcid: "https://orcid.org/0000-0003-1160-8727"
title: "Trav-SHACL: Efficiently Validating Networks of SHACL Constraints"
url: "https://github.com/SDM-TIB/Trav-SHACL"
preferred-citation:
type: conference-paper
authors:
- family-names: "Figuera"
given-names: "Mónica"
orcid: "0000-0003-4417-7767"
- family-names: "Rohde"
given-names: "Philipp D."
orcid: "https://orcid.org/0000-0002-9835-4354"
- family-names: "Vidal"
given-names: "Maria-Esther"
orcid: "https://orcid.org/0000-0003-1160-8727"
doi: "10.1145/3442381.3449877"
title: "Trav-SHACL: Efficiently Validating Networks of SHACL Constraints"
year: 2021
collection-title: "Proceedings of the Web Conference 2021"
publisher: "ACM"
GitHub Events
Total
- Create event: 5
- Release event: 5
- Issues event: 2
- Watch event: 2
- Delete event: 1
- Issue comment event: 8
- Push event: 31
Last Year
- Create event: 5
- Release event: 5
- Issues event: 2
- Watch event: 2
- Delete event: 1
- Issue comment event: 8
- Push event: 31
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 112
- Total Committers: 3
- Avg Commits per committer: 37.333
- Development Distribution Score (DDS): 0.08
Top Committers
| Name | Commits | |
|---|---|---|
| Philipp Rohde | P****e@t****u | 103 |
| Uzoma-N | U****u@g****m | 5 |
| monicafiguera | m****y@g****m | 4 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 3
- Total pull requests: 6
- Average time to close issues: 8 months
- Average time to close pull requests: 19 days
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 1.33
- Average comments per pull request: 0.33
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mevaladez (1)
- CeelB-2055440 (1)
- alexisimo (1)
Pull Request Authors
- Uzoma-N (2)
- prohde (2)
- JulianLoewe (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 288 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 24
- Total maintainers: 1
pypi.org: travshacl
A SHACL validator capable of planning the traversal and execution of the validation of a shape schema to detect violations early.
- Homepage: https://github.com/SDM-TIB/Trav-SHACL
- Documentation: https://sdm-tib.github.io/Trav-SHACL/
- License: GNU/GPLv3
-
Latest release: 1.9.0
published 10 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- docker/build-push-action v3 composite
- docker/login-action v2 composite
- docker/setup-buildx-action v2 composite
- docker/setup-qemu-action v2 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- python 3.9.13-slim-buster build
- prohde/virtuoso-opensource-7 7.2.6
- sdmtib/travshacl edge
- prohde/virtuoso-opensource-7 7.2.7
- pytest >=7.1.2 development
- Flask ==2.2.2
- SPARQLWrapper ==2.0.0
- SPARQLWrapper ==2.0.0
