Thanks for your clear explanations and corrected pointer to the sample notation. You’ve hit on all the capabilities of TypeDB schemas that make ER inadequate for TypeDB modeling; I was at least vaguely aware of all of these, but you have stated them with clarity.
This takes me back to my original problem - how to approach TypeDB conceptual design. As a long-time UML devotee I tend to approach design pictorially. I suspect that the TypeDB Schema Designer, if it were available, would allow for visually modeling all of the elements of a TypeDB schema (I guess that’s a true-or-false question). My understanding is that the schema designer is not available in the current version of TypeDB. When will the schema designer be available?
In the absence of the Vaticle schema designer, I’m toying with an idea and would appreciate your comments. The elements of a TypeDB schema could be modeled in UML (in a custom profile) as stereotyped classes and, for roles, as stereotyped UML relationships. I could then use my favorite UML graphical tool, Sparx Systems’ Enterprise Architect, as a TypeDB design platform. Although it certainly wouldn’t be trivial, this could be extended with an MDA facility to generate TypeQL schema definitions from the UML model, and potentially even reverse engineer TypeQL back to a UML model (the main complication there is parsing). Am I crazy?
BTW, another design possibility might be to use ORM for initial TypeDB schema modeling. ORM appears to have all the model elements necessary to capture a TypeDB schema. But tool support is weak - the only option seems to be the NORMA tool running under Microsoft’s Visual Studio. NORMA used to be proprietary, but then was released as open-source.
Thanks again for your valuable guidance.