keepset 0.47.1 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { d as UnreachableSourceError, s as RecipeError } from "../errors-DkaEOcM6.js";
2
- import { z as Dataset } from "../categories-BG8lRjy8.js";
3
- import { a as FetchOptions, c as FilesProvenance, d as downloadUrl, f as fetchDataset$1, i as DownloadProvenance, l as Provenance, m as roundTripEntry$1, n as DigestPort, o as FetchPort, p as fetchEntry$1, r as Download, s as FetchedDataset, t as captureRequestsFor, u as RoundTripReport } from "../resolve-B1F1vxr2.js";
2
+ import { z as Dataset } from "../categories-DgANRauY.js";
3
+ import { a as FetchOptions, c as FilesProvenance, d as downloadUrl, f as fetchDataset$1, i as DownloadProvenance, l as Provenance, m as roundTripEntry$1, n as DigestPort, o as FetchPort, p as fetchEntry$1, r as Download, s as FetchedDataset, t as captureRequestsFor, u as RoundTripReport } from "../resolve-BPPBHyN8.js";
4
4
  //#region src/browser/download.d.ts
5
5
  /** How long a request may take in all, at any point of a download, before it is given up as dead. The platform `fetch` reports progress to no one, so the stall watch of the Node downloader becomes a whole-request deadline here; a healthy server of the open data portals recipes read answers well inside it. */
6
6
  export declare const STALL_MILLISECONDS = 120000;
@@ -1,5 +1,5 @@
1
- import { ft as KeepsetError, gt as UnreachableSourceError, mt as RecipeError } from "../bundled-B_PUAjMX.js";
2
- import { a as captureRequestsFor, i as roundTripEntry$1, n as fetchDataset$1, o as requestCapture$1, r as fetchEntry$1, t as downloadUrl } from "../fetch-D9CizpRF.js";
1
+ import { ft as KeepsetError, gt as UnreachableSourceError, mt as RecipeError } from "../bundled-CUVYs5a5.js";
2
+ import { a as captureRequestsFor, i as roundTripEntry$1, n as fetchDataset$1, o as requestCapture$1, r as fetchEntry$1, t as downloadUrl } from "../fetch-JgAUDjY1.js";
3
3
  //#region src/browser/download.ts
4
4
  /** How long a request may take in all, at any point of a download, before it is given up as dead. The platform `fetch` reports progress to no one, so the stall watch of the Node downloader becomes a whole-request deadline here; a healthy server of the open data portals recipes read answers well inside it. */
5
5
  const STALL_MILLISECONDS = 12e4;
@@ -101,7 +101,7 @@ async function roundTripEntry(dataset, options) {
101
101
  * @returns Whether the round trip holds.
102
102
  */
103
103
  async function roundTripDataset(id, options) {
104
- return roundTripEntry$1((await import("../bundled-B_PUAjMX.js").then((n) => n.t)).getDataset(id), ports(options));
104
+ return roundTripEntry$1((await import("../bundled-CUVYs5a5.js").then((n) => n.t)).getDataset(id), ports(options));
105
105
  }
106
106
  /**
107
107
  * Asks the Archive to capture a URL a fetch read live; see `../resolve`'s `requestCapture`. The platform sends it without reading the answer, which the Archive's replies to a page on another origin do not allow.
@@ -492,11 +492,18 @@ function waybackUrl(timestamp, url) {
492
492
  function rawSnapshotUrl(timestamp, url) {
493
493
  return `https://web.archive.org/web/${timestamp}id_/${url}`;
494
494
  }
495
- /** A pinned Wayback Machine snapshot of a source. The timestamp is part of the recipe's reproducibility, not incidental metadata, so it travels with the URL and the two are checked against each other. */
495
+ /** The SHA-256 of a snapshot's raw bytes, as 64 lower-case hex digits. */
496
+ const Sha256Schema = z.string().regex(/^[0-9a-f]{64}$/, { message: "must be a lower-case hex SHA-256" });
497
+ /** A pinned Wayback Machine snapshot of a source. The timestamp is part of the recipe's reproducibility, not incidental metadata, so it travels with the URL and the two are checked against each other. The checksum, once the archiver has read the snapshot's raw form, names the exact bytes the pin stands for: their SHA-256 and length, recorded together or not at all, so a caller can check a download against the entry without fetching through this package. */
496
498
  const SnapshotSchema = z.object({
497
499
  url: HttpUrlSchema,
498
- timestamp: WaybackTimestampSchema
499
- }).strict();
500
+ timestamp: WaybackTimestampSchema,
501
+ sha256: Sha256Schema.optional(),
502
+ byteLength: z.int().min(0).optional()
503
+ }).strict().refine((snapshot) => snapshot.sha256 === void 0 === (snapshot.byteLength === void 0), {
504
+ message: "sha256 and byteLength are recorded together",
505
+ path: ["sha256"]
506
+ });
500
507
  /**
501
508
  * Where a dataset's bytes come from. A `dead` source no longer serves the bytes the recipe was written against and must carry the snapshot the recipe fetches instead; a `live` source may also carry one, as the pinned record of what it served. The snapshot URL must be exactly `waybackUrl(timestamp, url)`.
502
509
  */
@@ -22,10 +22,12 @@ declare const WaybackTimestampSchema: z.ZodString;
22
22
  * @returns The snapshot URL.
23
23
  */
24
24
  declare function waybackUrl(timestamp: string, url: string): string;
25
- /** A pinned Wayback Machine snapshot of a source. The timestamp is part of the recipe's reproducibility, not incidental metadata, so it travels with the URL and the two are checked against each other. */
25
+ /** A pinned Wayback Machine snapshot of a source. The timestamp is part of the recipe's reproducibility, not incidental metadata, so it travels with the URL and the two are checked against each other. The checksum, once the archiver has read the snapshot's raw form, names the exact bytes the pin stands for: their SHA-256 and length, recorded together or not at all, so a caller can check a download against the entry without fetching through this package. */
26
26
  declare const SnapshotSchema: z.ZodObject<{
27
27
  url: z.ZodURL;
28
28
  timestamp: z.ZodString;
29
+ sha256: z.ZodOptional<z.ZodString>;
30
+ byteLength: z.ZodOptional<z.ZodInt>;
29
31
  }, z.core.$strict>;
30
32
  type Snapshot = z.infer<typeof SnapshotSchema>;
31
33
  /**
@@ -41,6 +43,8 @@ declare const SourceSchema: z.ZodObject<{
41
43
  snapshot: z.ZodOptional<z.ZodObject<{
42
44
  url: z.ZodURL;
43
45
  timestamp: z.ZodString;
46
+ sha256: z.ZodOptional<z.ZodString>;
47
+ byteLength: z.ZodOptional<z.ZodInt>;
44
48
  }, z.core.$strict>>;
45
49
  }, z.core.$strict>;
46
50
  type Source = z.infer<typeof SourceSchema>;
@@ -1960,6 +1964,8 @@ declare const EntrySchema: z.ZodObject<{
1960
1964
  snapshot: z.ZodOptional<z.ZodObject<{
1961
1965
  url: z.ZodURL;
1962
1966
  timestamp: z.ZodString;
1967
+ sha256: z.ZodOptional<z.ZodString>;
1968
+ byteLength: z.ZodOptional<z.ZodInt>;
1963
1969
  }, z.core.$strict>>;
1964
1970
  }, z.core.$strict>>;
1965
1971
  licence: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -2669,6 +2675,8 @@ declare const EntrySchema: z.ZodObject<{
2669
2675
  snapshot?: {
2670
2676
  url: string;
2671
2677
  timestamp: string;
2678
+ sha256?: string | undefined;
2679
+ byteLength?: number | undefined;
2672
2680
  } | undefined;
2673
2681
  }[];
2674
2682
  licence: {
@@ -3262,6 +3270,8 @@ declare const CatalogueIndexSchema: z.ZodObject<{
3262
3270
  snapshot: z.ZodOptional<z.ZodObject<{
3263
3271
  url: z.ZodURL;
3264
3272
  timestamp: z.ZodString;
3273
+ sha256: z.ZodOptional<z.ZodString>;
3274
+ byteLength: z.ZodOptional<z.ZodInt>;
3265
3275
  }, z.core.$strict>>;
3266
3276
  }, z.core.$strict>>;
3267
3277
  licence: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -3971,6 +3981,8 @@ declare const CatalogueIndexSchema: z.ZodObject<{
3971
3981
  snapshot?: {
3972
3982
  url: string;
3973
3983
  timestamp: string;
3984
+ sha256?: string | undefined;
3985
+ byteLength?: number | undefined;
3974
3986
  } | undefined;
3975
3987
  }[];
3976
3988
  licence: {
@@ -4476,6 +4488,8 @@ declare const CatalogueIndexSchema: z.ZodObject<{
4476
4488
  snapshot?: {
4477
4489
  url: string;
4478
4490
  timestamp: string;
4491
+ sha256?: string | undefined;
4492
+ byteLength?: number | undefined;
4479
4493
  } | undefined;
4480
4494
  }[];
4481
4495
  licence: {
@@ -1,4 +1,4 @@
1
- import { G as countTarget, I as rawSnapshotUrl, J as getCollectionTarget, U as getOwn, X as getTarget, ct as ArchiveError, ft as KeepsetError, gt as UnreachableSourceError, mt as RecipeError, n as getDataset, pt as NativeParseError } from "./bundled-B_PUAjMX.js";
1
+ import { G as countTarget, I as rawSnapshotUrl, J as getCollectionTarget, U as getOwn, X as getTarget, ct as ArchiveError, ft as KeepsetError, gt as UnreachableSourceError, mt as RecipeError, n as getDataset, pt as NativeParseError } from "./bundled-CUVYs5a5.js";
2
2
  import { RoundTripMismatchError, assertRoundTrip, encode } from "crossmap";
3
3
  import { z } from "zod";
4
4
  import { gunzipSync, unzipSync } from "fflate";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as KeepsetError, c as RecipeStep, d as UnreachableSourceError, i as DatasetNotFoundError, l as SyntaxIssue, n as CatalogueSyntaxError, o as NativeParseError, r as DatasetAmbiguousError, s as RecipeError, t as ArchiveError, u as UnknownCategoryError } from "./errors-DkaEOcM6.js";
2
- import { $ as ArchiveSchema, A as GraphEdge, At as SourceRecipeSchema, B as DatasetQuery, C as TasksV1, Ct as Recipe, D as collectionOf, Dt as SnapshotSchema, E as Instance, Et as Snapshot, F as GraphV1Schema, Ft as readsCollection, G as Manifest, H as createCatalogue, I as Catalogue, It as waybackUrl, J as parseManifest, K as ManifestSchema, L as CatalogueIndex, M as GraphNode, Mt as SubjectSchema, N as GraphNodeSchema, Nt as WaybackTimestampSchema, O as JsonScalar, Ot as Source, P as GraphV1, Pt as parseEntry, Q as ArchiveMemberSchema, R as CatalogueIndexSchema, S as TasksMetaSchema, St as RESERVED_META_KEYS, T as Collection, Tt as RelativePathSchema, U as Lineage, V as NamespaceNode, W as LineageSchema, X as Archive, Y as AliasSchema, Z as ArchiveMember, _ as isStreamable, _t as LicenceSchema, a as CategoryTargets, at as CollectionFileSchema, b as Task, bt as Parser, c as StreamableId, ct as CrosswalkReferenceSchema, d as countTarget, dt as EntrySchema, et as Citation, f as countedKeys, ft as FilesRecipe, g as getTarget, gt as Licence, h as getStreamedShape, ht as IdSchema, i as CategoryTarget, it as CollectionFile, j as GraphEdgeSchema, jt as SourceSchema, k as JsonScalarSchema, kt as SourceRecipe, l as StreamedNodes, lt as DocumentArchive, m as getCollectionTarget, mt as HttpUrlSchema, n as CategoryId, nt as CollectionArchive, o as CollectionTarget, ot as ColumnNameSchema, p as getCategory, pt as FilesRecipeSchema, q as SemVerSchema, r as CategoryIdSchema, rt as CollectionArchiveSchema, s as CountedKey, st as CrosswalkReference, t as Category, tt as CitationSchema, u as StreamedShape, ut as Entry, v as kindOf, vt as Namespace, w as TasksV1Schema, wt as RecipeSchema, x as TaskSchema, xt as ParserSchema, y as listCategories, yt as NamespaceSchema, z as Dataset } from "./categories-BG8lRjy8.js";
2
+ import { $ as ArchiveSchema, A as GraphEdge, At as SourceRecipeSchema, B as DatasetQuery, C as TasksV1, Ct as Recipe, D as collectionOf, Dt as SnapshotSchema, E as Instance, Et as Snapshot, F as GraphV1Schema, Ft as readsCollection, G as Manifest, H as createCatalogue, I as Catalogue, It as waybackUrl, J as parseManifest, K as ManifestSchema, L as CatalogueIndex, M as GraphNode, Mt as SubjectSchema, N as GraphNodeSchema, Nt as WaybackTimestampSchema, O as JsonScalar, Ot as Source, P as GraphV1, Pt as parseEntry, Q as ArchiveMemberSchema, R as CatalogueIndexSchema, S as TasksMetaSchema, St as RESERVED_META_KEYS, T as Collection, Tt as RelativePathSchema, U as Lineage, V as NamespaceNode, W as LineageSchema, X as Archive, Y as AliasSchema, Z as ArchiveMember, _ as isStreamable, _t as LicenceSchema, a as CategoryTargets, at as CollectionFileSchema, b as Task, bt as Parser, c as StreamableId, ct as CrosswalkReferenceSchema, d as countTarget, dt as EntrySchema, et as Citation, f as countedKeys, ft as FilesRecipe, g as getTarget, gt as Licence, h as getStreamedShape, ht as IdSchema, i as CategoryTarget, it as CollectionFile, j as GraphEdgeSchema, jt as SourceSchema, k as JsonScalarSchema, kt as SourceRecipe, l as StreamedNodes, lt as DocumentArchive, m as getCollectionTarget, mt as HttpUrlSchema, n as CategoryId, nt as CollectionArchive, o as CollectionTarget, ot as ColumnNameSchema, p as getCategory, pt as FilesRecipeSchema, q as SemVerSchema, r as CategoryIdSchema, rt as CollectionArchiveSchema, s as CountedKey, st as CrosswalkReference, t as Category, tt as CitationSchema, u as StreamedShape, ut as Entry, v as kindOf, vt as Namespace, w as TasksV1Schema, wt as RecipeSchema, x as TaskSchema, xt as ParserSchema, y as listCategories, yt as NamespaceSchema, z as Dataset } from "./categories-DgANRauY.js";
3
3
  import { Crosswalk } from "crossmap";
4
4
  //#region src/bundled.d.ts
5
5
  /**
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as listCategories, A as SnapshotSchema, B as NAME_SEPARATOR, C as IdSchema, D as RESERVED_META_KEYS, E as ParserSchema, F as parseEntry, G as countTarget, H as namesOf, J as getCollectionTarget, K as countedKeys, L as readsCollection, M as SourceSchema, N as SubjectSchema, O as RecipeSchema, P as WaybackTimestampSchema, Q as kindOf, R as toIssues, S as HttpUrlSchema, T as NamespaceSchema, V as groupsOf, W as CategoryIdSchema, X as getTarget, Y as getStreamedShape, Z as isStreamable, _ as CollectionFileSchema, a as listNamespaces, at as GraphNodeSchema, b as EntrySchema, c as LineageSchema, ct as ArchiveError, d as parseManifest, dt as DatasetNotFoundError, et as TaskSchema, f as AliasSchema, ft as KeepsetError, g as CollectionArchiveSchema, gt as UnreachableSourceError, h as CitationSchema, ht as UnknownCategoryError, i as listDatasets, it as GraphEdgeSchema, j as SourceRecipeSchema, k as RelativePathSchema, l as ManifestSchema, lt as CatalogueSyntaxError, m as ArchiveSchema, mt as RecipeError, n as getDataset, nt as TasksV1Schema, o as CatalogueIndexSchema, ot as GraphV1Schema, p as ArchiveMemberSchema, pt as NativeParseError, q as getCategory, r as getManifest, rt as collectionOf, s as createCatalogue, st as JsonScalarSchema, tt as TasksMetaSchema, u as SemVerSchema, ut as DatasetAmbiguousError, v as ColumnNameSchema, w as LicenceSchema, x as FilesRecipeSchema, y as CrosswalkReferenceSchema, z as waybackUrl } from "./bundled-B_PUAjMX.js";
1
+ import { $ as listCategories, A as SnapshotSchema, B as NAME_SEPARATOR, C as IdSchema, D as RESERVED_META_KEYS, E as ParserSchema, F as parseEntry, G as countTarget, H as namesOf, J as getCollectionTarget, K as countedKeys, L as readsCollection, M as SourceSchema, N as SubjectSchema, O as RecipeSchema, P as WaybackTimestampSchema, Q as kindOf, R as toIssues, S as HttpUrlSchema, T as NamespaceSchema, V as groupsOf, W as CategoryIdSchema, X as getTarget, Y as getStreamedShape, Z as isStreamable, _ as CollectionFileSchema, a as listNamespaces, at as GraphNodeSchema, b as EntrySchema, c as LineageSchema, ct as ArchiveError, d as parseManifest, dt as DatasetNotFoundError, et as TaskSchema, f as AliasSchema, ft as KeepsetError, g as CollectionArchiveSchema, gt as UnreachableSourceError, h as CitationSchema, ht as UnknownCategoryError, i as listDatasets, it as GraphEdgeSchema, j as SourceRecipeSchema, k as RelativePathSchema, l as ManifestSchema, lt as CatalogueSyntaxError, m as ArchiveSchema, mt as RecipeError, n as getDataset, nt as TasksV1Schema, o as CatalogueIndexSchema, ot as GraphV1Schema, p as ArchiveMemberSchema, pt as NativeParseError, q as getCategory, r as getManifest, rt as collectionOf, s as createCatalogue, st as JsonScalarSchema, tt as TasksMetaSchema, u as SemVerSchema, ut as DatasetAmbiguousError, v as ColumnNameSchema, w as LicenceSchema, x as FilesRecipeSchema, y as CrosswalkReferenceSchema, z as waybackUrl } from "./bundled-CUVYs5a5.js";
2
2
  import { validateCrosswalk } from "crossmap";
3
3
  //#region src/serialise.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
- import { O as JsonScalar, c as StreamableId, l as StreamedNodes, z as Dataset } from "../categories-BG8lRjy8.js";
2
- import { a as FetchOptions, c as FilesProvenance, d as downloadUrl, f as fetchDataset$1, i as DownloadProvenance, l as Provenance, m as roundTripEntry$1, n as DigestPort, o as FetchPort, p as fetchEntry$1, r as Download, s as FetchedDataset, t as captureRequestsFor, u as RoundTripReport } from "../resolve-B1F1vxr2.js";
1
+ import { O as JsonScalar, c as StreamableId, l as StreamedNodes, z as Dataset } from "../categories-DgANRauY.js";
2
+ import { a as FetchOptions, c as FilesProvenance, d as downloadUrl, f as fetchDataset$1, i as DownloadProvenance, l as Provenance, m as roundTripEntry$1, n as DigestPort, o as FetchPort, p as fetchEntry$1, r as Download, s as FetchedDataset, t as captureRequestsFor, u as RoundTripReport } from "../resolve-BPPBHyN8.js";
3
3
  import { Crosswalk } from "crossmap";
4
4
  //#region src/node/stream-dataset.d.ts
5
5
  /** Where a streamed result goes: the meta once, before any node, then the nodes a page at a time, each already checked against the category's node shape and for an id no earlier node had. A sink that returns a promise is awaited before the next page is read, so a slow sink holds the stream back rather than letting pages pile up. */
@@ -1,5 +1,5 @@
1
- import { Y as getStreamedShape, Z as isStreamable, ft as KeepsetError, mt as RecipeError, n as getDataset } from "../bundled-B_PUAjMX.js";
2
- import { a as captureRequestsFor, c as sourceRecord, d as csvPages, f as PieceDecoder, i as roundTripEntry$1, l as sourceUrl, n as fetchDataset$1, o as requestCapture$1, p as TableReader, r as fetchEntry$1, s as metaOf, t as downloadUrl, u as step } from "../fetch-D9CizpRF.js";
1
+ import { Y as getStreamedShape, Z as isStreamable, ft as KeepsetError, mt as RecipeError, n as getDataset } from "../bundled-CUVYs5a5.js";
2
+ import { a as captureRequestsFor, c as sourceRecord, d as csvPages, f as PieceDecoder, i as roundTripEntry$1, l as sourceUrl, n as fetchDataset$1, o as requestCapture$1, p as TableReader, r as fetchEntry$1, s as metaOf, t as downloadUrl, u as step } from "../fetch-JgAUDjY1.js";
3
3
  import { RoundTripMismatchError, assertRoundTrip, encode } from "crossmap";
4
4
  import { createHash } from "node:crypto";
5
5
  import { request } from "node:http";
@@ -1,4 +1,4 @@
1
- import { Et as Snapshot, Ot as Source, i as CategoryTarget, o as CollectionTarget, ut as Entry, z as Dataset } from "./categories-BG8lRjy8.js";
1
+ import { Et as Snapshot, Ot as Source, i as CategoryTarget, o as CollectionTarget, ut as Entry, z as Dataset } from "./categories-DgANRauY.js";
2
2
  //#region src/fetch.d.ts
3
3
  /** The network port a recipe downloads through: `downloadRaw` by default, which returns the bytes exactly as served, or a stand-in under test. */
4
4
  type FetchPort = (url: string, init: {
@@ -4,7 +4,7 @@ import { KeepsetError, NAME_SEPARATOR, countTarget, getDataset, listDatasets, li
4
4
  import { captureRequestsFor, fetchDataset, requestCapture, roundTripDataset, streamDataset } from "keepset/node";
5
5
  import { parseArgs } from "node:util";
6
6
  //#region package.json
7
- var version = "0.47.1";
7
+ var version = "0.48.0";
8
8
  //#endregion
9
9
  //#region cli/run.ts
10
10
  /**
@@ -168,7 +168,8 @@ function formatShow(dataset) {
168
168
  lines.push(`licence: ${licence.kind === "spdx" ? licence.id : licence.kind === "custom" ? `${licence.name} <${licence.url}>` : "not recorded by the source"}`);
169
169
  lines.push("", "sources:");
170
170
  for (const [index, source] of entry.sources.entries()) {
171
- const snapshot = source.snapshot === void 0 ? "" : `, snapshot ${source.snapshot.timestamp}`;
171
+ const checksum = source.snapshot?.sha256 === void 0 ? "" : `, sha256 ${source.snapshot.sha256}, ${String(source.snapshot.byteLength)} bytes`;
172
+ const snapshot = source.snapshot === void 0 ? "" : `, snapshot ${source.snapshot.timestamp}${checksum}`;
172
173
  lines.push(` [${String(index)}] ${source.url} (${source.status}, retrieved ${source.retrieved}${snapshot})`);
173
174
  }
174
175
  if (entry.citations.length > 0) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "keepset",
3
3
  "description": "Library, CLI and statically generated catalogue for dataset fetch-and-normalise recipes",
4
- "version": "0.47.1",
4
+ "version": "0.48.0",
5
5
  "bin": {
6
6
  "keepset": "./dist-cli/keepset.mjs"
7
7
  },
@@ -1 +1 @@
1
- {"$defs":{"Crosswalk":{"$ref":"https://cdn.jsdelivr.net/npm/crossmap@0.2.0/schemas/crossmap.schema.json"},"Entry":{"additionalProperties":false,"properties":{"aliases":{"items":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*(?:\\/[A-Za-z0-9][A-Za-z0-9._-]*)*$","type":"string"},"minItems":1,"type":"array"},"category":{"enum":["graph/v1","tasks/v1"],"type":"string"},"citations":{"items":{"additionalProperties":false,"properties":{"doi":{"pattern":"^10\\.\\d{4,9}\\/\\S+$","type":"string"},"text":{"minLength":1,"type":"string"},"url":{"format":"uri","type":"string"}},"required":["text"],"type":"object"},"type":"array"},"crosswalk":{"anyOf":[{"$ref":"#/$defs/Crosswalk"},{"additionalProperties":false,"properties":{"file":{"type":"string"}},"required":["file"],"type":"object"}]},"description":{"minLength":1,"type":"string"},"domain":{"minLength":1,"type":"string"},"expectedCounts":{"additionalProperties":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"propertyNames":{"pattern":"^[A-Za-z][A-Za-z0-9]*$","type":"string"},"type":"object"},"id":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"licence":{"oneOf":[{"additionalProperties":false,"properties":{"id":{"pattern":"^[A-Za-z0-9][A-Za-z0-9.+-]*$","type":"string"},"kind":{"const":"spdx","type":"string"}},"required":["kind","id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"custom","type":"string"},"name":{"minLength":1,"type":"string"},"url":{"format":"uri","type":"string"}},"required":["kind","name","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unrecorded","type":"string"}},"required":["kind"],"type":"object"}]},"name":{"minLength":1,"type":"string"},"namespace":{"items":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"minItems":1,"type":"array"},"properties":{"additionalProperties":{"type":["string","number","boolean","null"]},"propertyNames":{"pattern":"^[A-Za-z][A-Za-z0-9]*$","type":"string"},"type":"object"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"archive":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bzip2","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"}]},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"additionalProperties":false,"properties":{"kind":{"const":"xlsx","type":"string"},"sheets":{"minLength":1,"type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"members":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","members"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"parts":{"items":{"additionalProperties":false,"properties":{"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"name":{"pattern":"^[a-z][a-z0-9]*$","type":"string"}},"required":["name","member"],"type":"object"},"minItems":1,"type":"array"}},"required":["kind","parts"],"type":"object"},{"additionalProperties":false,"properties":{"files":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"inner":{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"}},"required":["kind","files"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"shapefile","type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"}]},"paging":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"arcgis-query","type":"string"},"orderBy":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"}},"required":["kind","orderBy"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"socrata-resource","type":"string"},"pageSize":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"select":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"minItems":1,"type":"array"}},"required":["kind","pageSize"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ckan-datastore","type":"string"},"pageSize":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["kind","pageSize"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"openfema","type":"string"},"pageSize":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["kind","pageSize"],"type":"object"}]},"parser":{"oneOf":[{"additionalProperties":false,"properties":{"commentPrefixes":{"items":{"minLength":1,"type":"string"},"type":"array"},"delimiter":{"enum":["detect","whitespace","tab","comma","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"edge-list","type":"string"},"keep":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["column","values"],"type":"object"},"mirrored":{"const":true,"type":"boolean"},"multiplicityColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sourceColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"targetColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"where":{"items":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"equals":{"minLength":1,"type":"string"}},"required":["column","equals"],"type":"object"},"minItems":1,"type":"array"}},"required":["format","encoding","delimiter","skipLines","commentPrefixes","sourceColumn","targetColumn"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"matrix-market","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["comma","tab","double-colon"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-ratings","type":"string"},"itemType":{"enum":["movie","product"],"type":"string"},"maxRating":{"exclusiveMinimum":0,"type":"number"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType","maxRating"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"konect","type":"string"},"timestamped":{"type":"boolean"},"weighted":{"type":"boolean"}},"required":["format","encoding","weighted","timestamped"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-counts","type":"string"},"itemType":{"enum":["artist"],"type":"string"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"kg-triples","type":"string"},"header":{"enum":["none","names","count"],"type":"string"},"order":{"enum":["head-relation-tail","head-tail-relation"],"type":"string"},"quoted":{"type":"boolean"}},"required":["format","encoding","delimiter","order","header","quoted"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hgb","type":"string"},"linkTypes":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"source":{"minLength":1,"type":"string"},"target":{"minLength":1,"type":"string"}},"required":["name","source","target"],"type":"object"},"minItems":1,"type":"array"},"nodeTypes":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["format","encoding","nodeTypes","linkTypes"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gml","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"pajek","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"ucinet-dl","type":"string"},"matrix":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["format","encoding","matrix"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gd-contest","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"witvliet-synapses","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"ogb","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"customer-points","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"solomon","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"top","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"toptw","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tsplib","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"verolog-2019","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"vrp-rep","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hhcrsp","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"mankowska","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"verolog-2017","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tdc","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"delimiter":{"enum":["comma","tab","semicolon"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"csv-table","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"nullValues":{"items":{"minLength":1,"type":"string"},"type":"array"},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","idColumn","numericColumns"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"minItems":1,"type":"array"},"dateColumns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"geojson","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"}},"required":["format","encoding","idColumn","numericColumns","dateColumns","columns"],"type":"object"}]},"source":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"const":"fetchable","type":"string"},"stream":{"const":true,"type":"boolean"}},"required":["status","source","archive","parser"],"type":"object"},{"additionalProperties":false,"properties":{"files":{"items":{"additionalProperties":false,"properties":{"archive":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bzip2","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"}]},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"additionalProperties":false,"properties":{"kind":{"const":"xlsx","type":"string"},"sheets":{"minLength":1,"type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"members":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","members"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"parts":{"items":{"additionalProperties":false,"properties":{"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"name":{"pattern":"^[a-z][a-z0-9]*$","type":"string"}},"required":["name","member"],"type":"object"},"minItems":1,"type":"array"}},"required":["kind","parts"],"type":"object"},{"additionalProperties":false,"properties":{"files":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"inner":{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"}},"required":["kind","files"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"shapefile","type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"}]},"path":{"type":"string"},"source":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["path","source","archive"],"type":"object"},"minItems":1,"type":"array"},"parser":{"oneOf":[{"additionalProperties":false,"properties":{"commentPrefixes":{"items":{"minLength":1,"type":"string"},"type":"array"},"delimiter":{"enum":["detect","whitespace","tab","comma","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"edge-list","type":"string"},"keep":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["column","values"],"type":"object"},"mirrored":{"const":true,"type":"boolean"},"multiplicityColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sourceColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"targetColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"where":{"items":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"equals":{"minLength":1,"type":"string"}},"required":["column","equals"],"type":"object"},"minItems":1,"type":"array"}},"required":["format","encoding","delimiter","skipLines","commentPrefixes","sourceColumn","targetColumn"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"matrix-market","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["comma","tab","double-colon"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-ratings","type":"string"},"itemType":{"enum":["movie","product"],"type":"string"},"maxRating":{"exclusiveMinimum":0,"type":"number"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType","maxRating"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"konect","type":"string"},"timestamped":{"type":"boolean"},"weighted":{"type":"boolean"}},"required":["format","encoding","weighted","timestamped"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-counts","type":"string"},"itemType":{"enum":["artist"],"type":"string"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"kg-triples","type":"string"},"header":{"enum":["none","names","count"],"type":"string"},"order":{"enum":["head-relation-tail","head-tail-relation"],"type":"string"},"quoted":{"type":"boolean"}},"required":["format","encoding","delimiter","order","header","quoted"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hgb","type":"string"},"linkTypes":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"source":{"minLength":1,"type":"string"},"target":{"minLength":1,"type":"string"}},"required":["name","source","target"],"type":"object"},"minItems":1,"type":"array"},"nodeTypes":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["format","encoding","nodeTypes","linkTypes"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gml","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"pajek","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"ucinet-dl","type":"string"},"matrix":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["format","encoding","matrix"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gd-contest","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"witvliet-synapses","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"ogb","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"customer-points","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"solomon","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"top","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"toptw","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tsplib","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"verolog-2019","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"vrp-rep","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hhcrsp","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"mankowska","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"verolog-2017","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tdc","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"delimiter":{"enum":["comma","tab","semicolon"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"csv-table","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"nullValues":{"items":{"minLength":1,"type":"string"},"type":"array"},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","idColumn","numericColumns"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"minItems":1,"type":"array"},"dateColumns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"geojson","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"}},"required":["format","encoding","idColumn","numericColumns","dateColumns","columns"],"type":"object"}]},"status":{"const":"fetchable","type":"string"}},"required":["status","files","parser"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"minLength":1,"type":"string"},"status":{"const":"not-fetchable","type":"string"}},"required":["status","reason"],"type":"object"}]},"sources":{"items":{"additionalProperties":false,"properties":{"retrieved":{"format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","type":"string"},"snapshot":{"additionalProperties":false,"properties":{"timestamp":{"pattern":"^\\d{8}(?:\\d{6})?$","type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","timestamp"],"type":"object"},"status":{"enum":["live","dead"],"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","retrieved","status"],"type":"object"},"minItems":1,"type":"array"},"subjects":{"items":{"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"minItems":1,"type":"array"},"tags":{"items":{"minLength":1,"type":"string"},"type":"array"}},"required":["id","name","tags","category","sources","licence","citations","recipe","crosswalk","expectedCounts","properties"],"type":"object"}},"$id":"https://cdn.jsdelivr.net/npm/keepset@0.47.1/schemas/entry.schema.json","$ref":"#/$defs/Entry","$schema":"https://json-schema.org/draft/2020-12/schema"}
1
+ {"$defs":{"Crosswalk":{"$ref":"https://cdn.jsdelivr.net/npm/crossmap@0.2.0/schemas/crossmap.schema.json"},"Entry":{"additionalProperties":false,"properties":{"aliases":{"items":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*(?:\\/[A-Za-z0-9][A-Za-z0-9._-]*)*$","type":"string"},"minItems":1,"type":"array"},"category":{"enum":["graph/v1","tasks/v1"],"type":"string"},"citations":{"items":{"additionalProperties":false,"properties":{"doi":{"pattern":"^10\\.\\d{4,9}\\/\\S+$","type":"string"},"text":{"minLength":1,"type":"string"},"url":{"format":"uri","type":"string"}},"required":["text"],"type":"object"},"type":"array"},"crosswalk":{"anyOf":[{"$ref":"#/$defs/Crosswalk"},{"additionalProperties":false,"properties":{"file":{"type":"string"}},"required":["file"],"type":"object"}]},"description":{"minLength":1,"type":"string"},"domain":{"minLength":1,"type":"string"},"expectedCounts":{"additionalProperties":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"propertyNames":{"pattern":"^[A-Za-z][A-Za-z0-9]*$","type":"string"},"type":"object"},"id":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"licence":{"oneOf":[{"additionalProperties":false,"properties":{"id":{"pattern":"^[A-Za-z0-9][A-Za-z0-9.+-]*$","type":"string"},"kind":{"const":"spdx","type":"string"}},"required":["kind","id"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"custom","type":"string"},"name":{"minLength":1,"type":"string"},"url":{"format":"uri","type":"string"}},"required":["kind","name","url"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"unrecorded","type":"string"}},"required":["kind"],"type":"object"}]},"name":{"minLength":1,"type":"string"},"namespace":{"items":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"minItems":1,"type":"array"},"properties":{"additionalProperties":{"type":["string","number","boolean","null"]},"propertyNames":{"pattern":"^[A-Za-z][A-Za-z0-9]*$","type":"string"},"type":"object"},"recipe":{"anyOf":[{"additionalProperties":false,"properties":{"archive":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bzip2","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"}]},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"additionalProperties":false,"properties":{"kind":{"const":"xlsx","type":"string"},"sheets":{"minLength":1,"type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"members":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","members"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"parts":{"items":{"additionalProperties":false,"properties":{"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"name":{"pattern":"^[a-z][a-z0-9]*$","type":"string"}},"required":["name","member"],"type":"object"},"minItems":1,"type":"array"}},"required":["kind","parts"],"type":"object"},{"additionalProperties":false,"properties":{"files":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"inner":{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"}},"required":["kind","files"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"shapefile","type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"}]},"paging":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"arcgis-query","type":"string"},"orderBy":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"}},"required":["kind","orderBy"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"socrata-resource","type":"string"},"pageSize":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"select":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"minItems":1,"type":"array"}},"required":["kind","pageSize"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"ckan-datastore","type":"string"},"pageSize":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["kind","pageSize"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"openfema","type":"string"},"pageSize":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["kind","pageSize"],"type":"object"}]},"parser":{"oneOf":[{"additionalProperties":false,"properties":{"commentPrefixes":{"items":{"minLength":1,"type":"string"},"type":"array"},"delimiter":{"enum":["detect","whitespace","tab","comma","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"edge-list","type":"string"},"keep":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["column","values"],"type":"object"},"mirrored":{"const":true,"type":"boolean"},"multiplicityColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sourceColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"targetColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"where":{"items":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"equals":{"minLength":1,"type":"string"}},"required":["column","equals"],"type":"object"},"minItems":1,"type":"array"}},"required":["format","encoding","delimiter","skipLines","commentPrefixes","sourceColumn","targetColumn"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"matrix-market","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["comma","tab","double-colon"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-ratings","type":"string"},"itemType":{"enum":["movie","product"],"type":"string"},"maxRating":{"exclusiveMinimum":0,"type":"number"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType","maxRating"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"konect","type":"string"},"timestamped":{"type":"boolean"},"weighted":{"type":"boolean"}},"required":["format","encoding","weighted","timestamped"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-counts","type":"string"},"itemType":{"enum":["artist"],"type":"string"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"kg-triples","type":"string"},"header":{"enum":["none","names","count"],"type":"string"},"order":{"enum":["head-relation-tail","head-tail-relation"],"type":"string"},"quoted":{"type":"boolean"}},"required":["format","encoding","delimiter","order","header","quoted"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hgb","type":"string"},"linkTypes":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"source":{"minLength":1,"type":"string"},"target":{"minLength":1,"type":"string"}},"required":["name","source","target"],"type":"object"},"minItems":1,"type":"array"},"nodeTypes":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["format","encoding","nodeTypes","linkTypes"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gml","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"pajek","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"ucinet-dl","type":"string"},"matrix":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["format","encoding","matrix"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gd-contest","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"witvliet-synapses","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"ogb","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"customer-points","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"solomon","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"top","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"toptw","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tsplib","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"verolog-2019","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"vrp-rep","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hhcrsp","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"mankowska","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"verolog-2017","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tdc","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"delimiter":{"enum":["comma","tab","semicolon"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"csv-table","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"nullValues":{"items":{"minLength":1,"type":"string"},"type":"array"},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","idColumn","numericColumns"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"minItems":1,"type":"array"},"dateColumns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"geojson","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"}},"required":["format","encoding","idColumn","numericColumns","dateColumns","columns"],"type":"object"}]},"source":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"status":{"const":"fetchable","type":"string"},"stream":{"const":true,"type":"boolean"}},"required":["status","source","archive","parser"],"type":"object"},{"additionalProperties":false,"properties":{"files":{"items":{"additionalProperties":false,"properties":{"archive":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"none","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"bzip2","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"anyOf":[{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"}]},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"},{"additionalProperties":false,"properties":{"inner":{"additionalProperties":false,"properties":{"kind":{"const":"xlsx","type":"string"},"sheets":{"minLength":1,"type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"members":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","members"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"},"parts":{"items":{"additionalProperties":false,"properties":{"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"name":{"pattern":"^[a-z][a-z0-9]*$","type":"string"}},"required":["name","member"],"type":"object"},"minItems":1,"type":"array"}},"required":["kind","parts"],"type":"object"},{"additionalProperties":false,"properties":{"files":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]},"inner":{"additionalProperties":false,"properties":{"kind":{"const":"gzip","type":"string"}},"required":["kind"],"type":"object"},"kind":{"enum":["zip","tar","tar.gz","tar.bz2"],"type":"string"}},"required":["kind","files"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"enum":["xlsx","xls","ods"],"type":"string"},"sheet":{"minLength":1,"type":"string"}},"required":["kind","sheet"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"shapefile","type":"string"},"member":{"anyOf":[{"additionalProperties":false,"properties":{"path":{"type":"string"}},"required":["path"],"type":"object"},{"additionalProperties":false,"properties":{"extensions":{"items":{"pattern":"^\\.[A-Za-z0-9][A-Za-z0-9.]*$","type":"string"},"minItems":1,"type":"array"}},"required":["extensions"],"type":"object"},{"additionalProperties":false,"properties":{"pattern":{"minLength":1,"type":"string"}},"required":["pattern"],"type":"object"}]}},"required":["kind","member"],"type":"object"}]},"path":{"type":"string"},"source":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["path","source","archive"],"type":"object"},"minItems":1,"type":"array"},"parser":{"oneOf":[{"additionalProperties":false,"properties":{"commentPrefixes":{"items":{"minLength":1,"type":"string"},"type":"array"},"delimiter":{"enum":["detect","whitespace","tab","comma","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"edge-list","type":"string"},"keep":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"values":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["column","values"],"type":"object"},"mirrored":{"const":true,"type":"boolean"},"multiplicityColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sourceColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"targetColumn":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"where":{"items":{"additionalProperties":false,"properties":{"column":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"equals":{"minLength":1,"type":"string"}},"required":["column","equals"],"type":"object"},"minItems":1,"type":"array"}},"required":["format","encoding","delimiter","skipLines","commentPrefixes","sourceColumn","targetColumn"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"matrix-market","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["comma","tab","double-colon"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-ratings","type":"string"},"itemType":{"enum":["movie","product"],"type":"string"},"maxRating":{"exclusiveMinimum":0,"type":"number"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType","maxRating"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"konect","type":"string"},"timestamped":{"type":"boolean"},"weighted":{"type":"boolean"}},"required":["format","encoding","weighted","timestamped"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab"],"type":"string"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"user-item-counts","type":"string"},"itemType":{"enum":["artist"],"type":"string"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","itemType"],"type":"object"},{"additionalProperties":false,"properties":{"delimiter":{"enum":["tab","space"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"kg-triples","type":"string"},"header":{"enum":["none","names","count"],"type":"string"},"order":{"enum":["head-relation-tail","head-tail-relation"],"type":"string"},"quoted":{"type":"boolean"}},"required":["format","encoding","delimiter","order","header","quoted"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hgb","type":"string"},"linkTypes":{"items":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"source":{"minLength":1,"type":"string"},"target":{"minLength":1,"type":"string"}},"required":["name","source","target"],"type":"object"},"minItems":1,"type":"array"},"nodeTypes":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["format","encoding","nodeTypes","linkTypes"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gml","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"pajek","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"ucinet-dl","type":"string"},"matrix":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"required":["format","encoding","matrix"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"gd-contest","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"witvliet-synapses","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"ogb","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"customer-points","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"solomon","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"top","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"toptw","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tsplib","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"verolog-2019","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"vrp-rep","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"const":"utf-8","type":"string"},"format":{"const":"hhcrsp","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"mankowska","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"verolog-2017","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"tdc","type":"string"}},"required":["format","encoding"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"delimiter":{"enum":["comma","tab","semicolon"],"type":"string"},"encoding":{"enum":["utf-8","latin1"],"type":"string"},"format":{"const":"csv-table","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"nullValues":{"items":{"minLength":1,"type":"string"},"type":"array"},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"},"skipLines":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["format","encoding","delimiter","skipLines","idColumn","numericColumns"],"type":"object"},{"additionalProperties":false,"properties":{"columns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"minItems":1,"type":"array"},"dateColumns":{"items":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"type":"array"},"encoding":{"const":"utf-8","type":"string"},"format":{"const":"geojson","type":"string"},"idColumn":{"anyOf":[{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},{"type":"null"}]},"numericColumns":{"items":{"additionalProperties":false,"properties":{"column":{"pattern":"^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$","type":"string"},"factor":{"exclusiveMinimum":0,"type":"number"}},"required":["column","factor"],"type":"object"},"type":"array"}},"required":["format","encoding","idColumn","numericColumns","dateColumns","columns"],"type":"object"}]},"status":{"const":"fetchable","type":"string"}},"required":["status","files","parser"],"type":"object"},{"additionalProperties":false,"properties":{"reason":{"minLength":1,"type":"string"},"status":{"const":"not-fetchable","type":"string"}},"required":["status","reason"],"type":"object"}]},"sources":{"items":{"additionalProperties":false,"properties":{"retrieved":{"format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","type":"string"},"snapshot":{"additionalProperties":false,"properties":{"byteLength":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"timestamp":{"pattern":"^\\d{8}(?:\\d{6})?$","type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","timestamp"],"type":"object"},"status":{"enum":["live","dead"],"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","retrieved","status"],"type":"object"},"minItems":1,"type":"array"},"subjects":{"items":{"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$","type":"string"},"minItems":1,"type":"array"},"tags":{"items":{"minLength":1,"type":"string"},"type":"array"}},"required":["id","name","tags","category","sources","licence","citations","recipe","crosswalk","expectedCounts","properties"],"type":"object"}},"$id":"https://cdn.jsdelivr.net/npm/keepset@0.48.0/schemas/entry.schema.json","$ref":"#/$defs/Entry","$schema":"https://json-schema.org/draft/2020-12/schema"}
@@ -1 +1 @@
1
- {"$defs":{"Manifest":{"additionalProperties":false,"properties":{"description":{"minLength":1,"type":"string"},"id":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"lineage":{"additionalProperties":false,"properties":{"catalogue":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"repository":{"format":"uri","type":"string"},"version":{"pattern":"^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$","type":"string"}},"required":["catalogue","version","repository"],"type":"object"},"name":{"minLength":1,"type":"string"},"namespaceAliases":{"additionalProperties":{"items":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"minItems":1,"type":"array"},"propertyNames":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"type":"object"},"repository":{"format":"uri","type":"string"},"version":{"pattern":"^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$","type":"string"}},"required":["id","name","description","version","repository"],"type":"object"}},"$id":"https://cdn.jsdelivr.net/npm/keepset@0.47.1/schemas/manifest.schema.json","$ref":"#/$defs/Manifest","$schema":"https://json-schema.org/draft/2020-12/schema"}
1
+ {"$defs":{"Manifest":{"additionalProperties":false,"properties":{"description":{"minLength":1,"type":"string"},"id":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"lineage":{"additionalProperties":false,"properties":{"catalogue":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"repository":{"format":"uri","type":"string"},"version":{"pattern":"^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$","type":"string"}},"required":["catalogue","version","repository"],"type":"object"},"name":{"minLength":1,"type":"string"},"namespaceAliases":{"additionalProperties":{"items":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"minItems":1,"type":"array"},"propertyNames":{"pattern":"^[A-Za-z0-9][A-Za-z0-9._-]*$","type":"string"},"type":"object"},"repository":{"format":"uri","type":"string"},"version":{"pattern":"^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(?:-[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$","type":"string"}},"required":["id","name","description","version","repository"],"type":"object"}},"$id":"https://cdn.jsdelivr.net/npm/keepset@0.48.0/schemas/manifest.schema.json","$ref":"#/$defs/Manifest","$schema":"https://json-schema.org/draft/2020-12/schema"}