simpread
simpread copied to clipboard
功能需求:在保存科研文章时通过DOI获取文献的元数据
请描述你的建议或任何内容
当网页是研究文献时,是否可以通过 DOI 获取和添加出版年份、期刊名称、影响因子、期刊划分等
补充说明
在我使用简悦+Obsidian+Zotero进行文献阅读时存在严重的割裂,三者中只有Zotero具有文章的元数据,可以方便的进行筛选。但是简悦保存的笔记很难和Zotero里的条目进行关联,这导致我往往更倾向于保存到Zotero后在Zotero中进行阅读和记录。如果可以实现通过DOI获取文献元数据的功能,配合Obsidian的Dataview,我们可以把阅读整理的全流程聚焦在简悦和Obsidian。
PS:以上实现后还有一个小割裂,需要将有引用需求的文章保存到Zotero。初步设想,Zotero有自己的Api,可以在文章添加“引用”标签后自动通过Api和DOI将文章保存到Zotero。
PSS: 说到这,是不是可以自动将文章通过Api和DOI保存到Zotero,但不确定是否可以解决了关联问题,这个解决不掉,很难将文献阅读和标注放在简悦里。
嗨,简悦有一些关于科研类网站的专门适配解析 https://github.com/Kenshin/simpread/discussions/2103 跟这个 Feature 无关,只是提示下。
同时,简悦也有可以「变相」导入到 Zotero 的方案 https://github.com/Kenshin/simpread/discussions/5927
不过,我对你这个 Feature 还是非常感兴趣的, 同时我也知道 Zotero 有 API 可以使用但无奈因为几乎不用户 Zotero 所以完全不知道该如何入手(帮到这部份用户) 😂
比如,你提到的 DOI 是什么?
或者能否详细说下你的操作步骤(假设简悦部分符合你的工作流时)应该如何使用,越详细越好。
关于DOI,可以视为是一篇文章的ID,通过这个ID我们可以借助一些服务网站(如easyscholar,最近推出了自己的API)查阅到文章的元数据,如摘要,期刊(发表在哪,期刊的影响力在一定程度上可以说明文章的好坏),期刊的影响因子(通常越大,说明文章越值得阅读),发表日期(用来筛选近年来发表文献时十分有用),被引数(被引用多,说明文章影响力越大)
okay 我大概知道 DOI 的定义了,但... 我需要一个例子:
- 具体的 URL
- 然后告诉我哪些是 DOI,在页面的什么地方?
- 简悦获取到 DOI 后你(用户)接下来做什么?
也就是我需要一个非常真实的使用流程,这样我才能知道简悦如何做。
PS:之前也有一些 Zotero 用户,希望可以支持简悦,但完全没法说清楚 TA 希望的方式,只是很抽象的说简悦应该支持 Zotero (这样我只能 Get 到需求,但没法让这个功能「落地」)
初步的想法步骤(所有的笔记都在OB中进行管理): 浏览器检索文献->简悦阅读和标注->导出到Ob,通过DOI获取元数据,结合标签进行组织和管理(图一为OB和Zotero的连用,每个笔记内包含打开Zotero条目的链接,可以快速打开条目在Zotero中进行文献复读,图二为笔记元数据)->文献复读时(比如)在通过Dataview找到条目快捷打开关联的简悦文章进行阅读->撰写文章时给有引用需求的文章打标签后自动同步到Zotero(用于word里插入参考文献)
第二种可能(实现和Zotero的快速关联):浏览器检索文献->简悦阅读和标注->保存到Zotero进行组织和管理->文献复读时(比如)在Zotero找到条目快捷打开关联的简悦文章进行阅读,相关笔记自动同步到Ob方便写作时进行块引用
图二
- 图二对应的 URL 是哪个?
- 图二的元数据就是你需要的吗?(把你需要的元数据告诉我)
- 我得到这个 URL 后,直接在页面上就能得到图二的这些元数据吗?
- 目前图二的这些内容是通过什么得到的?
我刚刚还没写好就误点了comment URL就是文章的网页链接,通过URL获取这些元数据适配的工作恐怕十分复杂,还是DOI比较成熟
需求:期刊,年份,影响因子,摘要,这四个比较重要一些。目前通过Zotero的Better BibTex for Zotero插件导出并自动更新数据到一个json文件,Obsidian的bibnotes调用数据实现
DOI的获取,我得承认这估计也是个麻烦事。
以爱思唯尔的文章为例(如:https://www.sciencedirect.com/science/article/pii/S1293255807000842?via%3Dihub#sec3 ), 他的DOI一般在为下图红框中的 10.1016/j.solidstatesciences.2007.04.003 ,在DOI前面加上https://doi.org/ ,可以重定向到该文章页面
ACS和爱思唯尔类似 https://pubs.acs.org/doi/full/10.1021/acssuschemeng.0c08749
nature的在文章末尾,但和页面链接的末尾一致 https://www.nature.com/articles/s41598-020-66039-0
RSC的不太一样,在右侧栏里 https://pubs.rsc.org/en/content/articlelanding/2010/ce/b926144c
我想是不是可以按照这个流程实现: 保存到稍后读并进行阅读的同时,后台识别文献DOI->通过Zotero的API同步到Zotero(新建条目并添加简悦稍后读的链接,实现Zotero到简悦的连通)->等待Zotero更新元数据文件(得等一会2min?)->将元数据和Zotero的条目链接同步到简悦,实现简悦到Zotero的连通->将简悦同步到Obsidian,实现OB到简悦和Zotero的连通,好像少一个Zotero到OB,没有也行吧 通过Zotero获取文章元数据:本地Zotero通过Linter for Zotero和Ethereal Style插件更新格式化元数据,通过Better BibTex for Zotero插件更新元数据到json文件。 关于条目链接:如zotero://select/library/items/WNQ46CND,其中WNQ46CND为条目id,在导出的Json文件里有 Json文件示例: CO2催化转化.json
okay 我研究下,下午时间比较零碎,我先理解你的回复后再集中提问。
https://github.com/Kenshin/simpread/issues/6465#issuecomment-2074013889
通过这几个例子我大概明白了,你看下我说的是是否正确?
DOI 肯定会体现在网页上,只是不同的网站位置等没有规律,同时 DOI 跟 URL 也不完全一致(你的例子中只有一例是一致的)
如果是这样的话,也算是可以解决,只是不同的网站需要不同的适配。
引申下:假设将 https://www.sciencedirect.com/science/article/abs/pii/S1293255807000842 直接导入到 Zotero 后,它是会自动识别这些页面的 DOI 吗?
但仍有几个不理解的地方:
-
简悦适配了包含 DOI 的网站,你是希望在通过简悦 → Obsidian 时,包含这个网页的 DOI(简悦支持导入到 Obsidian 时设置元数据导入)
-
我之前说到了,目前简悦导入到 Zotero 还没有成熟的方案,所以我仍没有理解简悦、DOI、Zotero 这三者的关联,你是希望简悦调用 Zotero 的 API,类似简悦 → Obsidian 一样,将一些你(用户)需要的元数据导入?也就是我没太理解 https://github.com/Kenshin/simpread/issues/6465#issuecomment-2074035700 这段内容。
引申下:假设将 https://www.sciencedirect.com/science/article/abs/pii/S1293255807000842 直接导入到 Zotero 后,它是会自动识别这些页面的 DOI 吗?
对于https://www.sciencedirect.com/science/article/abs/pii/S1293255807000842, Zotero只能通过浏览器插件保存,会识别DOI以及摘要等其他元数据
- 简悦适配了包含 DOI 的网站,你是希望在通过简悦 → Obsidian 时,包含这个网页的 DOI(简悦支持导入到 Obsidian 时设置元数据导入)
DOI是基础,更重要的是通过DOI获取的能够筛选文献的其他献元数据。
- 我之前说到了,目前简悦导入到 Zotero 还没有成熟的方案,所以我仍没有理解简悦、DOI、Zotero 这三者的关联,你是希望简悦调用 Zotero 的 API,类似简悦 → Obsidian 一样,将一些你(用户)需要的元数据导入?也就是我没太理解 功能需求:在保存科研文章时通过DOI获取文献的元数据 #6465 (comment) 这段内容。
需要的是三个软件条目的互相连通,即我选择了任一软件中的某一条目,我可以快捷的打开另外两个软件中相应的条目。
最初设想的元数据导入的目的是, 通过将元数据导入到Obsidian(配合dataview插件)实现替代Zotero文献管理的效果,而Obsidian和简悦两者之间是可以联通的,这样就实现了文献阅读与标注,文献筛选与管理,笔记写作与检索三部分工作都在OB和简悦这两个可以互相联通的软件中进行。Zotero只保留了在Word中正式写文章时的文献插入功能。
但现在我想是否可以从Zotero的Api获取条目Key,通过组合“zotero://select/library/items/”+“key”的方式获得条目链接,并将其加入到简悦条目的元数据中,实现三者的互联互通,毕竟Zotero的文献管理还是更方便一些。 DOI的作用是,(首先声明我完全不懂代码,对于api也没有深入了解),通过Zotero的APi,将DOI传给Zotero服务器,Zotero可以自动识别DOI将对应的文章保存到我的Zotero库里,以上部分通过zotero服务器进行 PS. "并添加简悦稍后读的链接,实现Zotero到简悦的连通",这一部分我并不确定是否能实现,Zotero的API文档如下,功能还是很强大的,应该可以实现https://www.zotero.org/support/dev/web_api/v3/start
“将一些你(用户)需要的元数据导入”,我提出的方案是通过读取Zotero的Better BibTex for Zotero插件导出的JSON文件进行,在上一步通过DOI保存条目到Zotero的时候,我们或许可以获得Zotero里新建条目的Key,通过这个Key去匹配JSON文件里的元数据将其导入到简悦和Obsidian中,这是Obsidian的BibNotes Formatter (for Zotero)插件采用的方案。请注意,这不一定是最佳的,优势在于通过Zotero获取文献元数据已经相当成熟。
对了,元数据还有作者,这个也是比较重要的
有点晕,我懂技术,也经常使用 Obsidian,但完全不使用 Zotero(仅了解它的个别功能),所以从这个前提下,我能看懂 https://github.com/Kenshin/simpread/issues/6465#issuecomment-2074220456 说的内容,但不明白。
同样,我现在遇到的问题也是其他 Zotero 用户跟我提需求时我遇到的问题一样。
其实,简悦导入的产品很多,比如:思源笔记、Obsidian、Logseq、Notion 等等十几个不止的 App 对于我来说不可能完全需要了解每个产品,我只需要了解的是:用户希望简悦(我)做到什么,仅此而已。😂
同理,Zotero 对于我来说也是如此,比如:你最开始说需要获取 DOI,好(作为开发者来说)我要了解 DOI,然后你明确的告诉我 https://github.com/Kenshin/simpread/issues/6465#issuecomment-2074013889 是什么,对我来说很清晰,非常 OK 👍
所以,保持这个节奏,我的疑惑很简单,即我只需要了解一个真实的使用流程,如:
打开任意一个文献类的 URL → 进入阅读模式 → 在阅读模式中显示作者、DOI 等关键信息,然后我就不知道你(用户)想要什么了,所以你希望的下一步是...
- 导入到 Obsidiian?
- 导入到 Zotero?
导入时,如果是 ➊ 的话,你需要简悦什么?如果是 ➋ 的话,你需要简悦什么?仅此而已,很简单是吧~
我不需要用户是否了解 API、技术这些,我只需要知道用户明确的使用流程,因此才知道简悦缺少什么以及是否可行。
有点晕,我懂技术,也经常使用 Obsidian,但完全不使用 Zotero(仅了解它的个别功能),所以从这个前提下,我能看懂 #6465 (comment) 说的内容,但不明白。
同样,我现在遇到的问题也是其他 Zotero 用户跟我提需求时我遇到的问题一样。
其实,简悦导入的产品很多,比如:思源笔记、Obsidian、Logseq、Notion 等等十几个不止的 App 对于我来说不可能完全需要了解每个产品,我只需要了解的是:用户希望简悦(我)做到什么,仅此而已。😂
同理,Zotero 对于我来说也是如此,比如:你最开始说需要获取 DOI,好(作为开发者来说)我要了解 DOI,然后你明确的告诉我 #6465 (comment) 是什么,对我来说很清晰,非常 OK 👍
所以,保持这个节奏,我的疑惑很简单,即我只需要了解一个真实的使用流程,如:
打开任意一个文献类的 URL → 进入阅读模式 → 在阅读模式中显示作者、DOI 等关键信息,然后我就不知道你(用户)想要什么了,所以你希望的下一步是...
- 导入到 Obsidiian?
- 导入到 Zotero?
导入时,如果是 ➊ 的话,你需要简悦什么?如果是 ➋ 的话,你需要简悦什么?仅此而已,很简单是吧~
我不需要用户是否了解 API、技术这些,我只需要知道用户明确的使用流程,因此才知道简悦缺少什么以及是否可行。
首先导入到Zotero,并从Zotero获取元数据和Zotero条目链接到简悦,随后将元数据和条目链接同步到Obsidian
导入到Zotero,并从Zotero获取元数据
可能需要 Zotero API 可能有点「麻烦」,之前也是卡壳在这里。
元数据都需要哪些?
Zotero条目链接到简悦
具体如何「链接」?
需求:期刊,年份,影响因子,摘要,这四个比较重要一些。目前通过Zotero的Better BibTex for Zotero插件导出并自动更新数据到一个json文件,Obsidian的bibnotes调用数据实现 对了,元数据还有作者,这个也是比较重要的
元数据如上 链接如下
但现在我想是否可以从Zotero的Api获取条目Key,通过组合“zotero://select/library/items/”+“key”的方式获得条目链接,并将其加入到简悦条目的元数据中 同时把简悦条目的链接同步到Zotero条目的元数据中
或者简而言之
需要的是三个软件条目的互相连通,即我选择了任一软件中的某一条目,我可以快捷的打开另外两个软件中相应的条目。
元数据
我大概知道了,细节到时候会再跟你讨论。
从Zotero的Api获取条目Key,通过组合“zotero://select/library/items/”+“key”的方式获得条目链接
这个 Key 是什么?如何得到zotero://select/library/items/”+“key
你之前提到的 如zotero://select/library/items/WNQ46CND,其中WNQ46CND为条目id
所以 WNQ46CND
是 Zotero 生成的?还是某个文献(URL)特有的?类似 DOI?
我的意思是:
打开一个 URL → 进入阅读模式 → 如果简悦得到了这个 Key,理论上就应该可以通过 zotero://select/library/items/”+“key
唤启 Zotero 就能实现你的想法?
或者换个角度说,假设没有简悦,你是如何做这套流程的?你之前有写流程 👍 但对于一个完全不了解 Zotero 的人来说还是有些费力(不了解的术语太多) 😂
其实最开始的提问你已经描述的很清楚了,因为我不太了解 Zotero 用法,所以只是需要将下面这段文字用录屏的方式表达一下。(黄色标注部分),下图是个截图
关于key,即Zotero条目ID,具有唯一性
“将一些你(用户)需要的元数据导入”,我提出的方案是通过读取Zotero的Better BibTex for Zotero插件导出的JSON文件进行,在上一步通过DOI保存条目到Zotero的时候,我们或许可以获得Zotero里新建条目的Key,通过这个Key去匹配JSON文件里的元数据将其导入到简悦和Obsidian中,这是Obsidian的BibNotes Formatter (for Zotero)插件采用的方案。请注意,这不一定是最佳的,优势在于通过Zotero获取文献元数据已经相当成熟。
关于录屏,我实现不了啊,咋录屏
之前就是在Zotero内做笔记,通过Obsidian的BibNotes Formatter (for Zotero)插件将笔记导出到Obsidian,导出的笔记中自带Zotero条目链接即文献其他元数据
说一个类似的操作吧,Research Rabbit通过APi实现和Zotero的相互同步 可以实现通过API和DOI将文献添加到Zotero,同时也可以将Zotero条目的元数据同步到Research Rabbit https://github.com/Kenshin/simpread/assets/61086637/0ecacc12-f48e-4b9b-aae8-fda9ab475b3d
打开一个 URL → 进入阅读模式 → 如果简悦得到了这个 Key,理论上就应该可以通过 zotero://select/library/items/”+“key 唤启 Zotero 就能实现你的想法?
关于条目链接,这样可以从简悦打开Zotero,还差一个把简悦的条目链接同步给Zotero以实现从Zotero打开简悦
https://github.com/Kenshin/simpread/issues/6465#issuecomment-2076285172
有点意思,我研究研究 👍
https://github.com/Kenshin/simpread/issues/6465#issuecomment-2076275374
对应的就是 这个图 的效果吗?
关于录屏,我实现不了啊,咋录屏
你不是录制的很好嘛 😂
PS:你使用的是 Zotero 版本是什么?
Zotero7, 我是说我实现不了你“黄色标注部分”文字
对应的就是 这个图 的效果吗?
不太一样,他们是互相同步,但我在选中Rabbit的条目后无法一键打开对应的Zotero条目,只能在复制标题或者DOI回到Zotero中去搜索。同样,在选中Zotero的条目后,我也无法一键打开Rabbit去查看相关文献(这是Rabbit的核心功能)。对于Zotero和简悦,我期望他们在实现元数据同步的同时可以互相一键打开对应条目。
从Obsidian一键打开zotero示例,Zotero自带了导出模板,复制粘贴即可轻松获得条目和笔记链接
视频中对应的粘贴内容:“Supplementary Figure 2. Comparison of IR spectra of fresh Cu/UiO-66-a, Cu/UiO-66-b, and UiO-66 showing the decrease in intensity of OH groups (3671 cm-1) on the Zr6 nodes. The results suggest that the Cu species interact with the O” ([Zhu 等, 2020, p. 12](zotero://select/groups/2870540/items/FM8BQEW8)) ([pdf](zotero://open-pdf/groups/2870540/items/7NWGWQTS?page=12&annotation=LG8UYIY8)) 🖌️补充图 2.新鲜 Cu/UiO-66-a、Cu/UiO-66-b 和 UiO-66 的红外光谱对比图,显示 Zr6 节点上 OH 基团(3671 cm-1)的强度降低。结果表明,Cu 物种与 Zr6 节点上的 O🖌️ #test
https://github.com/Kenshin/simpread/assets/61086637/92c1f1c2-50d6-466b-b984-482ab324eca4
okay 这次很清晰 👍 留意下面我的截图问题
okay 这次很清晰 👍 留意下面我的截图问题
![]()
对, 视频中是直接复制粘贴,也可以通过Obsidian的BibNotes Formatter (for Zotero)插件自动更新
https://github.com/Kenshin/simpread/assets/61086637/dafcf9e7-1490-495d-a541-619d8484306b
对, 视频中是直接复制粘贴
我测试了复制粘贴,跟你的效果不一样,我粘贴,你是使用了某些 Zotero 插件吗?(而且明显你在粘贴的时候是带有 URL Scheme 的)
Obsidian的BibNotes Formatter (for Zotero)
这个我稍后了解下,因为视频很清晰了,所以应该没有什么特别的疑问。