LorenFrankLab / spyglass

Neuroscience data analysis framework for reproducible research built by Loren Frank Lab at UCSF
https://lorenfranklab.github.io/spyglass/
MIT License
94 stars 43 forks source link

Docs: ORM? #1139

Closed bendichter closed 1 month ago

bendichter commented 1 month ago

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

CBroz1 commented 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'

bendichter commented 1 month ago

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.

CBroz1 commented 1 month ago

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?

edeno commented 1 month ago

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).