Kurt Cagle <kurt.cagle@gmail.com>: <<#marriage1 | :liz :marries :richard>> a :Event; :bride :liz ; :groom :richard ; :startYear 1964 ; :endYear 1975 ; . This works in the case where Liz later marries Bob: <<#marriage2 | :liz :marries :robert>> a :Event; :bride :liz ; :groom :robert ; :startYear 1977 ; :endYear 1981 ; . But gets into trouble when Liz and Richard decide to remarry: <<#marriage3 | :liz :marries :richard>> a :Event; :bride :liz ; :groom :richard ; :startYear 1985 ; . This is actually an error that arises in LPGs, because they have no way of differentiating #marriage1 from #marriage3. It's not true. Most PG definitions or implementations allow you to create two edges with the same label and different properties. Best, Dominik