ls-01: 引文文件管理 —— 格式转换器全功能测试
任务信息
- 模块:literature-discovery
- 领域:跨领域(引文管理)
- 深度:L3
- 判定:PASS
输入标本
| 类型 | 标识符 | 来源 | 目标格式 | 结果 |
|---|---|---|---|---|
| PMID | 28344011 | PubMed | nbib | PASS(12,205 B 合法 MEDLINE) |
| PMID | 28344011 | PubMed | ris | PASS(1,650 B 合法 RIS) |
| DOI | 10.1038/nature14539 | CrossRef | bib | PASS(272 B 合法 BibTeX) |
| arXiv ID | 1706.03762 | arXiv | ris | PASS(870 B 合法 RIS) |
| 批量文件 | batch-test.txt | 混合(PMID+DOI+arXiv) | ris | PASS(3/3) |
| PubMed 查询 | electrocatalytic ammonia oxidation | PubMed 搜索 | ris | PASS(PMID 42259614) |
自检输出
- '"' + @" FORMAT CONVERTER SELF-TEST
[OK] Module imports Testing PubMed (PMID 28344011)... [OK] PubMed endpoint (RIS: 1596B, BibTeX: 3449B, ENW: 1357B) Testing CrossRef (DOI 10.1038/nature14539)... [OK] CrossRef endpoint (RIS: 274B, BibTeX: 262B, ENW: 195B)
Self-test complete. " + '"' + @"
实际输出
PubMed PMID → nbib (MEDLINE)
'"' + @" Output directory: .../refs Format: nbib
Processing: 28344011 Downloading PMID: 28344011 Title: The epidemiology, pathogenesis, transmission, diagnosis, and management of Saved: pubmed-28344011.nbib (format: nbib)
SUMMARY Success: 1 Failed: 0 " + '"' + @"
PubMed PMID → RIS
- '"' + @" Processed: 28344011 -> pubmed-28344011.ris (1650 bytes) Success: 1, Failed: 0 " + '"' + @"
CrossRef DOI → BibTeX
- '"' + @" Processed: 10.1038/nature14539 -> crossref-10_1038_nature14539.bib (272 bytes) @article{lecun2015, author = { LeCun, Yann and Bengio, Yoshua and Hinton, Geoffrey }, title = {{Deep learning}}, journal = {Nature}, year = {2015}, volume = {521}, number = {7553}, pages = {436--444}, doi = {10.1038/nature14539}, } " + '"' + @"
arXiv ID → RIS
- '"' + @" Processed: 1706.03762 -> arxiv-1706.03762.ris (870 bytes) Success: 1, Failed: 0 " + '"' + @"
批量模式(3 条目 → RIS)
- '"' + @" [Line 1] PMID:28344011 -> pubmed-28344011.ris [Line 2] DOI:10.1038/nature14539 -> crossref-10_1038_nature14539.ris [Line 3] ARXIV:1706.03762 -> arxiv-1706.03762.ris SUMMARY: Success: 3, Failed: 0 " + '"' + @"
PubMed 搜索查询 → RIS
- '"' + @" Query: electrocatalytic ammonia oxidation AND catalyst[Title/Abstract] Found PMID: 42259614 Title: Modulating Ni-O-V Bridges in NiV-Layered Double Hydroxides... Saved: pubmed-42259614.ris Success: 1, Failed: 0 " + '"' + @"
生成文件摘要
| 文件 | 大小 | 来源 | 状态 |
|---|---|---|---|
| pubmed-28344011.nbib | 12,205 B | PubMed PMID | 合法 MEDLINE |
| pubmed-28344011.ris | 1,650 B | PubMed PMID | 合法 RIS |
| crossref-10_1038_nature14539.bib | 272 B | CrossRef DOI | 合法 BibTeX |
| arxiv-1706.03762.ris | 870 B | arXiv | 合法 RIS |
| pubmed-42259614.ris | ~1.0 KB | PubMed 查询 | 合法 RIS |
| 批量输出:3 个文件 | 混合 | PMID+DOI+arXiv | 全部合法 |
总计:7/7 操作全部成功。
执行环境
- 脚本:scripts/format-converter.py
- Python:3.13.9(Anaconda)
- 耗时:约 20 秒(7 个命令合计)
- 错误:1(PowerShell BOM 编码问题,用 Python 重写输入文件后修复)
- 重试:1(批量文件编码)
评估者备注
format-converter.py 是扎实的工程实现。自检模式验证连通性和转换管线,批量模式支持混合来源处理,搜索查询模式集成 PubMed ESearch + EFetch。3 种输出格式(nbib/ris/bib)× 3 个数据源(PubMed/CrossRef/arXiv)的覆盖矩阵设计成熟。脚本在请求间延迟 0.5 秒(符合 NCBI 速率限制要求),但不支持 NCBI_API_KEY 以提升吞吐量(非阻断性问题)。