Further Response to Eric's Comment on ISSUE-49

Today Eric said that sometimes one wants to use a shapes graph to
define a typing on the nodes of a data graph. We have not defined this
operation in the WG, but I realize that this is a ShEx use case.

When defining a typing, one wants to know which shapes are satisfied
by which nodes. This means that conceptually we evaluate every shape
on every node. Therefore, in this use case scopes play no role and
would be ignored by a processor.

Since scopes are ignored, I believe that my proposed use of filters
still has some benefit since it provides easier-to-understand shapes.

Logically, if a shape has a filter F and constraints C then the result
of evaluating the shape on a node is equal to the boolean expression
IF F THEN C.

However, SHACL already has AND, OR, and NOT which are enough to define
any boolean combination.

IF F THEN C == (NOT F) OR C

Therefore the proposed use of filters does not increase the expressive
power of SHACL but does provide some clarity about the intension.

-- Arthur

Received on Thursday, 7 January 2016 22:14:47 UTC