`morelse`
(guard (r == getRootLibrary ()) >> return (AbsoluteUri "http:/"))
`morelse`
- (mdo
+ (edo
(p,rel) <- getPrimaryFunctionalReference r
path <- loop p
relName <- possibleNameOf rel
return $ simplifyResourceIdHead $ PropertyOf path relName
)
`morelse`
- (mdo
+ (edo
p <- possibleObject r L0.PartOf
path <- loop p
name <- possibleNameOf r
return $ simplifyResourceIdHead $ NamedChildOf path name
)
`morelse`
- (mdo
+ (edo
(p,rel) <- getSecondaryFunctionalReference r
path <- loop p
relName <- possibleNameOf rel