Daco Harkes, Eelco Visser. Unifying and Generalizing Relations in Role-Based Data Modeling and Navigation. In Benoît Combemale, David J. Pearce, Olivier Barais, Jurgen J. Vinju, editors, Software Language Engineering - 7th International Conference, SLE 2014, Västerås, Sweden, September 15-16, 2014. Proceedings. Volume 8706 of Lecture Notes in Computer Science, pages 241-260, Springer, 2014. [doi]
Object-oriented programming languages support concise navigation of relations represented by references. However, relations are not first-class citizens and bidirectional navigation is not supported. The relational paradigm provides first-class relations, but with bidirectional navigation through verbose queries. We present a systematic analysis of approaches to modeling and navigating relations. By unifying and generalizing the features of these approaches, we developed the design of a data modeling language that features first-class relations, n-ary relations, native multiplicities, bidirectional relations and concise navigation.