keepset 0.27.1 → 0.28.1
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.
- package/README.md +1 -1
- package/dist/{bundled-BJ9DIeyV.js → bundled-CSQH5LeG.js} +285 -468
- package/dist/{categories-C7q-yLo-.d.ts → categories-DkkYCbGk.d.ts} +45 -90
- package/dist/index.d.ts +2 -8
- package/dist/index.js +2 -2
- package/dist/node/fetch-dataset.d.ts +3 -3
- package/dist/node/fetch-dataset.js +57 -30
- package/dist-cli/keepset.mjs +1 -1
- package/package.json +1 -1
- package/schemas/entry.schema.json +1 -1
- package/schemas/manifest.schema.json +1 -1
|
@@ -166,6 +166,66 @@ const GraphV1Schema = define(z.object({
|
|
|
166
166
|
});
|
|
167
167
|
}));
|
|
168
168
|
//#endregion
|
|
169
|
+
//#region src/targets/collection.ts
|
|
170
|
+
/** The count a collection entry may record: how many instances it holds. */
|
|
171
|
+
const COLLECTION_COUNTED = ["instances"];
|
|
172
|
+
/**
|
|
173
|
+
* Whether a value is an object with a non-empty string `id`, which is what a member must have before the rest of it is held to the category's document schema.
|
|
174
|
+
* @param value - Anything a collection's `instances` array holds.
|
|
175
|
+
* @returns True for an object with such an id.
|
|
176
|
+
*/
|
|
177
|
+
function hasId(value) {
|
|
178
|
+
return typeof value === "object" && value !== null && "id" in value && typeof value.id === "string" && value.id !== "";
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* The schema of one member: a non-empty string `id` and, in the rest of the object, a document of the category. Issues from the document's own schema keep their paths, so a failure names the field of the instance.
|
|
182
|
+
* @param document - The category's document schema.
|
|
183
|
+
* @returns The member schema.
|
|
184
|
+
*/
|
|
185
|
+
function instanceOf(document) {
|
|
186
|
+
return z.custom().superRefine((given, ctx) => {
|
|
187
|
+
if (!hasId(given)) {
|
|
188
|
+
ctx.addIssue({
|
|
189
|
+
code: "custom",
|
|
190
|
+
path: ["id"],
|
|
191
|
+
message: "an instance has a non-empty string id"
|
|
192
|
+
});
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const result = document.safeParse(Object.fromEntries(Object.entries(given).filter(([key]) => key !== "id")));
|
|
196
|
+
if (!result.success) for (const issue of result.error.issues) ctx.addIssue({
|
|
197
|
+
code: "custom",
|
|
198
|
+
path: issue.path,
|
|
199
|
+
message: issue.message
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* The schema of a collection of documents of a category, derived from the category's own document schema, so a category needs nothing of its own to be collected. Beyond each instance being a valid document, the instance ids must be unique in the set; node ids and the like stay unique only within an instance, because every instance numbers its own.
|
|
205
|
+
* @param document - The category's document schema.
|
|
206
|
+
* @returns The collection schema, with the attached type guard.
|
|
207
|
+
*/
|
|
208
|
+
function collectionOf(document) {
|
|
209
|
+
return define(z.object({
|
|
210
|
+
meta: recordOf(z.string().min(1), JsonScalarSchema),
|
|
211
|
+
instances: z.array(instanceOf(document))
|
|
212
|
+
}).strict().superRefine((collection, ctx) => {
|
|
213
|
+
const ids = /* @__PURE__ */ new Set();
|
|
214
|
+
for (const [index, instance] of collection.instances.entries()) {
|
|
215
|
+
if (ids.has(instance.id)) ctx.addIssue({
|
|
216
|
+
code: "custom",
|
|
217
|
+
path: [
|
|
218
|
+
"instances",
|
|
219
|
+
index,
|
|
220
|
+
"id"
|
|
221
|
+
],
|
|
222
|
+
message: `duplicate instance id ${JSON.stringify(instance.id)}`
|
|
223
|
+
});
|
|
224
|
+
ids.add(instance.id);
|
|
225
|
+
}
|
|
226
|
+
}));
|
|
227
|
+
}
|
|
228
|
+
//#endregion
|
|
169
229
|
//#region src/targets/or-v1.ts
|
|
170
230
|
/** The largest latitude and longitude, in degrees, either side of zero. */
|
|
171
231
|
const LATITUDE_LIMIT = 90;
|
|
@@ -204,65 +264,24 @@ const OrV1Schema = define(z.object({
|
|
|
204
264
|
addDuplicateIdIssues(instance.nodes, ctx);
|
|
205
265
|
}));
|
|
206
266
|
//#endregion
|
|
207
|
-
//#region src/targets/or-set-v1.ts
|
|
208
|
-
/** One instance of a set: an or/v1 instance, `{ meta, nodes }`, with the id that names it within the set (for a collection read from an archive, the member's path). */
|
|
209
|
-
const OrInstanceSchema = z.object({
|
|
210
|
-
id: z.string().min(1),
|
|
211
|
-
meta: recordOf(z.string().min(1), JsonScalarSchema),
|
|
212
|
-
nodes: z.array(OrNodeSchema)
|
|
213
|
-
}).strict();
|
|
214
|
-
/**
|
|
215
|
-
* The or-set/v1 normalisation target: `{ meta, instances }`, a collection of operations-research instances such as a benchmark suite, each instance an or/v1 document (`{ meta, nodes }`) under an id of its own. Beyond the shapes it checks that instance ids are unique in the set and node ids unique within each instance. A node id need not be unique across instances, because every instance numbers its own nodes.
|
|
216
|
-
*/
|
|
217
|
-
const OrSetV1Schema = define(z.object({
|
|
218
|
-
meta: recordOf(z.string().min(1), JsonScalarSchema),
|
|
219
|
-
instances: z.array(OrInstanceSchema)
|
|
220
|
-
}).strict().superRefine((set, ctx) => {
|
|
221
|
-
const ids = /* @__PURE__ */ new Set();
|
|
222
|
-
for (const [index, instance] of set.instances.entries()) {
|
|
223
|
-
if (ids.has(instance.id)) ctx.addIssue({
|
|
224
|
-
code: "custom",
|
|
225
|
-
path: [
|
|
226
|
-
"instances",
|
|
227
|
-
index,
|
|
228
|
-
"id"
|
|
229
|
-
],
|
|
230
|
-
message: `duplicate instance id ${JSON.stringify(instance.id)}`
|
|
231
|
-
});
|
|
232
|
-
ids.add(instance.id);
|
|
233
|
-
addDuplicateIdIssues(instance.nodes, ctx, ["instances", index]);
|
|
234
|
-
}
|
|
235
|
-
}));
|
|
236
|
-
//#endregion
|
|
237
267
|
//#region src/categories.ts
|
|
238
268
|
/** Every category id the registry knows. A category id is `<kind>/v<version>`: the kind of data, and the version of its normalisation target, so a breaking change to a target is a new category rather than an edit to an old one. */
|
|
239
|
-
const CategoryIdSchema = z.enum([
|
|
240
|
-
"graph/v1",
|
|
241
|
-
"or/v1",
|
|
242
|
-
"or-set/v1"
|
|
243
|
-
]);
|
|
269
|
+
const CategoryIdSchema = z.enum(["graph/v1", "or/v1"]);
|
|
244
270
|
/** The registry. Adding a category is adding its id to `CategoryIdSchema` and its entry here, with its target schema beside graph/v1's in src/targets/: the mapped type makes the compiler reject a registry that misses an id or has one too many. */
|
|
245
271
|
const registry = {
|
|
246
272
|
"graph/v1": {
|
|
247
273
|
id: "graph/v1",
|
|
248
274
|
description: "A graph as { meta, nodes, edges }: a flat record of scalar metadata, nodes carrying at least an id, and edges carrying at least source and target node ids, with optional node and edge types.",
|
|
249
|
-
shape: "document",
|
|
250
275
|
target: GraphV1Schema,
|
|
276
|
+
collection: collectionOf(GraphV1Schema),
|
|
251
277
|
counted: ["nodes", "edges"]
|
|
252
278
|
},
|
|
253
279
|
"or/v1": {
|
|
254
280
|
id: "or/v1",
|
|
255
281
|
description: "An operations-research instance as { meta, nodes }: a flat record of scalar metadata and nodes carrying at least an id, with optional coordinates, prize, prize probability, duration, travel time, skill, territory, lifecycle status and times, and deadline.",
|
|
256
|
-
shape: "document",
|
|
257
282
|
target: OrV1Schema,
|
|
283
|
+
collection: collectionOf(OrV1Schema),
|
|
258
284
|
counted: ["nodes"]
|
|
259
|
-
},
|
|
260
|
-
"or-set/v1": {
|
|
261
|
-
id: "or-set/v1",
|
|
262
|
-
description: "A collection of operations-research instances as { meta, instances }: a flat record of scalar metadata and instances, each an or/v1 document ({ meta, nodes }) under an id of its own, read from every matching member of an archive.",
|
|
263
|
-
shape: "collection",
|
|
264
|
-
target: OrSetV1Schema,
|
|
265
|
-
counted: ["instances"]
|
|
266
285
|
}
|
|
267
286
|
};
|
|
268
287
|
function getCategory(id) {
|
|
@@ -274,6 +293,15 @@ function getTarget(id) {
|
|
|
274
293
|
return getCategory(id).target;
|
|
275
294
|
}
|
|
276
295
|
/**
|
|
296
|
+
* Returns the schema of a collection of documents of a category: `{ meta, instances }`, each instance a document of the category under an id, derived from the category's own target schema.
|
|
297
|
+
* @param id - Any string, as for `getCategory`.
|
|
298
|
+
* @returns The collection schema.
|
|
299
|
+
* @throws UnknownCategoryError when no category has that id.
|
|
300
|
+
*/
|
|
301
|
+
function getCollectionTarget(id) {
|
|
302
|
+
return getCategory(id).collection;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
277
305
|
* The kind of data a category holds: the part of its id before the version.
|
|
278
306
|
* @param id - A category id.
|
|
279
307
|
* @returns The kind, such as `graph`.
|
|
@@ -286,26 +314,35 @@ function listCategories() {
|
|
|
286
314
|
return CategoryIdSchema.options.map((id) => getCategory(id));
|
|
287
315
|
}
|
|
288
316
|
/**
|
|
289
|
-
* The length of one of a target's
|
|
317
|
+
* The length of one of a target's arrays.
|
|
290
318
|
* @param target - A resolved target.
|
|
291
|
-
* @param key - A key
|
|
292
|
-
* @returns The
|
|
319
|
+
* @param key - A key that holds an array.
|
|
320
|
+
* @returns The array's length.
|
|
293
321
|
* @throws TypeError when the key holds no array, which a registry entry's `counted` never names.
|
|
294
322
|
*/
|
|
295
323
|
function countOf(target, key) {
|
|
296
|
-
const
|
|
297
|
-
if (!Array.isArray(
|
|
298
|
-
return
|
|
324
|
+
const found = Object.entries(target).find(([name]) => name === key)?.[1];
|
|
325
|
+
if (!Array.isArray(found)) throw new TypeError(`the target has no collection ${key}`);
|
|
326
|
+
return found.length;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* The keys of a resolved target an entry may record expected counts for: a document's own arrays, or for a collection its instances.
|
|
330
|
+
* @param id - The target's category.
|
|
331
|
+
* @param collection - Whether the entry's recipe reads a collection.
|
|
332
|
+
* @returns The countable keys.
|
|
333
|
+
*/
|
|
334
|
+
function countedKeys(id, collection) {
|
|
335
|
+
return collection ? COLLECTION_COUNTED : getCategory(id).counted;
|
|
299
336
|
}
|
|
300
337
|
/**
|
|
301
|
-
* Counts the
|
|
338
|
+
* Counts the arrays an entry may record expected counts for, in a resolved target.
|
|
302
339
|
* @param id - The target's category.
|
|
303
|
-
* @param target - A resolved
|
|
340
|
+
* @param target - A resolved document of that category, or a collection of them.
|
|
304
341
|
* @returns The length of each counted array, by key.
|
|
305
342
|
*/
|
|
306
343
|
function countTarget(id, target) {
|
|
307
|
-
const
|
|
308
|
-
return new Map(
|
|
344
|
+
const keys = countedKeys(id, "instances" in target);
|
|
345
|
+
return new Map(keys.map((key) => [key, countOf(target, key)]));
|
|
309
346
|
}
|
|
310
347
|
//#endregion
|
|
311
348
|
//#region src/own.ts
|
|
@@ -677,34 +714,16 @@ const EntrySchema = define(z.object({
|
|
|
677
714
|
path: ["recipe", "source"],
|
|
678
715
|
message: `names source ${String(entry.recipe.source)} but the entry has ${String(entry.sources.length)}`
|
|
679
716
|
});
|
|
680
|
-
if (entry.recipe.status === "fetchable") {
|
|
681
|
-
const selectsMembers = "members" in entry.recipe.archive;
|
|
682
|
-
const { shape } = getCategory(entry.category);
|
|
683
|
-
if (shape === "collection" && !selectsMembers) ctx.addIssue({
|
|
684
|
-
code: "custom",
|
|
685
|
-
path: ["recipe", "archive"],
|
|
686
|
-
message: `${entry.category} is a collection, so the archive must select its members with \`members\``
|
|
687
|
-
});
|
|
688
|
-
if (shape === "document" && selectsMembers) ctx.addIssue({
|
|
689
|
-
code: "custom",
|
|
690
|
-
path: [
|
|
691
|
-
"recipe",
|
|
692
|
-
"archive",
|
|
693
|
-
"members"
|
|
694
|
-
],
|
|
695
|
-
message: `${entry.category} is one document, so the archive selects one file with \`member\``
|
|
696
|
-
});
|
|
697
|
-
}
|
|
698
717
|
if ("target" in entry.crosswalk && entry.crosswalk.target !== entry.category) ctx.addIssue({
|
|
699
718
|
code: "custom",
|
|
700
719
|
path: ["crosswalk", "target"],
|
|
701
720
|
message: `must be the entry's category, ${entry.category}`
|
|
702
721
|
});
|
|
703
|
-
const counted =
|
|
722
|
+
const counted = countedKeys(entry.category, entry.recipe.status === "fetchable" && "members" in entry.recipe.archive);
|
|
704
723
|
for (const key of Object.keys(entry.expectedCounts)) if (!counted.includes(key)) ctx.addIssue({
|
|
705
724
|
code: "custom",
|
|
706
725
|
path: ["expectedCounts", key],
|
|
707
|
-
message: `${entry.category} counts only ${counted.join(", ")}`
|
|
726
|
+
message: `${entry.category} ${entry.recipe.status === "fetchable" && "members" in entry.recipe.archive ? "collections count" : "counts"} only ${counted.join(", ")}`
|
|
708
727
|
});
|
|
709
728
|
for (const key of RESERVED_META_KEYS) if (Object.hasOwn(entry.properties, key)) ctx.addIssue({
|
|
710
729
|
code: "custom",
|
|
@@ -1017,7 +1036,7 @@ var catalogue_default = {
|
|
|
1017
1036
|
"id": "keepset",
|
|
1018
1037
|
"name": "keepset",
|
|
1019
1038
|
"description": "The keepset catalogue: datasets with machine-readable recipes that fetch each one and normalise it into its category's target shape.",
|
|
1020
|
-
"version": "1.
|
|
1039
|
+
"version": "1.19.0",
|
|
1021
1040
|
"repository": "https://github.com/Mearman/keepset",
|
|
1022
1041
|
"namespaceAliases": {
|
|
1023
1042
|
"networkrepository": ["nr"],
|
|
@@ -7124,7 +7143,7 @@ var catalogue_default = {
|
|
|
7124
7143
|
"skills",
|
|
7125
7144
|
"travelTime"
|
|
7126
7145
|
],
|
|
7127
|
-
"category": "or
|
|
7146
|
+
"category": "or/v1",
|
|
7128
7147
|
"sources": [{
|
|
7129
7148
|
"url": "https://github.com/BasCoding/VeRoLog-2019",
|
|
7130
7149
|
"retrieved": "2026-10-19",
|
|
@@ -7150,7 +7169,7 @@ var catalogue_default = {
|
|
|
7150
7169
|
},
|
|
7151
7170
|
"crosswalk": {
|
|
7152
7171
|
"source": "verolog-2019",
|
|
7153
|
-
"target": "or
|
|
7172
|
+
"target": "or/v1",
|
|
7154
7173
|
"rules": [
|
|
7155
7174
|
{
|
|
7156
7175
|
"op": "move",
|
|
@@ -7159,113 +7178,48 @@ var catalogue_default = {
|
|
|
7159
7178
|
},
|
|
7160
7179
|
{
|
|
7161
7180
|
"op": "move",
|
|
7162
|
-
"from": "
|
|
7163
|
-
"to": "
|
|
7164
|
-
},
|
|
7165
|
-
{
|
|
7166
|
-
"op": "move",
|
|
7167
|
-
"from": "members[].meta.dataset",
|
|
7168
|
-
"to": "instances[].meta.dataset"
|
|
7169
|
-
},
|
|
7170
|
-
{
|
|
7171
|
-
"op": "move",
|
|
7172
|
-
"from": "members[].meta.name",
|
|
7173
|
-
"to": "instances[].meta.name"
|
|
7174
|
-
},
|
|
7175
|
-
{
|
|
7176
|
-
"op": "move",
|
|
7177
|
-
"from": "members[].meta.days",
|
|
7178
|
-
"to": "instances[].meta.days"
|
|
7179
|
-
},
|
|
7180
|
-
{
|
|
7181
|
-
"op": "move",
|
|
7182
|
-
"from": "members[].meta.truckCapacity",
|
|
7183
|
-
"to": "instances[].meta.truckCapacity"
|
|
7184
|
-
},
|
|
7185
|
-
{
|
|
7186
|
-
"op": "move",
|
|
7187
|
-
"from": "members[].meta.truckMaxDistance",
|
|
7188
|
-
"to": "instances[].meta.truckMaxDistance"
|
|
7189
|
-
},
|
|
7190
|
-
{
|
|
7191
|
-
"op": "move",
|
|
7192
|
-
"from": "members[].meta.truckDistanceCost",
|
|
7193
|
-
"to": "instances[].meta.truckDistanceCost"
|
|
7194
|
-
},
|
|
7195
|
-
{
|
|
7196
|
-
"op": "move",
|
|
7197
|
-
"from": "members[].meta.truckDayCost",
|
|
7198
|
-
"to": "instances[].meta.truckDayCost"
|
|
7199
|
-
},
|
|
7200
|
-
{
|
|
7201
|
-
"op": "move",
|
|
7202
|
-
"from": "members[].meta.truckCost",
|
|
7203
|
-
"to": "instances[].meta.truckCost"
|
|
7204
|
-
},
|
|
7205
|
-
{
|
|
7206
|
-
"op": "move",
|
|
7207
|
-
"from": "members[].meta.technicianDistanceCost",
|
|
7208
|
-
"to": "instances[].meta.technicianDistanceCost"
|
|
7209
|
-
},
|
|
7210
|
-
{
|
|
7211
|
-
"op": "move",
|
|
7212
|
-
"from": "members[].meta.technicianDayCost",
|
|
7213
|
-
"to": "instances[].meta.technicianDayCost"
|
|
7214
|
-
},
|
|
7215
|
-
{
|
|
7216
|
-
"op": "move",
|
|
7217
|
-
"from": "members[].meta.technicianCost",
|
|
7218
|
-
"to": "instances[].meta.technicianCost"
|
|
7219
|
-
},
|
|
7220
|
-
{
|
|
7221
|
-
"op": "move",
|
|
7222
|
-
"from": "members[].meta.technicians",
|
|
7223
|
-
"to": "instances[].meta.technicians"
|
|
7224
|
-
},
|
|
7225
|
-
{
|
|
7226
|
-
"op": "move",
|
|
7227
|
-
"from": "members[].nodes[].id",
|
|
7228
|
-
"to": "instances[].nodes[].id"
|
|
7181
|
+
"from": "nodes[].id",
|
|
7182
|
+
"to": "nodes[].id"
|
|
7229
7183
|
},
|
|
7230
7184
|
{
|
|
7231
7185
|
"op": "move",
|
|
7232
|
-
"from": "
|
|
7233
|
-
"to": "
|
|
7186
|
+
"from": "nodes[].machine",
|
|
7187
|
+
"to": "nodes[].skill"
|
|
7234
7188
|
},
|
|
7235
7189
|
{
|
|
7236
7190
|
"op": "move",
|
|
7237
|
-
"from": "
|
|
7238
|
-
"to": "
|
|
7191
|
+
"from": "nodes[].x",
|
|
7192
|
+
"to": "nodes[].x"
|
|
7239
7193
|
},
|
|
7240
7194
|
{
|
|
7241
7195
|
"op": "move",
|
|
7242
|
-
"from": "
|
|
7243
|
-
"to": "
|
|
7196
|
+
"from": "nodes[].y",
|
|
7197
|
+
"to": "nodes[].y"
|
|
7244
7198
|
},
|
|
7245
7199
|
{
|
|
7246
7200
|
"op": "move",
|
|
7247
|
-
"from": "
|
|
7248
|
-
"to": "
|
|
7201
|
+
"from": "nodes[].kind",
|
|
7202
|
+
"to": "nodes[].kind"
|
|
7249
7203
|
},
|
|
7250
7204
|
{
|
|
7251
7205
|
"op": "move",
|
|
7252
|
-
"from": "
|
|
7253
|
-
"to": "
|
|
7206
|
+
"from": "nodes[].location",
|
|
7207
|
+
"to": "nodes[].location"
|
|
7254
7208
|
},
|
|
7255
7209
|
{
|
|
7256
7210
|
"op": "move",
|
|
7257
|
-
"from": "
|
|
7258
|
-
"to": "
|
|
7211
|
+
"from": "nodes[].fromDay",
|
|
7212
|
+
"to": "nodes[].fromDay"
|
|
7259
7213
|
},
|
|
7260
7214
|
{
|
|
7261
7215
|
"op": "move",
|
|
7262
|
-
"from": "
|
|
7263
|
-
"to": "
|
|
7216
|
+
"from": "nodes[].toDay",
|
|
7217
|
+
"to": "nodes[].toDay"
|
|
7264
7218
|
},
|
|
7265
7219
|
{
|
|
7266
7220
|
"op": "move",
|
|
7267
|
-
"from": "
|
|
7268
|
-
"to": "
|
|
7221
|
+
"from": "nodes[].amount",
|
|
7222
|
+
"to": "nodes[].amount"
|
|
7269
7223
|
}
|
|
7270
7224
|
],
|
|
7271
7225
|
"oneWay": []
|
|
@@ -7346,7 +7300,7 @@ var catalogue_default = {
|
|
|
7346
7300
|
"duration",
|
|
7347
7301
|
"travelTime"
|
|
7348
7302
|
],
|
|
7349
|
-
"category": "or
|
|
7303
|
+
"category": "or/v1",
|
|
7350
7304
|
"sources": [{
|
|
7351
7305
|
"url": "https://github.com/psxjpc/MOVRPTW-Generator",
|
|
7352
7306
|
"retrieved": "2026-10-19",
|
|
@@ -7381,7 +7335,7 @@ var catalogue_default = {
|
|
|
7381
7335
|
},
|
|
7382
7336
|
"crosswalk": {
|
|
7383
7337
|
"source": "solomon",
|
|
7384
|
-
"target": "or
|
|
7338
|
+
"target": "or/v1",
|
|
7385
7339
|
"rules": [
|
|
7386
7340
|
{
|
|
7387
7341
|
"op": "move",
|
|
@@ -7390,58 +7344,38 @@ var catalogue_default = {
|
|
|
7390
7344
|
},
|
|
7391
7345
|
{
|
|
7392
7346
|
"op": "move",
|
|
7393
|
-
"from": "
|
|
7394
|
-
"to": "
|
|
7395
|
-
},
|
|
7396
|
-
{
|
|
7397
|
-
"op": "move",
|
|
7398
|
-
"from": "members[].meta.name",
|
|
7399
|
-
"to": "instances[].meta.name"
|
|
7400
|
-
},
|
|
7401
|
-
{
|
|
7402
|
-
"op": "move",
|
|
7403
|
-
"from": "members[].meta.vehicles",
|
|
7404
|
-
"to": "instances[].meta.vehicles"
|
|
7405
|
-
},
|
|
7406
|
-
{
|
|
7407
|
-
"op": "move",
|
|
7408
|
-
"from": "members[].meta.capacity",
|
|
7409
|
-
"to": "instances[].meta.capacity"
|
|
7410
|
-
},
|
|
7411
|
-
{
|
|
7412
|
-
"op": "move",
|
|
7413
|
-
"from": "members[].nodes[].id",
|
|
7414
|
-
"to": "instances[].nodes[].id"
|
|
7347
|
+
"from": "nodes[].id",
|
|
7348
|
+
"to": "nodes[].id"
|
|
7415
7349
|
},
|
|
7416
7350
|
{
|
|
7417
7351
|
"op": "move",
|
|
7418
|
-
"from": "
|
|
7419
|
-
"to": "
|
|
7352
|
+
"from": "nodes[].due",
|
|
7353
|
+
"to": "nodes[].deadline"
|
|
7420
7354
|
},
|
|
7421
7355
|
{
|
|
7422
7356
|
"op": "move",
|
|
7423
|
-
"from": "
|
|
7424
|
-
"to": "
|
|
7357
|
+
"from": "nodes[].service",
|
|
7358
|
+
"to": "nodes[].duration"
|
|
7425
7359
|
},
|
|
7426
7360
|
{
|
|
7427
7361
|
"op": "move",
|
|
7428
|
-
"from": "
|
|
7429
|
-
"to": "
|
|
7362
|
+
"from": "nodes[].x",
|
|
7363
|
+
"to": "nodes[].lat"
|
|
7430
7364
|
},
|
|
7431
7365
|
{
|
|
7432
7366
|
"op": "move",
|
|
7433
|
-
"from": "
|
|
7434
|
-
"to": "
|
|
7367
|
+
"from": "nodes[].y",
|
|
7368
|
+
"to": "nodes[].lon"
|
|
7435
7369
|
},
|
|
7436
7370
|
{
|
|
7437
7371
|
"op": "move",
|
|
7438
|
-
"from": "
|
|
7439
|
-
"to": "
|
|
7372
|
+
"from": "nodes[].demand",
|
|
7373
|
+
"to": "nodes[].demand"
|
|
7440
7374
|
},
|
|
7441
7375
|
{
|
|
7442
7376
|
"op": "move",
|
|
7443
|
-
"from": "
|
|
7444
|
-
"to": "
|
|
7377
|
+
"from": "nodes[].ready",
|
|
7378
|
+
"to": "nodes[].ready"
|
|
7445
7379
|
}
|
|
7446
7380
|
],
|
|
7447
7381
|
"oneWay": []
|
|
@@ -8805,7 +8739,7 @@ var catalogue_default = {
|
|
|
8805
8739
|
"location",
|
|
8806
8740
|
"travelTime"
|
|
8807
8741
|
],
|
|
8808
|
-
"category": "or
|
|
8742
|
+
"category": "or/v1",
|
|
8809
8743
|
"sources": [{
|
|
8810
8744
|
"url": "https://www.mech.kuleuven.be/en/mim/op",
|
|
8811
8745
|
"retrieved": "2026-10-19",
|
|
@@ -8831,7 +8765,7 @@ var catalogue_default = {
|
|
|
8831
8765
|
},
|
|
8832
8766
|
"crosswalk": {
|
|
8833
8767
|
"source": "top",
|
|
8834
|
-
"target": "or
|
|
8768
|
+
"target": "or/v1",
|
|
8835
8769
|
"rules": [
|
|
8836
8770
|
{
|
|
8837
8771
|
"op": "move",
|
|
@@ -8840,48 +8774,28 @@ var catalogue_default = {
|
|
|
8840
8774
|
},
|
|
8841
8775
|
{
|
|
8842
8776
|
"op": "move",
|
|
8843
|
-
"from": "
|
|
8844
|
-
"to": "
|
|
8845
|
-
},
|
|
8846
|
-
{
|
|
8847
|
-
"op": "move",
|
|
8848
|
-
"from": "members[].meta.points",
|
|
8849
|
-
"to": "instances[].meta.points"
|
|
8850
|
-
},
|
|
8851
|
-
{
|
|
8852
|
-
"op": "move",
|
|
8853
|
-
"from": "members[].meta.paths",
|
|
8854
|
-
"to": "instances[].meta.paths"
|
|
8855
|
-
},
|
|
8856
|
-
{
|
|
8857
|
-
"op": "move",
|
|
8858
|
-
"from": "members[].meta.budget",
|
|
8859
|
-
"to": "instances[].meta.budget"
|
|
8860
|
-
},
|
|
8861
|
-
{
|
|
8862
|
-
"op": "move",
|
|
8863
|
-
"from": "members[].nodes[].id",
|
|
8864
|
-
"to": "instances[].nodes[].id"
|
|
8777
|
+
"from": "nodes[].id",
|
|
8778
|
+
"to": "nodes[].id"
|
|
8865
8779
|
},
|
|
8866
8780
|
{
|
|
8867
8781
|
"op": "move",
|
|
8868
|
-
"from": "
|
|
8869
|
-
"to": "
|
|
8782
|
+
"from": "nodes[].score",
|
|
8783
|
+
"to": "nodes[].prize"
|
|
8870
8784
|
},
|
|
8871
8785
|
{
|
|
8872
8786
|
"op": "move",
|
|
8873
|
-
"from": "
|
|
8874
|
-
"to": "
|
|
8787
|
+
"from": "nodes[].x",
|
|
8788
|
+
"to": "nodes[].x"
|
|
8875
8789
|
},
|
|
8876
8790
|
{
|
|
8877
8791
|
"op": "move",
|
|
8878
|
-
"from": "
|
|
8879
|
-
"to": "
|
|
8792
|
+
"from": "nodes[].y",
|
|
8793
|
+
"to": "nodes[].y"
|
|
8880
8794
|
},
|
|
8881
8795
|
{
|
|
8882
8796
|
"op": "move",
|
|
8883
|
-
"from": "
|
|
8884
|
-
"to": "
|
|
8797
|
+
"from": "nodes[].role",
|
|
8798
|
+
"to": "nodes[].role"
|
|
8885
8799
|
}
|
|
8886
8800
|
],
|
|
8887
8801
|
"oneWay": []
|
|
@@ -8903,7 +8817,7 @@ var catalogue_default = {
|
|
|
8903
8817
|
"duration",
|
|
8904
8818
|
"travelTime"
|
|
8905
8819
|
],
|
|
8906
|
-
"category": "or
|
|
8820
|
+
"category": "or/v1",
|
|
8907
8821
|
"sources": [{
|
|
8908
8822
|
"url": "https://www.mech.kuleuven.be/en/mim/op",
|
|
8909
8823
|
"retrieved": "2026-10-19",
|
|
@@ -8929,7 +8843,7 @@ var catalogue_default = {
|
|
|
8929
8843
|
},
|
|
8930
8844
|
"crosswalk": {
|
|
8931
8845
|
"source": "toptw",
|
|
8932
|
-
"target": "or
|
|
8846
|
+
"target": "or/v1",
|
|
8933
8847
|
"rules": [
|
|
8934
8848
|
{
|
|
8935
8849
|
"op": "move",
|
|
@@ -8938,58 +8852,38 @@ var catalogue_default = {
|
|
|
8938
8852
|
},
|
|
8939
8853
|
{
|
|
8940
8854
|
"op": "move",
|
|
8941
|
-
"from": "
|
|
8942
|
-
"to": "
|
|
8943
|
-
},
|
|
8944
|
-
{
|
|
8945
|
-
"op": "move",
|
|
8946
|
-
"from": "members[].meta.paths",
|
|
8947
|
-
"to": "instances[].meta.paths"
|
|
8948
|
-
},
|
|
8949
|
-
{
|
|
8950
|
-
"op": "move",
|
|
8951
|
-
"from": "members[].meta.customers",
|
|
8952
|
-
"to": "instances[].meta.customers"
|
|
8953
|
-
},
|
|
8954
|
-
{
|
|
8955
|
-
"op": "move",
|
|
8956
|
-
"from": "members[].meta.capacity",
|
|
8957
|
-
"to": "instances[].meta.capacity"
|
|
8958
|
-
},
|
|
8959
|
-
{
|
|
8960
|
-
"op": "move",
|
|
8961
|
-
"from": "members[].nodes[].id",
|
|
8962
|
-
"to": "instances[].nodes[].id"
|
|
8855
|
+
"from": "nodes[].id",
|
|
8856
|
+
"to": "nodes[].id"
|
|
8963
8857
|
},
|
|
8964
8858
|
{
|
|
8965
8859
|
"op": "move",
|
|
8966
|
-
"from": "
|
|
8967
|
-
"to": "
|
|
8860
|
+
"from": "nodes[].close",
|
|
8861
|
+
"to": "nodes[].deadline"
|
|
8968
8862
|
},
|
|
8969
8863
|
{
|
|
8970
8864
|
"op": "move",
|
|
8971
|
-
"from": "
|
|
8972
|
-
"to": "
|
|
8865
|
+
"from": "nodes[].profit",
|
|
8866
|
+
"to": "nodes[].prize"
|
|
8973
8867
|
},
|
|
8974
8868
|
{
|
|
8975
8869
|
"op": "move",
|
|
8976
|
-
"from": "
|
|
8977
|
-
"to": "
|
|
8870
|
+
"from": "nodes[].x",
|
|
8871
|
+
"to": "nodes[].x"
|
|
8978
8872
|
},
|
|
8979
8873
|
{
|
|
8980
8874
|
"op": "move",
|
|
8981
|
-
"from": "
|
|
8982
|
-
"to": "
|
|
8875
|
+
"from": "nodes[].y",
|
|
8876
|
+
"to": "nodes[].y"
|
|
8983
8877
|
},
|
|
8984
8878
|
{
|
|
8985
8879
|
"op": "move",
|
|
8986
|
-
"from": "
|
|
8987
|
-
"to": "
|
|
8880
|
+
"from": "nodes[].service",
|
|
8881
|
+
"to": "nodes[].service"
|
|
8988
8882
|
},
|
|
8989
8883
|
{
|
|
8990
8884
|
"op": "move",
|
|
8991
|
-
"from": "
|
|
8992
|
-
"to": "
|
|
8885
|
+
"from": "nodes[].open",
|
|
8886
|
+
"to": "nodes[].open"
|
|
8993
8887
|
}
|
|
8994
8888
|
],
|
|
8995
8889
|
"oneWay": []
|
|
@@ -9051,7 +8945,7 @@ var catalogue_default = {
|
|
|
9051
8945
|
"duration",
|
|
9052
8946
|
"travelTime"
|
|
9053
8947
|
],
|
|
9054
|
-
"category": "or
|
|
8948
|
+
"category": "or/v1",
|
|
9055
8949
|
"sources": [{
|
|
9056
8950
|
"url": "https://neo.lcc.uma.es/vrp/vrp-instances/capacitated-vrp-with-time-windows-instances/",
|
|
9057
8951
|
"retrieved": "2026-10-19",
|
|
@@ -9077,7 +8971,7 @@ var catalogue_default = {
|
|
|
9077
8971
|
},
|
|
9078
8972
|
"crosswalk": {
|
|
9079
8973
|
"source": "solomon",
|
|
9080
|
-
"target": "or
|
|
8974
|
+
"target": "or/v1",
|
|
9081
8975
|
"rules": [
|
|
9082
8976
|
{
|
|
9083
8977
|
"op": "move",
|
|
@@ -9086,58 +8980,38 @@ var catalogue_default = {
|
|
|
9086
8980
|
},
|
|
9087
8981
|
{
|
|
9088
8982
|
"op": "move",
|
|
9089
|
-
"from": "
|
|
9090
|
-
"to": "
|
|
9091
|
-
},
|
|
9092
|
-
{
|
|
9093
|
-
"op": "move",
|
|
9094
|
-
"from": "members[].meta.name",
|
|
9095
|
-
"to": "instances[].meta.name"
|
|
9096
|
-
},
|
|
9097
|
-
{
|
|
9098
|
-
"op": "move",
|
|
9099
|
-
"from": "members[].meta.vehicles",
|
|
9100
|
-
"to": "instances[].meta.vehicles"
|
|
9101
|
-
},
|
|
9102
|
-
{
|
|
9103
|
-
"op": "move",
|
|
9104
|
-
"from": "members[].meta.capacity",
|
|
9105
|
-
"to": "instances[].meta.capacity"
|
|
9106
|
-
},
|
|
9107
|
-
{
|
|
9108
|
-
"op": "move",
|
|
9109
|
-
"from": "members[].nodes[].id",
|
|
9110
|
-
"to": "instances[].nodes[].id"
|
|
8983
|
+
"from": "nodes[].id",
|
|
8984
|
+
"to": "nodes[].id"
|
|
9111
8985
|
},
|
|
9112
8986
|
{
|
|
9113
8987
|
"op": "move",
|
|
9114
|
-
"from": "
|
|
9115
|
-
"to": "
|
|
8988
|
+
"from": "nodes[].due",
|
|
8989
|
+
"to": "nodes[].deadline"
|
|
9116
8990
|
},
|
|
9117
8991
|
{
|
|
9118
8992
|
"op": "move",
|
|
9119
|
-
"from": "
|
|
9120
|
-
"to": "
|
|
8993
|
+
"from": "nodes[].x",
|
|
8994
|
+
"to": "nodes[].x"
|
|
9121
8995
|
},
|
|
9122
8996
|
{
|
|
9123
8997
|
"op": "move",
|
|
9124
|
-
"from": "
|
|
9125
|
-
"to": "
|
|
8998
|
+
"from": "nodes[].y",
|
|
8999
|
+
"to": "nodes[].y"
|
|
9126
9000
|
},
|
|
9127
9001
|
{
|
|
9128
9002
|
"op": "move",
|
|
9129
|
-
"from": "
|
|
9130
|
-
"to": "
|
|
9003
|
+
"from": "nodes[].demand",
|
|
9004
|
+
"to": "nodes[].demand"
|
|
9131
9005
|
},
|
|
9132
9006
|
{
|
|
9133
9007
|
"op": "move",
|
|
9134
|
-
"from": "
|
|
9135
|
-
"to": "
|
|
9008
|
+
"from": "nodes[].ready",
|
|
9009
|
+
"to": "nodes[].ready"
|
|
9136
9010
|
},
|
|
9137
9011
|
{
|
|
9138
9012
|
"op": "move",
|
|
9139
|
-
"from": "
|
|
9140
|
-
"to": "
|
|
9013
|
+
"from": "nodes[].service",
|
|
9014
|
+
"to": "nodes[].service"
|
|
9141
9015
|
}
|
|
9142
9016
|
],
|
|
9143
9017
|
"oneWay": []
|
|
@@ -10350,6 +10224,10 @@ var catalogue_default = {
|
|
|
10350
10224
|
"url": "https://doi.org/10.1016/j.dib.2024.110845",
|
|
10351
10225
|
"retrieved": "2026-10-19",
|
|
10352
10226
|
"status": "live"
|
|
10227
|
+
}, {
|
|
10228
|
+
"url": "https://data.mendeley.com/public-files/datasets/cb8d2nsjss/files/4c6c74f2-8bac-423c-a0c9-143130e1eea2/file_downloaded",
|
|
10229
|
+
"retrieved": "2026-10-19",
|
|
10230
|
+
"status": "live"
|
|
10353
10231
|
}],
|
|
10354
10232
|
"licence": {
|
|
10355
10233
|
"kind": "spdx",
|
|
@@ -10357,10 +10235,46 @@ var catalogue_default = {
|
|
|
10357
10235
|
},
|
|
10358
10236
|
"citations": [],
|
|
10359
10237
|
"recipe": {
|
|
10360
|
-
"status": "
|
|
10361
|
-
"
|
|
10238
|
+
"status": "fetchable",
|
|
10239
|
+
"source": 1,
|
|
10240
|
+
"archive": { "kind": "none" },
|
|
10241
|
+
"parser": {
|
|
10242
|
+
"format": "csv-table",
|
|
10243
|
+
"encoding": "utf-8",
|
|
10244
|
+
"delimiter": "comma",
|
|
10245
|
+
"skipLines": 0,
|
|
10246
|
+
"idColumn": null,
|
|
10247
|
+
"numericColumns": [],
|
|
10248
|
+
"columns": ["WOStartDate", "SystemDescription"]
|
|
10249
|
+
}
|
|
10250
|
+
},
|
|
10251
|
+
"crosswalk": {
|
|
10252
|
+
"source": "csv-table",
|
|
10253
|
+
"target": "or/v1",
|
|
10254
|
+
"rules": [
|
|
10255
|
+
{
|
|
10256
|
+
"op": "move",
|
|
10257
|
+
"from": "meta",
|
|
10258
|
+
"to": "meta"
|
|
10259
|
+
},
|
|
10260
|
+
{
|
|
10261
|
+
"op": "move",
|
|
10262
|
+
"from": "nodes[].id",
|
|
10263
|
+
"to": "nodes[].id"
|
|
10264
|
+
},
|
|
10265
|
+
{
|
|
10266
|
+
"op": "move",
|
|
10267
|
+
"from": "nodes[].WOStartDate",
|
|
10268
|
+
"to": "nodes[].opened"
|
|
10269
|
+
},
|
|
10270
|
+
{
|
|
10271
|
+
"op": "move",
|
|
10272
|
+
"from": "nodes[].SystemDescription",
|
|
10273
|
+
"to": "nodes[].skill"
|
|
10274
|
+
}
|
|
10275
|
+
],
|
|
10276
|
+
"oneWay": []
|
|
10362
10277
|
},
|
|
10363
|
-
"crosswalk": { "file": "crosswalks/or-v1/nodes.json" },
|
|
10364
10278
|
"expectedCounts": {},
|
|
10365
10279
|
"properties": { "surveyId": "or-23" }
|
|
10366
10280
|
},
|
|
@@ -10458,7 +10372,7 @@ var catalogue_default = {
|
|
|
10458
10372
|
"citations": [],
|
|
10459
10373
|
"recipe": {
|
|
10460
10374
|
"status": "not-fetchable",
|
|
10461
|
-
"reason": "The county-level file
|
|
10375
|
+
"reason": "The county-level file has 14,365,643 rows, so even the id alone passes the importer's cell limit (a mapped column would hold twice that many cells), and 8,264 of its rows have unquoted commas in the state and county names of the armed forces entries, which the csv-table parser refuses at line 1892."
|
|
10462
10376
|
},
|
|
10463
10377
|
"crosswalk": { "file": "crosswalks/or-v1/nodes.json" },
|
|
10464
10378
|
"expectedCounts": {},
|
|
@@ -56471,7 +56385,7 @@ var catalogue_default = {
|
|
|
56471
56385
|
"territory",
|
|
56472
56386
|
"travelTime"
|
|
56473
56387
|
],
|
|
56474
|
-
"category": "or
|
|
56388
|
+
"category": "or/v1",
|
|
56475
56389
|
"sources": [{
|
|
56476
56390
|
"url": "http://www.vrp-rep.org/datasets/download/angelelli-et-al-2014.zip",
|
|
56477
56391
|
"retrieved": "2026-10-19",
|
|
@@ -56497,7 +56411,7 @@ var catalogue_default = {
|
|
|
56497
56411
|
},
|
|
56498
56412
|
"crosswalk": {
|
|
56499
56413
|
"source": "tsplib",
|
|
56500
|
-
"target": "or
|
|
56414
|
+
"target": "or/v1",
|
|
56501
56415
|
"rules": [
|
|
56502
56416
|
{
|
|
56503
56417
|
"op": "move",
|
|
@@ -56506,82 +56420,44 @@ var catalogue_default = {
|
|
|
56506
56420
|
},
|
|
56507
56421
|
{
|
|
56508
56422
|
"op": "move",
|
|
56509
|
-
"from": "
|
|
56510
|
-
"to": "
|
|
56511
|
-
},
|
|
56512
|
-
{
|
|
56513
|
-
"op": "move",
|
|
56514
|
-
"from": "members[].meta.name",
|
|
56515
|
-
"to": "instances[].meta.name"
|
|
56516
|
-
},
|
|
56517
|
-
{
|
|
56518
|
-
"op": "move",
|
|
56519
|
-
"from": "members[].meta.type",
|
|
56520
|
-
"to": "instances[].meta.type"
|
|
56521
|
-
},
|
|
56522
|
-
{
|
|
56523
|
-
"op": "move",
|
|
56524
|
-
"from": "members[].meta.budget",
|
|
56525
|
-
"to": "instances[].meta.budget"
|
|
56526
|
-
},
|
|
56527
|
-
{
|
|
56528
|
-
"op": "move",
|
|
56529
|
-
"from": "members[].meta.edgeWeightType",
|
|
56530
|
-
"to": "instances[].meta.edgeWeightType"
|
|
56531
|
-
},
|
|
56532
|
-
{
|
|
56533
|
-
"op": "move",
|
|
56534
|
-
"from": "members[].meta.setPrizes",
|
|
56535
|
-
"to": "instances[].meta.setPrizes"
|
|
56536
|
-
},
|
|
56537
|
-
{
|
|
56538
|
-
"op": "move",
|
|
56539
|
-
"from": "members[].nodes[].id",
|
|
56540
|
-
"to": "instances[].nodes[].id"
|
|
56423
|
+
"from": "nodes[].id",
|
|
56424
|
+
"to": "nodes[].id"
|
|
56541
56425
|
},
|
|
56542
56426
|
{
|
|
56543
56427
|
"op": "move",
|
|
56544
|
-
"from": "
|
|
56545
|
-
"to": "
|
|
56428
|
+
"from": "nodes[].lat",
|
|
56429
|
+
"to": "nodes[].lat"
|
|
56546
56430
|
},
|
|
56547
56431
|
{
|
|
56548
56432
|
"op": "move",
|
|
56549
|
-
"from": "
|
|
56550
|
-
"to": "
|
|
56433
|
+
"from": "nodes[].lon",
|
|
56434
|
+
"to": "nodes[].lon"
|
|
56551
56435
|
},
|
|
56552
56436
|
{
|
|
56553
56437
|
"op": "move",
|
|
56554
|
-
"from": "
|
|
56555
|
-
"to": "
|
|
56438
|
+
"from": "nodes[].x",
|
|
56439
|
+
"to": "nodes[].x"
|
|
56556
56440
|
},
|
|
56557
56441
|
{
|
|
56558
56442
|
"op": "move",
|
|
56559
|
-
"from": "
|
|
56560
|
-
"to": "
|
|
56443
|
+
"from": "nodes[].y",
|
|
56444
|
+
"to": "nodes[].y"
|
|
56561
56445
|
},
|
|
56562
56446
|
{
|
|
56563
56447
|
"op": "move",
|
|
56564
|
-
"from": "
|
|
56565
|
-
"to": "
|
|
56448
|
+
"from": "nodes[].clusters",
|
|
56449
|
+
"to": "nodes[].clusters"
|
|
56566
56450
|
}
|
|
56567
56451
|
],
|
|
56568
|
-
"oneWay": [
|
|
56569
|
-
|
|
56570
|
-
|
|
56571
|
-
|
|
56572
|
-
|
|
56573
|
-
|
|
56574
|
-
|
|
56575
|
-
|
|
56576
|
-
|
|
56577
|
-
"direction": "encode"
|
|
56578
|
-
},
|
|
56579
|
-
{
|
|
56580
|
-
"op": "drop",
|
|
56581
|
-
"from": "members[].nodes[].probability",
|
|
56582
|
-
"direction": "encode"
|
|
56583
|
-
}
|
|
56584
|
-
]
|
|
56452
|
+
"oneWay": [{
|
|
56453
|
+
"op": "drop",
|
|
56454
|
+
"from": "nodes[].prize",
|
|
56455
|
+
"direction": "encode"
|
|
56456
|
+
}, {
|
|
56457
|
+
"op": "drop",
|
|
56458
|
+
"from": "nodes[].probability",
|
|
56459
|
+
"direction": "encode"
|
|
56460
|
+
}]
|
|
56585
56461
|
},
|
|
56586
56462
|
"expectedCounts": { "instances": 924 },
|
|
56587
56463
|
"properties": { "surveyId": "or-4" }
|
|
@@ -56594,7 +56470,7 @@ var catalogue_default = {
|
|
|
56594
56470
|
"description": "Park-and-loop routing instances built from real client locations in France, with coordinates and service times in minutes.",
|
|
56595
56471
|
"domain": "Vehicle routing with time windows",
|
|
56596
56472
|
"tags": ["location", "duration"],
|
|
56597
|
-
"category": "or
|
|
56473
|
+
"category": "or/v1",
|
|
56598
56474
|
"sources": [{
|
|
56599
56475
|
"url": "http://www.vrp-rep.org/datasets/download/cabrera-et-al-2021.zip",
|
|
56600
56476
|
"retrieved": "2026-10-19",
|
|
@@ -56642,7 +56518,7 @@ var catalogue_default = {
|
|
|
56642
56518
|
},
|
|
56643
56519
|
"crosswalk": {
|
|
56644
56520
|
"source": "csv-table",
|
|
56645
|
-
"target": "or
|
|
56521
|
+
"target": "or/v1",
|
|
56646
56522
|
"rules": [
|
|
56647
56523
|
{
|
|
56648
56524
|
"op": "move",
|
|
@@ -56651,33 +56527,23 @@ var catalogue_default = {
|
|
|
56651
56527
|
},
|
|
56652
56528
|
{
|
|
56653
56529
|
"op": "move",
|
|
56654
|
-
"from": "
|
|
56655
|
-
"to": "
|
|
56656
|
-
},
|
|
56657
|
-
{
|
|
56658
|
-
"op": "move",
|
|
56659
|
-
"from": "members[].meta",
|
|
56660
|
-
"to": "instances[].meta"
|
|
56661
|
-
},
|
|
56662
|
-
{
|
|
56663
|
-
"op": "move",
|
|
56664
|
-
"from": "members[].nodes[].id",
|
|
56665
|
-
"to": "instances[].nodes[].id"
|
|
56530
|
+
"from": "nodes[].id",
|
|
56531
|
+
"to": "nodes[].id"
|
|
56666
56532
|
},
|
|
56667
56533
|
{
|
|
56668
56534
|
"op": "move",
|
|
56669
|
-
"from": "
|
|
56670
|
-
"to": "
|
|
56535
|
+
"from": "nodes[].ServiceTime_min",
|
|
56536
|
+
"to": "nodes[].duration"
|
|
56671
56537
|
},
|
|
56672
56538
|
{
|
|
56673
56539
|
"op": "move",
|
|
56674
|
-
"from": "
|
|
56675
|
-
"to": "
|
|
56540
|
+
"from": "nodes[].Latitude",
|
|
56541
|
+
"to": "nodes[].lat"
|
|
56676
56542
|
},
|
|
56677
56543
|
{
|
|
56678
56544
|
"op": "move",
|
|
56679
|
-
"from": "
|
|
56680
|
-
"to": "
|
|
56545
|
+
"from": "nodes[].Longitude",
|
|
56546
|
+
"to": "nodes[].lon"
|
|
56681
56547
|
}
|
|
56682
56548
|
],
|
|
56683
56549
|
"oneWay": []
|
|
@@ -56700,7 +56566,7 @@ var catalogue_default = {
|
|
|
56700
56566
|
"location",
|
|
56701
56567
|
"travelTime"
|
|
56702
56568
|
],
|
|
56703
|
-
"category": "or
|
|
56569
|
+
"category": "or/v1",
|
|
56704
56570
|
"sources": [{
|
|
56705
56571
|
"url": "http://www.vrp-rep.org/datasets/download/angelelli-et-al-2017.zip",
|
|
56706
56572
|
"retrieved": "2026-10-19",
|
|
@@ -56726,7 +56592,7 @@ var catalogue_default = {
|
|
|
56726
56592
|
},
|
|
56727
56593
|
"crosswalk": {
|
|
56728
56594
|
"source": "tsplib",
|
|
56729
|
-
"target": "or
|
|
56595
|
+
"target": "or/v1",
|
|
56730
56596
|
"rules": [
|
|
56731
56597
|
{
|
|
56732
56598
|
"op": "move",
|
|
@@ -56735,77 +56601,43 @@ var catalogue_default = {
|
|
|
56735
56601
|
},
|
|
56736
56602
|
{
|
|
56737
56603
|
"op": "move",
|
|
56738
|
-
"from": "
|
|
56739
|
-
"to": "
|
|
56740
|
-
},
|
|
56741
|
-
{
|
|
56742
|
-
"op": "move",
|
|
56743
|
-
"from": "members[].meta.name",
|
|
56744
|
-
"to": "instances[].meta.name"
|
|
56745
|
-
},
|
|
56746
|
-
{
|
|
56747
|
-
"op": "move",
|
|
56748
|
-
"from": "members[].meta.type",
|
|
56749
|
-
"to": "instances[].meta.type"
|
|
56750
|
-
},
|
|
56751
|
-
{
|
|
56752
|
-
"op": "move",
|
|
56753
|
-
"from": "members[].meta.budget",
|
|
56754
|
-
"to": "instances[].meta.budget"
|
|
56755
|
-
},
|
|
56756
|
-
{
|
|
56757
|
-
"op": "move",
|
|
56758
|
-
"from": "members[].meta.edgeWeightType",
|
|
56759
|
-
"to": "instances[].meta.edgeWeightType"
|
|
56760
|
-
},
|
|
56761
|
-
{
|
|
56762
|
-
"op": "move",
|
|
56763
|
-
"from": "members[].meta.totalPrize",
|
|
56764
|
-
"to": "instances[].meta.totalPrize"
|
|
56765
|
-
},
|
|
56766
|
-
{
|
|
56767
|
-
"op": "move",
|
|
56768
|
-
"from": "members[].nodes[].id",
|
|
56769
|
-
"to": "instances[].nodes[].id"
|
|
56604
|
+
"from": "nodes[].id",
|
|
56605
|
+
"to": "nodes[].id"
|
|
56770
56606
|
},
|
|
56771
56607
|
{
|
|
56772
56608
|
"op": "move",
|
|
56773
|
-
"from": "
|
|
56774
|
-
"to": "
|
|
56609
|
+
"from": "nodes[].lat",
|
|
56610
|
+
"to": "nodes[].lat"
|
|
56775
56611
|
},
|
|
56776
56612
|
{
|
|
56777
56613
|
"op": "move",
|
|
56778
|
-
"from": "
|
|
56779
|
-
"to": "
|
|
56614
|
+
"from": "nodes[].lon",
|
|
56615
|
+
"to": "nodes[].lon"
|
|
56780
56616
|
},
|
|
56781
56617
|
{
|
|
56782
56618
|
"op": "move",
|
|
56783
|
-
"from": "
|
|
56784
|
-
"to": "
|
|
56619
|
+
"from": "nodes[].prize",
|
|
56620
|
+
"to": "nodes[].prize"
|
|
56785
56621
|
},
|
|
56786
56622
|
{
|
|
56787
56623
|
"op": "move",
|
|
56788
|
-
"from": "
|
|
56789
|
-
"to": "
|
|
56624
|
+
"from": "nodes[].probability",
|
|
56625
|
+
"to": "nodes[].prizeProbability"
|
|
56790
56626
|
},
|
|
56791
56627
|
{
|
|
56792
56628
|
"op": "move",
|
|
56793
|
-
"from": "
|
|
56794
|
-
"to": "
|
|
56629
|
+
"from": "nodes[].x",
|
|
56630
|
+
"to": "nodes[].x"
|
|
56795
56631
|
},
|
|
56796
56632
|
{
|
|
56797
56633
|
"op": "move",
|
|
56798
|
-
"from": "
|
|
56799
|
-
"to": "
|
|
56634
|
+
"from": "nodes[].y",
|
|
56635
|
+
"to": "nodes[].y"
|
|
56800
56636
|
}
|
|
56801
56637
|
],
|
|
56802
56638
|
"oneWay": [{
|
|
56803
56639
|
"op": "drop",
|
|
56804
|
-
"from": "
|
|
56805
|
-
"direction": "encode"
|
|
56806
|
-
}, {
|
|
56807
|
-
"op": "drop",
|
|
56808
|
-
"from": "members[].nodes[].clusters",
|
|
56640
|
+
"from": "nodes[].clusters",
|
|
56809
56641
|
"direction": "encode"
|
|
56810
56642
|
}]
|
|
56811
56643
|
},
|
|
@@ -56825,7 +56657,7 @@ var catalogue_default = {
|
|
|
56825
56657
|
"duration",
|
|
56826
56658
|
"travelTime"
|
|
56827
56659
|
],
|
|
56828
|
-
"category": "or
|
|
56660
|
+
"category": "or/v1",
|
|
56829
56661
|
"sources": [{
|
|
56830
56662
|
"url": "http://www.vrp-rep.org/datasets/download/pillac-et-al-2013.zip",
|
|
56831
56663
|
"retrieved": "2026-10-19",
|
|
@@ -56851,7 +56683,7 @@ var catalogue_default = {
|
|
|
56851
56683
|
},
|
|
56852
56684
|
"crosswalk": {
|
|
56853
56685
|
"source": "vrp-rep",
|
|
56854
|
-
"target": "or
|
|
56686
|
+
"target": "or/v1",
|
|
56855
56687
|
"rules": [
|
|
56856
56688
|
{
|
|
56857
56689
|
"op": "move",
|
|
@@ -56860,53 +56692,38 @@ var catalogue_default = {
|
|
|
56860
56692
|
},
|
|
56861
56693
|
{
|
|
56862
56694
|
"op": "move",
|
|
56863
|
-
"from": "
|
|
56864
|
-
"to": "
|
|
56865
|
-
},
|
|
56866
|
-
{
|
|
56867
|
-
"op": "move",
|
|
56868
|
-
"from": "members[].meta.dataset",
|
|
56869
|
-
"to": "instances[].meta.dataset"
|
|
56870
|
-
},
|
|
56871
|
-
{
|
|
56872
|
-
"op": "move",
|
|
56873
|
-
"from": "members[].meta.name",
|
|
56874
|
-
"to": "instances[].meta.name"
|
|
56875
|
-
},
|
|
56876
|
-
{
|
|
56877
|
-
"op": "move",
|
|
56878
|
-
"from": "members[].nodes[].id",
|
|
56879
|
-
"to": "instances[].nodes[].id"
|
|
56695
|
+
"from": "nodes[].id",
|
|
56696
|
+
"to": "nodes[].id"
|
|
56880
56697
|
},
|
|
56881
56698
|
{
|
|
56882
56699
|
"op": "move",
|
|
56883
|
-
"from": "
|
|
56884
|
-
"to": "
|
|
56700
|
+
"from": "nodes[].skill",
|
|
56701
|
+
"to": "nodes[].skill"
|
|
56885
56702
|
},
|
|
56886
56703
|
{
|
|
56887
56704
|
"op": "move",
|
|
56888
|
-
"from": "
|
|
56889
|
-
"to": "
|
|
56705
|
+
"from": "nodes[].x",
|
|
56706
|
+
"to": "nodes[].x"
|
|
56890
56707
|
},
|
|
56891
56708
|
{
|
|
56892
56709
|
"op": "move",
|
|
56893
|
-
"from": "
|
|
56894
|
-
"to": "
|
|
56710
|
+
"from": "nodes[].y",
|
|
56711
|
+
"to": "nodes[].y"
|
|
56895
56712
|
},
|
|
56896
56713
|
{
|
|
56897
56714
|
"op": "move",
|
|
56898
|
-
"from": "
|
|
56899
|
-
"to": "
|
|
56715
|
+
"from": "nodes[].type",
|
|
56716
|
+
"to": "nodes[].type"
|
|
56900
56717
|
},
|
|
56901
56718
|
{
|
|
56902
56719
|
"op": "move",
|
|
56903
|
-
"from": "
|
|
56904
|
-
"to": "
|
|
56720
|
+
"from": "nodes[].skills",
|
|
56721
|
+
"to": "nodes[].skills"
|
|
56905
56722
|
},
|
|
56906
56723
|
{
|
|
56907
56724
|
"op": "move",
|
|
56908
|
-
"from": "
|
|
56909
|
-
"to": "
|
|
56725
|
+
"from": "nodes[].resources",
|
|
56726
|
+
"to": "nodes[].resources"
|
|
56910
56727
|
}
|
|
56911
56728
|
],
|
|
56912
56729
|
"oneWay": []
|
|
@@ -58123,4 +57940,4 @@ function getManifest() {
|
|
|
58123
57940
|
return catalogue().manifest;
|
|
58124
57941
|
}
|
|
58125
57942
|
//#endregion
|
|
58126
|
-
export {
|
|
57943
|
+
export { CatalogueSyntaxError as $, parseEntry as A, getCategory as B, ParserSchema as C, SnapshotSchema as D, RelativePathSchema as E, namesOf as F, OrNodeSchema as G, getTarget as H, getOwn as I, GraphEdgeSchema as J, OrV1Schema as K, CategoryIdSchema as L, waybackUrl as M, NAME_SEPARATOR as N, SourceSchema as O, groupsOf as P, ArchiveError as Q, countTarget as R, NamespaceSchema as S, RecipeSchema as T, kindOf as U, getCollectionTarget as V, listCategories as W, GraphV1Schema as X, GraphNodeSchema as Y, JsonScalarSchema as Z, CrosswalkReferenceSchema as _, CatalogueIndexSchema as a, UnknownCategoryError as at, IdSchema as b, ManifestSchema as c, AliasSchema as d, DatasetAmbiguousError as et, ArchiveMemberSchema as f, ColumnNameSchema as g, CollectionArchiveSchema as h, listNamespaces as i, RecipeError as it, toIssues as j, WaybackTimestampSchema as k, SemVerSchema as l, CitationSchema as m, getManifest as n, KeepsetError as nt, createCatalogue as o, ArchiveSchema as p, collectionOf as q, listDatasets as r, NativeParseError as rt, LineageSchema as s, getDataset as t, DatasetNotFoundError as tt, parseManifest as u, EntrySchema as v, RESERVED_META_KEYS as w, LicenceSchema as x, HttpUrlSchema as y, countedKeys as z };
|