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

Unlinking Core from SPARQL #235

Open
bergos opened this issue Feb 9, 2025 · 3 comments
Open

Unlinking Core from SPARQL #235

bergos opened this issue Feb 9, 2025 · 3 comments
Labels
Core For SHACL 1.2 Core spec

Comments

@bergos
Copy link
Contributor

bergos commented Feb 9, 2025

In the ticket about sh:pattern, the topic about making the core specification "SPARQL-free" showed up. I think we need to clarify that point.

My understanding was that SPARQL-based constraints or SPARQL-based Node Expression should all go to the SPARQL Extensions specification. I didn't expect that we would get rid of references in the definitions. We should keep them and continue using them to avoid redundancy and diverge.

@VladimirAlexiev
Copy link

  • I am in favor of removing SPARQL from the Core spec, as a "reference implementation", or even in examples.
    The reason is that SPARQL does not facilitate efficient SHACL implementation since from the point of view of the implementor, it's not declarative.
    As confirmed by @HolgerKnublauch, Node Expressions are more declarative (though SPARQLy things like sh:limit, sh:offset really push the limit on "declarativeness").
  • SHACL's Own Profiles #216 discusses that instead of Core vs AF, we need more granular SHACL profiles, eg
    Standard 1.0, with Node Expressions, with SPARQL, ...

@afs
Copy link
Contributor

afs commented Feb 13, 2025

Somewhere, there should be the SPARQL for every core constraint (non-normative).
I don't mind which document that goes in.

@HolgerKnublauch
Copy link
Contributor

I think we should avoid unnecessary work and duplicate content. When we currently reference SPARQL and doing so avoids redundancies then I would continue to reference SPARQL from Core. We also reference RDF, for example.

@VladimirAlexiev even when it's not declarative, the spec benefits from reusing terminology and definitions from SPARQL. We cannot replace our use of SPARQL with node expressions because that would bootstrap SHACL with itself.

My vote here is to keep things as they are and continue to reference SPARQL.

@HolgerKnublauch HolgerKnublauch added the Core For SHACL 1.2 Core spec label Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core For SHACL 1.2 Core spec
Projects
None yet
Development

No branches or pull requests

4 participants