#1113: Moved SHACL-SPARQL Rules section into its own shacl12-inference-rules document - #1186
#1113: Moved SHACL-SPARQL Rules section into its own shacl12-inference-rules document#1186HolgerKnublauch wants to merge 20 commits into
Conversation
|
I wonder if Sections 11 - SPARQL Rules & 12 - Triple Rules can be collapsed down into subsections within a Section 11 - Rule Types? This will better match with Section 2's examples of Rule Types. I don't have a comment on the changes needed for publication yet. |
There are arguments in both directions. I see Triple Rules as sufficiently distinct from SPARQL rules to go into their own top-level section. But I don't mind either way. If anyone else supports this change, I'll do it. |
Oh yes, I recognise they are entirely distinct but by putting the SPARQL & Triple rule types in a Rule Types section, their distinction is preserved but it just emphasises their being part of an (open ended) set of potential rule types. |
Ok I have moved them into a shared section "Built-in Rule Types" now. This had the added benefit of forcing me to think about compliance. I have added a sentence that engines must report a failure when they encounter unknown rule types. I hope this allows us to proceed for this first version. |
|
This would be a good time to rename shacl12-sparql as "SHACL SPARQL-based extensions" |
|
This does not close #1113. There is no decision on whether there is a separate top rules doc. |
Co-authored-by: Andy Seaborne <andy@apache.org>
Right, that topic was a spin-off from the #1113 thread so I have moved it to its own ticket #1196. It shouldn't hold off moving SHACL rules into its own document. |
|
This PR makes some unrelated changes SHACL SPARQL(-based) Extensions. |
mgberg
left a comment
There was a problem hiding this comment.
Looks good to me, although I'm not 100% sure what Andy's last comment is referring to.
e.g. sh:sparqlExpr around L1674 is a name change. shacl-node-expr has a spelling correction. |
Yes intentional, some of these were detected with Claude and are IMHO bug fixes and non-substantial changes. If you can live with those, it would be great if you could remove the Request Changes tag. |
I indeed completely missed that comment. yes please! thanks a lot |
| <dd>defines the Core of SHACL</dd> | ||
| <dt><a href="https://www.w3.org/TR/shacl12-sparql/">SHACL 1.2 SPARQL Extensions</a></dt> | ||
| <dd>defines SPARQL-related extensions of SHACL</dd> | ||
| <dt><a href="https://www.w3.org/TR/shacl12-inference-rules/">SHACL 1.2 Inference Rules</a></dt> |
There was a problem hiding this comment.
we also should add an additional entry to local-biblio.js ->
e.g.
"shacl12-inference-rules": {
title: "SHACL 1.2 Inference Rules",
href: "https://www.w3.org/TR/shacl12-inference-rules/",
status: "ED", publisher: "W3C"
},| <p class="note"> | ||
| Since <a>global</a> SPARQL rules do not use <a>pre-binding</a>, the syntax limitations | ||
| required by <a>pre-binding</a> do not apply to them. | ||
| </p> |
There was a problem hiding this comment.
what those syntax limitations are exactly isn't mentioned/explained in this (new) document any longer, right?
and fwiw, shacl12-sparql/index.html:2008 only "binds" SHACL-SPARQL processors while this document defines a new class -> SHACL inference rule processors
=> As such, nothing normatively requires an inference-rule processor to reject a sh:construct containing e.g. MINUS or BIND(… AS ?this) right?
| <p> | ||
| Note that not all implementations are required to implement both of these types for conformance. | ||
| However, a <a>rules engine</a> MUST report a <a>failure</a> is it encounters a rule for which it does | ||
| not implement any <a>rule type</a>. | ||
| </p> |
There was a problem hiding this comment.
this is a duplicate of the normative statement in https://github.com/w3c/data-shapes/pull/1186/changes#diff-cefab4ec6768a5dec43f0c6625a251a899bb7aca4c350010cab57295aa4852c4R1164-R1166 but with a MUST.
suggestion: cross reference back ->
| <p> | |
| Note that not all implementations are required to implement both of these types for conformance. | |
| However, a <a>rules engine</a> MUST report a <a>failure</a> is it encounters a rule for which it does | |
| not implement any <a>rule type</a>. | |
| </p> | |
| <p> | |
| Note that not all implementations are required to implement both of these types for conformance. | |
| A <a>rules engine</a> that encounters a rule for which it does not implement any | |
| <a>rule type</a> reports a <a>failure</a>, as defined in <a href="#rules-execution"></a>. | |
| </p> |
| <p> | ||
| SHACL defines the property <code>sh:entailment</code> | ||
| to link a <a>shapes graph</a> with <em>entailment regimes</em>. | ||
| The <a>IRI</a> <code>sh:Rules</code> represents the <dfn>SHACL rules entailment regime</dfn>. |
There was a problem hiding this comment.
sh:Rules is not defined in https://github.com/w3c/data-shapes/blob/gh-pages/shacl12-vocabularies/shacl.ttl#L1923-L1930 -> this only defines sh:Rule
Co-authored-by: simon <simon.steyskal@siemens.com>
Co-authored-by: simon <simon.steyskal@siemens.com>
Co-authored-by: simon <simon.steyskal@siemens.com>
Co-authored-by: simon <simon.steyskal@siemens.com>
Co-authored-by: simon <simon.steyskal@siemens.com>
Co-authored-by: simon <simon.steyskal@siemens.com>
Closes #1113
See the new Inference Rules document rendered online here
See the new remaining SPARQL document rendered online here
I basically moved the Rules section without changing semantics. A few editorial improvements were made on this opportunity.
There is a broken reference to shacl12-inference-rules from the SPARQL document right now, which I hope will disappear once the new document has been published.
@nicholascar @caribouW3 do I need to change anything so that the new document can be published?
@simonstey you were one of the editors of the SHACL-AF document and I believe you deserve either to be included as one of the authors of Inference Rules, or be mentioned as former editor. Please let me know your preference. Happy to add you as author if you can still identify with the content :)