-
Notifications
You must be signed in to change notification settings - Fork 3
Circular Hop
Here we traverse from an Instance Flow defined on one Class back to the very same Class yielding a distinct Instance Flow defined on the same Class but holding references (if any) to all instances related to those in the input Instance Flow.
In the asymmetric cases there is a distinct Perspective on each side of the Association. For a Symmetric Reflexive Association there is only one Perspective. Common examples of Symmetric Reflexive Associations perspectives are: 'communicates with', 'is adjacent to', 'is paired with', 'is married to', etc. In each case there is no meaningful opposite perspective.
(Note that 'is married to' could be rephrased as 'is husband of' / 'is wife of', but now the meaning is different. The same goes when changing 'communicates with' to 'sends messages to' / 'receives messages from'. Again, the asymmetric formulation means something different.
- Number + Path + Domain
With any Circular Hop (Symmetric, Asymmetric or Ordinal) there is the possibility of repeatedly hopping until one or more instances are found that meet some condition.
For example, you might want to keep hopping through connected Waypoints to find the one that is furthest rather than the one that is nearest.
`furthest waypoint .= current waypoint/R1/is visited after~|`
Or perhaps all Waypoints up ahead:
`upcoming waypoints ..= current waypoint/R1/is visited after/`
The above examples are illustrated with Scrall syntax, but the semantic is that a circular hop additionally specifies
Type: First Last All :: [ first | last | all ]
Copyright © 2021-2023 Leon Starr