In the Past
A many to many relationship is represented with an associative entity. Yes, I am pretty sure that experts and non-experts in IT field know that this is one of the most important topics in Entity-Relationship and Relational theory. Seven years ago, when I started my data modeling saga, I could find numerous references about how to model a join table in any kind of RDBMS or use the structure in any software application based on this technology. Few of them were about XML data. But I could hardly find any discussion about how a join table is related to the theory of two international data model standards, namely RDF and Topic Maps. A year later, in 2010 W3C started publishing information about “A Direct Mapping of Relational Data to RDF”. Coincidentally, back in 2009-2010 the NoSQL movement was born and Graph Databases started becoming a hot topic but nodes and edges were shrouded in disorientation for users of relational databases.
In the Present
It is 2016 and in my opinion the situation with associative entities has become darn confusing. Edges of a Property Graph data model are bidirectional but RDF links are unidirectional. A bridge-table of an Entity-Relationship schema has links only at the many side, i.e. we have an intersection of two one-to-many relationships. Foreign keys of a bridge table can be conveyed to RDF objects but for integrity and cardinality constrains you have to use OWL. Topic Maps use bidirectional associations with roles, therefore they are closer to the property graph data model. Each data model has a query language SQL, SPARQL, TMQL, Cypher, OrientDB SQL and GraphQL. There are significant differences among them and you have to understand the model in order to process or store efficiently data.
Epilogue
I think I made my point, but most important is the firm decision I took to clear a bit this info-glut with a series of articles in associative data modeling written with a hands-on practice style:
- Part one is about Entity-Relationship data model
- Part two discusses Topic-Map data model
- Part three is focusing on Property Graph data model
and the fourth one will be on RDF, the fifth one will be on …
Cross-References
- LinkedIn Semantic Web Group
- LinkedIn Graph Databases Group
- LinkedIn Data Scientists Group
- LinkedIn Data Warehouse & Business Intelligence Architects Group
- LinkedIn Database & Data Store Professionals Group
- LinkedIn Semantic Web Research Group
- LinkedIn Database Experts Group