Re: [spec] Shape for circular reference

@labra thank you for putting that example together and sharing the book. Both are helpful. The schema you shared is recursive, circular if you will, but it doesn't distinguish between circular and non-circular relationships in the data. 

Jane's circular relationship with Spot might be graphed like this:
```
  ┌──── owns ────↴
Jane            Spot
  └──── likes ───┘
```
Bob, on the other hand, does not have a circular relationship with his dog:
```
Bob ──── owns ──── Fido ──── likes ──── Jane
```

In your schema, Person must own a Dog, and Dog must like a Person. This is true of both Jane and Bob. Indeed, the example you linked evaluated both Jane and Bob as valid. What I want to model is the circular relationship of PersonWhoOwnsADogThatLikesThisPerson. This should be valid for Jane but not Bob, because whilst Bob's dog likes a person, it's not him.

-- 
GitHub Notification of comment by yhack
Please view or discuss this issue at https://github.com/shexSpec/spec/issues/24#issuecomment-392194462 using your GitHub account

Received on Friday, 25 May 2018 21:39:45 UTC