Skip to content

327: SHACL-SHACL shapes for SHACL-SPARQL ASK, SELECT, and Annotations #377

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

Draft
wants to merge 10 commits into
base: gh-pages
Choose a base branch
from

Conversation

ajnelson-nist
Copy link
Contributor

@ajnelson-nist ajnelson-nist commented May 12, 2025

This is an addition to (and builds upon) PR #330 . It started as drafting SHACL-SHACL for the Annotations in SHACL-SPARQL, but some of the editorial updates suggested linking to SHACL-SHACL rules for ASK and SELECT queries, which I realized weren't written. So, this PR is slight scope creep over #327, and suggests some TODOs around finishing syntax review rules, e.g. for tying sh:prefixes, and setting up CONSTRUCT and UPDATE shapes.

I suggest either this be merged into #330 , or be handled on its own to finish catch-up with SHACL-SPARQL syntax review.

@ajnelson-nist ajnelson-nist added the SPARQL For SHACL 1.2 SPARQL extensions spec label May 12, 2025
@HolgerKnublauch
Copy link
Contributor

Thanks. I have just merged the main issue 327 branch into the main branch, so you could pull and merge it back in, and then also perhaps add the syntax rule references that you needed and other changes you proposed in the comment?

@ajnelson-nist
Copy link
Contributor Author

Reverting to draft. I found a few misalignments between the text, shacl.ttl, and Ask vs. Select validators.

@ajnelson-nist ajnelson-nist marked this pull request as draft May 12, 2025 13:09
@ajnelson-nist
Copy link
Contributor Author

@HolgerKnublauch , I wanted to check on direction before coding more: Some of the English from 330 suggested annotations go on Ask or Select Validators, but not all of the coding suggests the same. E.g., sh:resultAnnotation lists a domain of just sh:SPARQLSelectValidator.

It'd be better for sh:resultAnnotation in this case if there were a parent sh:SPARQLValidator of sh:SPARQLSelectValidator and sh:SPARQLAskValidator, but their shared parent is sh:Validator. There isn't a sh:SPARQLValidator.

So, two questions:

  • Should sh:resultAnnotation extend its domain to cover Ask Validators?
  • Should a sh:SPARQLValidator class be added?

If this matter is graduating to an Issue to follow-on 327, please note so and I'll move this comment.

@ajnelson-nist
Copy link
Contributor Author

For reference, I posted a visualization in Discussion 380.

Targeting of `shsh:SPARQLExecutableShape` derived from:

```turtle
sh:prefixes rdfs:domain sh:SPARQLExecutable .
```

Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
Signed-off-by: Alex Nelson <alexander.nelson@nist.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SPARQL For SHACL 1.2 SPARQL extensions spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants