我是加州大学旧金山分校 Loren Frank 实验室的研究员。在依赖于两个上游表的计算数据联合表上调用填充时,这些表的条目具有相同的共享主属性值但不同的共享辅助属性值(“analysis_file_name”),我收到以下错误:
~/anaconda3/envs/nwb_datajoint/lib/python3.8/site-packages/datajoint/condition.py in assert_join_compatibility(expr1, expr2)
63 if not isinstance(expr1, U) and not isinstance(expr2, U): # dj.U is always compatible
64 try:
---> 65 raise DataJointError(
66 "Cannot join query expressions on dependent attribute `%s`" % next(
67 r for r in set(expr1.heading.secondary_attributes).intersection(
DataJointError: Cannot join query expressions on dependent attribute `analysis_file_name`
为了弄清楚为什么会出现这种情况,我们实验室目前有一个工作流,其中所有将数据存储在 nwb 文件中的 datajoint 表都具有辅助属性“analysis_file_name”,其中包含存储数据的分析文件的名称。因此,跨两个表的条目可以共享主要属性的值,但次要属性“analysis_file_name”的值不同。上述错误似乎在“连接”两个这样的表时出现,例如在依赖于这些表的第三个表的自动填充期间。来自 datajoint 的人能否澄清是否加入两个表(例如,在依赖于这些表的第三个表的自动填充期间),必须是在共享主属性处具有相同值的条目也在共享的次要属性上具有相同的值?感谢您对此的任何澄清。