Special Functions

Identity

[[identity]] 

For every note a, a -> [[identity]] -> a

Every query has -> [[Identity]] appended to it. This way if A supports B, and B is identical to C, then [[A]] -> [[Supports]] -> will return B and C. Even if A has no explicitly defined relationship with C.

Inverse

[[inverse]] 

if x and y are inverses, (a -> x -> b) -> [[identity]] -> (b -> y -> a)

So how would we query including an inverse?

So if

[[A]] -> [[Supports]] -> [[B]]
[[C]] -> [[Supported By]] -> [[A]]
[[Supports]] -> [[inverse]] -> [[Supported By]]

then

[[A]] -> [[Supports]] ->

==

[[A]] -> [[Supports]] -> [[identity]] ->

not sure yet how to make inverses “just work” using the existing [[identity]] and the simple inverse definition above…