SHACL Rules?

I have a process question. During the meeting it turned out that at 
least three WG members were interested in a SHACL extension to represent 
rules. I believe this is a low hanging fruit, similar to SPIN rules. For 
example

ex:MyShape
     a sh:Shape ;
     sh:scopeClass ex:Person ;
     shr:rule [
         sh:sparql """
             CONSTRUCT {
                 ?this ex:age ?age .
             }
             WHERE {
                 ?this ex:birthYear ?birthYear .
                 BIND (ex:currentYear() - ?birthYear AS ?age)
             } """
     ] .

SHACL already provides all key building blocks, even the concept of 
SPARQL binding and scoping.

I understand the concern that this is potentially outside of the 
charter, and that we don't want to spend precious WG resources on this. 
However, assuming that the interested parties create a separate 
deliverable on this "in their spare time", is there any format in which 
we could publish this (as a note) within the umbrella of the Shapes WG? 
The WG is also discussing Abstract Syntax and Compact Syntax documents 
that appear complementary and optional for implementers.

(To keep it simple we could in the first pass exclude any inter-rule 
dependencies, i.e. not even do fixpoint iteration. We use this a lot for 
data transformations/mapping, where a single pass is sufficient.)

Thanks,
Holger

Received on Friday, 18 December 2015 13:31:33 UTC