Closed bendichter closed 1 month ago
The linked doc describes the concessions of ORMs and then discusses DJ's approach to these issues
DataJoint remains absolutely data-centric, with the primary focus on the structure and integrity of the data pipeline. Other ORMs are more application-centric, primarily focusing on the application design while the database plays a secondary role supporting the application with object persistence and sharing.
I read the answer to the question 'is it an ORM?' as 'yes, but', especially given the use of the phrase 'Other ORMs'
Hmm, I took the "In contrast" to imply that DJ is not an ORM, though I see your point. I think this answer is a bit ambiguous. Though IMO DJ is not an ORM because it does not map to an object structure.
I see what you mean. I wanted to provide the concept of an ORM for first-time users in this doc, go give them a sense of where the data lived and how Spyglass would be the interface.
I suppose there's some ambiguity in saying it is an 'ORM tool' rather than claiming it is an ORM. Is there other language you'd suggest?
I would suggest that 99% of people reading this in the docs don't know or care what an ORM is, so I would be okay with removing the terminology (regardless if it is correct or not).
The docs say that DJ is an ORM
https://github.com/LorenFrankLab/spyglass/blob/e8511a52fe07cbc7ee2549ea3face3071ff7acd7/notebooks/py_scripts/01_Concepts.py#L33
But DJ docs disagree: https://datajoint.com/docs/core/datajoint-python/0.14/faq/#is-datajoint-an-orm