Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ShaclSail should not split shapes by their targets #3584

Open
hmottestad opened this issue Jan 8, 2022 · 1 comment
Open

ShaclSail should not split shapes by their targets #3584

hmottestad opened this issue Jan 8, 2022 · 1 comment
Assignees
Labels
🐞 bug issue is a bug 📦 SHACL affects the SHACL validator
Milestone

Comments

@hmottestad
Copy link
Contributor

Current Behavior

We split shapes by both target and constraint component. We should only split per constraint component because the specification says that we should consider the set of all nodes that match the targets of a shape.

We should also double check what happens if we have multiple target class declarations where a node matches more than one. Do we then produce more than one validation result for that node?

Even though the specification says that we should consider the set of nodes, we can instead consider the bag of nodes and then dedupe validation results instead. However, this might not work correctly for things like sh:or and sh:not. Worth investigating.

Expected Behavior

Steps To Reproduce

No response

Version

all

Are you interested in contributing a solution yourself?

Yes

Anything else?

No response

@hmottestad hmottestad added the 🐞 bug issue is a bug label Jan 8, 2022
@hmottestad hmottestad self-assigned this Jan 8, 2022
@hmottestad hmottestad added this to the 4.0.0 milestone Jan 8, 2022
@hmottestad hmottestad added the 📦 SHACL affects the SHACL validator label Jan 8, 2022
@VladimirAlexiev
Copy link

Related to w3c/data-shapes#143 that gives example of the same node selected multiple times as target of the same shape

So it's a tradeoff (pro: distinct union of targets; cons: split targets and process independently):

  • cons: parallelizing shape checking speeds up checking
  • cons: deduplicating a large set of targets may be expensive
  • pro: working on potentially duplicate targets leads to more work

@hmottestad hmottestad modified the milestones: 4.0.0, 4.1.0 Apr 22, 2022
@hmottestad hmottestad added M1 Fixed in milestone 1 and removed M1 Fixed in milestone 1 labels Jul 2, 2022
@hmottestad hmottestad modified the milestones: 4.1.0, 4.2.0 Jul 31, 2022
@hmottestad hmottestad modified the milestones: 4.2.0, 4.3.0 Sep 16, 2022
@github-project-automation github-project-automation bot moved this to 📋 Backlog in RDF4J Planning Jan 3, 2023
@hmottestad hmottestad modified the milestones: 4.3.0, 5.0.0 May 19, 2023
@hmottestad hmottestad modified the milestones: 5.0.0, 5.1.0 Jun 20, 2024
@hmottestad hmottestad modified the milestones: 5.1.0, 5.2.0 Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug issue is a bug 📦 SHACL affects the SHACL validator
Projects
None yet
Development

No branches or pull requests

2 participants