Re: ISSUE-22: Proposal based on sh:hasShape

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