Skip to content

docs(shacl): document rule-to-SHACL-SPARQL constraint generation - #23

Open
jdsika wants to merge 1 commit into
feat/shaclgen-compositional-rule-fallbackfrom
docs/shaclgen-rule-constraints
Open

jdsika wants to merge 1 commit into
feat/shaclgen-compositional-rule-fallbackfrom
docs/shaclgen-rule-constraints

Conversation

@jdsika

@jdsika jdsika commented Jul 11, 2026 •

Copy link
Copy Markdown

Mirror of linkml#3991, same head. Review there; this PR tracks the fork stack.

Summary

This PR documents the translation of LinkML rules into SHACL-SPARQL in docs/generators/shacl.rst, which did not mention it. It also replaces the dangling "See above for implementation status" in the rules section of docs/schemas/advanced.md with links to the JSON Schema and SHACL generator pages.

The new section covers:

Corrections to the earlier version

  • Skipped rules are logged as warnings, not at DEBUG.
  • open_world is honoured.
  • Values are compared with =, not NOT IN.
  • pyshacl validates sh:sparql constraints without advanced=True.

Verification

  • The example's output comes from gen-shacl, and its documented results were checked with pyshacl.
  • make html passes with SPHINXOPTS="-W --keep-going", as in docs-test.

Documentation only.

Upstream stack: linkml#3989 → linkml#3990 → linkml#3991 (docs).
Fork stack: #19 → #20 → #23 (docs); #35 (tests) is also based on #20.

@jdsika jdsika self-assigned this Jul 11, 2026
@jdsika
jdsika force-pushed the docs/shaclgen-rule-constraints branch from ada76d6 to 5123d41 Compare September 11, 2026 12:53
@jdsika
jdsika changed the base branch from fix/shaclgen-rule-converter-audit-findings to feat/shaclgen-compositional-rule-fallback September 11, 2026 12:53
@jdsika jdsika changed the title docs(shacl): document rules-to-SHACL-SPARQL constraint generation docs(shacl): document rule-to-SHACL-SPARQL constraint generation Sep 11, 2026
@jdsika jdsika closed this Sep 11, 2026
@jdsika jdsika reopened this Sep 11, 2026
@jdsika

jdsika commented Sep 11, 2026

Copy link
Copy Markdown
Author

Mirrored upstream as linkml#3991.

@jdsika
jdsika force-pushed the feat/shaclgen-compositional-rule-fallback branch from 59544b4 to 1b1c775 Compare October 2, 2026 11:16
@jdsika
jdsika force-pushed the docs/shaclgen-rule-constraints branch from 5123d41 to 608f99c Compare October 2, 2026 11:16
@jdsika
jdsika force-pushed the feat/shaclgen-compositional-rule-fallback branch from 1b1c775 to d035e8c Compare October 2, 2026 11:22
@jdsika
jdsika force-pushed the docs/shaclgen-rule-constraints branch from 608f99c to 7197a7e Compare October 2, 2026 11:22
@jdsika
jdsika force-pushed the feat/shaclgen-compositional-rule-fallback branch from d035e8c to c89faac Compare October 6, 2026 17:47
@jdsika
jdsika force-pushed the docs/shaclgen-rule-constraints branch from 7197a7e to 442dd51 Compare October 6, 2026 18:19
The SHACL generator translates LinkML rules into sh:sparql constraints,
but its documentation did not mention them.

Describe the two named patterns and the composed translation with the
operators it supports, the semantics shared with the JSON Schema
generator (presence, every value versus has_member, value comparison,
numeric bounds), inheritance, open_world, --no-emit-rules and the skip
warnings, with an example generated by the generator.  Replace the
dangling "See above for implementation status" in the rules section of
advanced.md with links to the JSON Schema and SHACL generator pages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant