ApplicationNote
biblioteka/entity/application_note.json附加到任何实体的自由格式注释,用于提供背景信息、评注或附加信息。
附加到任何实体的自由格式注释,用于提供背景信息、评注或附加信息。
与一个或多个人物相关联的作者身份,用于归属文学作品。
文学作品的特定出版版本,由出版商、年份和格式标识。通常通过 contains_work 链接到文学作品,通过 authored_by 链接到作者,通过 published_by 链接到出版商。实体副本作为 book_exemplar 实体通过 exemplar_of 进行跟踪。
书籍版本的实体副本,代表个人图书馆中的一件物品。通过 exemplar_of 链接到其书籍版本。图像(封面、页面)通过 has_image 附加。存储位置通过 located_in 跟踪。多个 exemplar_of 关联表示合订本(多本书装订在一起)。
以共同品牌或印记出版的开放式主题丛书(如企鹅经典、ЖЗЛ)。书籍通过 part_of_series 链接,可附带 seriesNumber。一本书可以属于多个丛书。出版商通过 published_by 链接。
将多本书籍归入编号合集的固定卷数出版套装(如全集、多卷版)。各卷为通过 volume_of 及 volumeNumber 链接的 book 实体。出版商通过 published_by 链接。
个人收藏中的实体短暂物品,如明信片、贺卡、书签、报纸剪报、信件或照片。代表实物级收藏对象。图像通过 has_image 附加。存储位置通过 located_in 跟踪。
独立于任何特定版本或译文的抽象创意作品。出版版本作为 book 实体通过 contains_work 进行跟踪。作者身份通过 authored_by 链接到 persona 进行记录。
负责书籍实体生产的印刷厂。
负责出版书籍版本的出版社或品牌。书籍、书籍套装和丛书通过 published_by 链接到出版商。
归属于人物或从文学作品中提取的著名引用。归属关系通过 attributed_to 记录。来源通过 taken_from 或 contains_quote 跟踪。
文学作品翻译成另一种语言的版本。通过 originalWorkId 字段链接到原始作品。译者通过 translated_by 链接。可通过 contains_work 包含在书籍中。
将文学作品(左侧:信件或公开致辞)与其所送达的人员或组织(右侧:人物、作者、组织或出版商)相关联。
将引用(左侧)与其推定的作者或发言人(右侧:人物或作者)相关联。
将创意作品(左侧:书籍或文学作品)与撰写它的人物(右侧:作者)相关联。
将书籍版本(左侧)与为其绘制插图的人物(右侧:插图画家)相关联。
将作品(左侧:书籍、文学作品或译文)与提供评注、序言或注释的人物(右侧:评注者)相关联。
将作品(左侧:书籍、文学作品或译文)与用作题词的引用(右侧:引用)相关联。
将作品(左侧:书籍、文学作品或译文)与其文本中引用的引用(右侧:引用)相关联。
将书籍版本或套书(左侧)与其所包含的文学作品(右侧:文学作品或译文)相关联。
将文学作品(左侧:文学作品或译文)与持有其版权的实体(右侧:出版商、人物或作者)相关联。
将创作作品(左侧:book 或 literary work)与题献者(右侧:persona 或 author)关联。
将创意作品(左侧:书籍或文学作品)与其所献给的实体(右侧:人物、作者或文学作品)相关联。
题献事件:甲方将文学作品献给乙方。第一个子关联 (dedicated_by) 将作品与题献者关联;第二个 (dedicated_to) 将同一作品与受献者关联。
dedicated_by: literary_work → persona, authordedicated_to: literary_work → persona, author将作品(左侧:书籍、文学作品或译文)与负责其视觉风格的设计师或艺术家(右侧:人物或作者)相关联。
将作品(左侧:书籍、文学作品或译文)与负责其版本的编辑(右侧:人物或作者)相关联。
将实体书(左侧:书籍样本)与其书籍版本(右侧:书籍)相关联。
将文学作品(左侧:文学作品或译文)与其首次出现的书籍(右侧:书籍)相关联。
将一件临时印刷品(左侧:临时印刷品实物)与在获取时发现其夹在其中的实体书(右侧:书籍实物)相关联。比一般的存储或交易关系更为具体。
将人物(左侧:人物或作者)与其所创立的组织(右侧:出版商、印刷商或公司)相关联。
赠予事件:甲方将物品赠送给乙方。第一个子关联 (gifted_by) 将物品与赠送者关联;第二个 (gifted_to) 将同一物品与受赠者关联。
gifted_by: book_exemplar → persona, authorgifted_to: book_exemplar → persona, author将一本实体书副本(左侧:book_exemplar)与赠送该书的人(右侧:persona 或 author)关联。
将一本实体书副本(左侧:book_exemplar)与作为礼物收到该书的人(右侧:persona 或 author)关联。
将任何实体(左侧)与包含额外元数据或注释的应用说明(右侧:应用说明)相关联。
将出版商品牌(左侧:出版商)与其母出版商(右侧:出版商)相关联。表示出版商之间的层级关系。
将一本实体书副本(左侧:book_exemplar)与在其上题词、签名或留下标记的人(右侧:persona 或 author)关联。涵盖签名、赠书题词、藏书票以及印章。
将留下题词的人(左侧:persona 或 author)与展示该题词的照片(右侧:image)关联。允许同一张图像在不冲突的情况下参与其他关联(例如以 title_page 角色出现在 has_image 中)。
将文学作品(左侧:作为文学作品的采访)与进行采访的人物(右侧:采访者或作者)相关联。
将作品(左侧:文学作品、电影作品或软件)与其中提及或引用的任何实体相关联(右侧:任意实体类型,包括人物、其他作品、组织、地点、聚落等)。
将一本书或一套书(左侧:版本或多卷套书)与其所属的主题丛书(右侧:book series)关联,可选地包含丛书编号。
将书籍版本(左侧:书籍)与负责其实体生产的印刷商(右侧:印刷商)相关联。
将书籍版本或书籍套装(左侧:书籍或书籍套装)与负责其出版的出版商(右侧:出版商)相关联。
将出版作品(左侧:书籍或书集)与其出版所在的定居点或地点(右侧:定居点或地点)相关联。
将某图书版本(左侧)与其重印或衍生自的较早图书版本(右侧)关联。涵盖重印本、后续版本及其他衍生版本。
将文学作品(左侧:续集)与其续接的文学作品(右侧:前作)相关联。表示系列顺序。
将引用(左侧)与其摘录自的文学作品(右侧:文学作品或译文)相关联。
将创意作品(左侧:文学作品或译文)与故事发生的地理位置(右侧:定居点或地点)相关联。
将作品(左侧:书籍、文学作品或译文)与负责其翻译的译者(右侧:人物或作者)相关联。
将翻译文学作品(左侧:翻译文学作品)与其翻译来源的原始文学作品(右侧:文学作品)相关联。
将一本书(左侧:单卷)与其所属的多卷套书(右侧:book set)关联,并标明其卷号。
商业或工业企业。
将两个实体在竞争或比赛中相关联(左右两侧可互换:人物、软件、公司或组织)。示例包括国际象棋比赛、商业竞争或体育竞技。
将公司(左侧)与其总部所在的定居点或地点(右侧:定居点或地点)相关联。
将公司(左侧)与其在法律上注册或登记的州或司法管辖区(右侧:州)相关联。
非定居点的命名地理位置。
有人居住的地方,例如城市、小镇或村庄。
将实体(左侧:地点、定居点、组织、书籍样本、临时印刷品样本或存储位置)与其所在的位置(右侧:定居点、州/省或存储位置)相关联。
存放书籍实体的物理位置,支持层级嵌套(书架、书柜、房间、公寓)。书籍实体通过 located_in 链接。层级关系通过存储位置之间的 located_in 构建(可传递)。可通过 located_in 连接到 settlement 以桥接地理层级。
代表具有描述性元数据的二进制图像文件的图像实体。
将任何实体(左侧)与与其关联的图像(右侧:图像)相关联,并指定图像的用途(例如封面、肖像)。
记录用户的明确偏好,将一张图像(右侧:图像)指定为任何实体(左侧)的主要视觉表示。每个实体最多允许一个 primary_image 关联。这是用户选择的显示偏好,而非实体或图像本身的固有属性。被引用的图像还必须与同一实体具有 has_image 关联。
具有传记属性的有史料记载、存在争议、源于传统或虚构的人物。通常作为作者通过 authored_by、译者通过 translated_by 或编辑通过 edited_by 链接。出生和死亡地点通过 born_in_settlement/born_in_state 和 died_in_settlement/died_in_state 记录。
将人物(左侧)与其出生的定居点或城市(右侧:定居点)相关联。
将人物(左侧)与其出生的州或国家(右侧:州)相关联。
将两个共同创作作品的人物相关联(左右两侧可互换:人物)。
将人物(左侧)与其去世的定居点或城市(右侧:定居点)相关联。
将人物(左侧)与其去世的州或国家(右侧:州)相关联。
将两个人物在友谊中相关联(左右两侧可互换:人物)。
将人物(左侧)与授予其称号、学位或荣誉的组织或州(右侧:组织或州)相关联。
将采访者(左侧)与被采访的受访者(右侧:人物)相关联。
将人物(左侧)与其居住的定居点或地点(右侧:定居点或地点)相关联。
将父母人物(左侧)与其子女人物(右侧:人物)相关联。
将两个人物在一般家庭关系中相关联(左右两侧可互换:人物)。
将人物(左侧)与其居住一段时间的州或国家(右侧:州)相关联。
将两个人物在浪漫关系中相关联(左右两侧可互换:人物)。
将两个人物在婚姻关系中相关联(左右两侧可互换:人物)。
将人物(左侧)与其工作过的人物或组织(右侧:人物或组织)相关联。
电影、纪录片或其他运动影像作品。
一场单独的演出或活动——在特定场馆、特定日期和时间、由特定演员阵容呈现。
由特定导演、剧团或艺术节在特定演出季内对舞台作品的具体演出制作。
一种表演艺术的抽象作品——歌剧、芭蕾、话剧或音乐剧——独立于任何特定的舞台演出或表演。
将舞台作品或电影作品(左侧)与其所基于的文学作品(右侧:文学作品)相关联。
将舞台作品或制作(左侧)与其编舞(右侧:人物)相关联。
将舞台作品(左侧)与其作曲家(右侧:人物)相关联。
将电影作品或舞台制作(左侧)与其导演(右侧:人物)相关联。
将演出(左侧)与参与其中的表演者(右侧:人物)相关联,可选填角色和乐器/声部类型。
将演出(左侧)与其所属的制作(右侧:制作)相关联。
将舞台作品(左侧)与其剧本作者(右侧:人物)相关联。
将演出(左侧)与其举办场馆(右侧:地点或组织)相关联。
将制作(左侧)与制作它的组织(右侧:组织)相关联。
将制作(左侧)与其所呈现的舞台作品(右侧:舞台作品)相关联。
读者自己的人物,用于跟踪阅读历史和偏好。
由用户精选、具名的任意实体列表(如待购图书的 “Desiderata” 清单、“2026 阅读计划”作品集、“N 的推荐”合集或“想去的书店”清单)。条目通过按列表类型区分的子类型架构附加(文件 `
将用户定义的 custom 类型 user_list(左侧:listType='custom' 的 user_list)与其包含的任意条目(右侧:任意实体类型)相关联。为不适合任何预定义 listType 的情况提供通用状态机(pending、done、abandoned)。支持可选的优先级标记和可选的 1 起始位置(当父 user_list 已排序时)。
将类型为 desiderata 的 user_list(左侧:listType='desiderata' 的 user_list)与其包含的任意条目(右侧:任意实体类型,例如书籍、文学作品、人物)相关联。记录 desideratum 的获取状态(pending、found、abandoned)、获取日期,以及可选的优先级标记,用于突出用户最想优先找到的条目。
将阅读项目类型的 user_list(左侧:listType='reading_project' 的 user_list)与其包含的作品(右侧:book、literary_work 或 translated_literary_work)相关联。同时承载列表成员关系和该作品在该列表上下文中的阅读状态——与 reads_v1 相同的 status 枚举和日期字段(to_read、reading、finished、abandoned)。当作品在阅读项目列表中时,本记录是「在列表中」和「阅读状态」两者的合并真实来源;该交集不需要单独的 reads_v1 记录。
将读者人物(左侧:读者人物)与代表阅读体验的创意作品(右侧:书籍、文学作品或译文)相关联。
将类型为 recommendations 的 user_list(左侧:listType='recommendations' 的 user_list)与其包含的任意条目(右侧:任意实体类型)相关联。跟踪用户是否对推荐采取了行动:pending、followed_up 或 dismissed;可选地记录跟进日期。
将类型为 reference 的 user_list(左侧:listType='reference' 的 user_list)与其包含的任意条目(右侧:任意实体类型,例如人物、文学作品、聚落)相关联。参考列表是从研究中提取的分析性分组(例如「在 Empire Must Die 中提到的作者」);条目要么包含要么不包含,因此该子类型不带 status 字段。可选 position 字段记录在源中的规范顺序(例如提及顺序)。
将类型为 wishlist 的 user_list(左侧:listType='wishlist' 的 user_list)与其包含的任意不可获取目标(右侧:地点、聚落、组织、表演等)相关联。跟踪目标是否已访问或体验(pending、visited、abandoned),可选记录访问日期,支持可选的优先级标记以标识必访项目,以及当 wishlist 被有意排序时的可选 1 起始位置。
正式组织、机构或团体。
政治实体,如国家、帝国或自治领土。
软件应用程序、工具、视频游戏或网络服务。
将软件作品(左侧:软件)与其开发者(右侧:人物、公司或组织)相关联。
每条数据记录都包含一个指向其模式 URL 的 $schema 字段。您可以使用任何兼容 JSON Schema 2020-12 的工具来验证记录是否符合其模式。例如,使用 ajv-cli(Node.js):
npm install -g ajv-cli ajv-formats
ajv validate -s https://public-schema.com/biblioteka/entity/book.json -d record.json
JSON Schema 验证检查结构和类型,但无法强制执行所有业务规则。以下 Deno 脚本检查超出 JSON Schema 范围的约束——例如 ISBN/ISNI 校验和、名称数组一致性以及多关联的连通图要求。
脚本从 stdin 读取 JSON 并将错误写入 stderr。零权限模式:
cat record.json | deno run https://public-schema.com/dist/validate.ts
Deno 会积极缓存远程脚本。添加 --allow-net=public-schema.com 以便脚本验证缓存哈希与已发布版本:
cat record.json | deno run --allow-net=public-schema.com https://public-schema.com/dist/validate.ts
如果缓存副本已过时,脚本将以代码 2 退出。使用以下命令刷新:
deno cache --reload https://public-schema.com/dist/validate.ts