Enhancement
Consider associations with more than two roles
Issue description
Currently all associations in Topincs have exactly two roles. Topic Maps allows for any number of roles which the very early Topincs editor also was designed for.
Use cases
A good example is invoicing. Any invoice has exactly one sender, exactly one receiver. It therefore could be modeled with a single association type with three role types receipt, sender, receiver. Currently this is done with two assocaition types, one connecting the receiver, one the sender. The items necessary in the current case is 2 associactions and 4 roles, 6 in total. In the new approach it would be 1 association and 3 roles, 4 in total. Hmm. In large systems this would make quite a difference.
At a first glance, the API and the dobject layer should have no problem with that but dobject building would need to change since it assumes two roles.
Lists or vectors could be considered associations between n topics where the roles types are the ordinal numbers. But then "it" becomes only referrable after reification. Or you pull it out immediately and add another role type list. This could actually work. Add a new abstract topic type to Topincs in the likes of Topincs file, which in this case has a different built in infrastructure, e.g. the dobject needs an array holding the ids of the vector elements (their respective ids. Not sure what the difference or improvement would be to the already existing ocurrence datatype %topic-reference-list%.
The main difference to %topic-reference-list% would be that it is an association, which means that on every topic page of a list items it would be clear that it is part of that list and at which position it resides. This is currently not the case with %topic-reference-list%.
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.