📄 standards/isbn.json
D-OPEN SOVEREIGN
1{
2 "$schema": "https://schemas.dsafe.us/StandardDefinition/1.0",
3 "id": "isbn",
4 "version": "1.0",
5 "label": "International Standard Book Number",
6 "description": "A unique numeric commercial book identifier. ISBN-13 form is canonical.",
7 "governingBody": "International ISBN Agency",
8 "isoReference": "ISO 2108:2017",
9 "revisionCycle": "irregular",
10 "status": "active",
11 "props": [
12 {
13 "name": "isbn",
14 "type": "string",
15 "nullable": true,
16 "normalize": "compact-13",
17 "display": "hyphenated-13",
18 "checkDigit": { "algorithm": "isbn-13-luhn", "position": "last" },
19 "pattern": "^97[89][0-9]{10}$",
20 "description": "ISBN-13 identifying this manifestation."
21 }
22 ],
23 "pk": "isbn",
24 "uriScheme": "ISBN:{{isbn}}",
25 "linkedDataUri": "urn:isbn:{{isbn}}",
26 "externalApis": [
27 {
28 "id": "openlibrary",
29 "name": "Open Library Books API",
30 "kind": "lookup",
31 "rateLimit": { "requests": 100, "windowSeconds": 60 },
32 "fieldMapping": [
33 { "source": "title", "target": "title", "overwrite": "if-empty" },
34 { "source": "pageCount", "target": "pageCount", "overwrite": "if-empty" },
35 { "source": "publishDate", "target": "pubYear", "overwrite": "if-empty" },
36 { "source": "description", "target": "summary", "overwrite": "if-empty" }
37 ]
38 },
39 {
40 "id": "googlebooks",
41 "name": "Google Books API",
42 "kind": "lookup",
43 "requiresApiKey": true,
44 "rateLimit": null,
45 "fieldMapping": [
46 { "source": "title", "target": "title", "overwrite": "if-empty" },
47 { "source": "pageCount", "target": "pageCount", "overwrite": "if-empty" },
48 { "source": "publishedDate", "target": "pubYear", "overwrite": "if-empty" },
49 { "source": "description", "target": "summary", "overwrite": "if-empty" },
50 { "source": "language", "target": "language", "overwrite": "always" }
51 ]
52 }
53 ]
54}
55