- From: Arthur Ryman <arthur.ryman@gmail.com>
- Date: Thu, 25 Jun 2015 13:55:47 -0400
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
Holger, You asked: > From your description above this sounds similar to what Arnaud suggested > earlier: if a node/shape combination is visited twice, then just assume OK > and continue? This would be a trivial change, if it does indeed produce the > correct answers. This produces the correct answer for OSLC recursion (no disjunction or negation). You need to divide the validation of shape s at node x into two steps: 1. Evaluate the local constraints at the node. Local constraints are the constraints that do not involve asserting that other shapes are satisfied at neighbouring nodes. If any local constraint fails, then the graph is invalid. Otherwise, all the local constraints succeed so mark (x,s) as visited and proceed to step 2. 2. Check each constraint that asserts that some shape r must hold on a neighbouring node y. If (y,r) has already been visited, do nothing. Otherwise add (y,r) to the list of node-shapes to be visited. Repeat these steps until the validation fails or there are no more pairs (y,r) to be visited. -- Arthur
Received on Thursday, 25 June 2015 17:56:15 UTC