@mailwoman/geographic-model 9.4.0 → 10.0.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.
package/out/validate.js CHANGED
@@ -28,8 +28,9 @@
28
28
  */
29
29
  import { isPlainObject } from "@mailwoman/core/objects";
30
30
  import { ConceptKind, ConceptStatus, DerivationInputKind, ExternalVocabulary, Modality, RelationSemantics, } from "#schema";
31
- import { add, checkFieldNames, listVocabulary, readArray, readBoolean, readString, readStringArray, readVocabularyArray, readVocabularyValue, ValidationIssueCode, } from "#validation-issues";
32
- export { ValidationIssueCode } from "#validation-issues";
31
+ import { add, checkFieldNames, readArray, readBoolean, readString, readStringArray, readVocabularyArray, readVocabularyValue, ValidationIssueCode, } from "#validation/issues";
32
+ import { checkReferences } from "#validation/references";
33
+ export { ValidationIssueCode } from "#validation/issues";
33
34
  const DOCUMENT_FIELDS = ["version", "relations", "concepts", "mappings", "observations", "derivedFacts"];
34
35
  const PROVENANCE_FIELDS = ["source", "sourceVersion", "sourceRecord", "sourceURL", "authoredAt", "notes"];
35
36
  const OPTIONAL_PROVENANCE_FIELDS = ["sourceVersion", "sourceRecord", "sourceURL", "authoredAt", "notes"];
@@ -203,206 +204,6 @@ function readTable(issues, document, key, label, read) {
203
204
  }
204
205
  return records;
205
206
  }
206
- /**
207
- * Index a table by identifier, reporting every record after the first that claims an identifier already taken. The
208
- * first claimant keeps the identifier, so a duplicate never silently displaces the record other rows resolve against.
209
- */
210
- function indexByID(issues, records, label) {
211
- const index = new Map();
212
- for (const record of records) {
213
- if (record.id === undefined)
214
- continue;
215
- if (index.has(record.id)) {
216
- add(issues, `${record.path}.id`, ValidationIssueCode.DuplicateID, `\`${record.id}\` is already used by another ${label}`);
217
- continue;
218
- }
219
- index.set(record.id, record);
220
- }
221
- return index;
222
- }
223
- /**
224
- * Resolve one subject–relation–object edge and check it against the relation's declared domain and range kinds.
225
- *
226
- * Shared by authored assertions, source observations, and derived facts. The three differ in who stands behind them and
227
- * in what provenance they carry, and the structural question asked of them is the same one.
228
- */
229
- function checkEdge(issues, edge, tables) {
230
- const relation = edge.relationID === undefined ? undefined : tables.relations.get(edge.relationID);
231
- if (edge.relationID !== undefined && !relation) {
232
- add(issues, edge.relationPath, ValidationIssueCode.UnknownRelation, `\`${edge.relationID}\` is not a relation declared in this document`);
233
- }
234
- const object = edge.objectID === undefined ? undefined : tables.concepts.get(edge.objectID);
235
- if (edge.objectID !== undefined && !object) {
236
- add(issues, edge.objectPath, ValidationIssueCode.UnknownConcept, `\`${edge.objectID}\` is not a concept declared in this document`);
237
- }
238
- if (!relation)
239
- return;
240
- if (edge.subjectKind && relation.domainKinds && !relation.domainKinds.includes(edge.subjectKind)) {
241
- add(issues, edge.subjectPath, ValidationIssueCode.DomainKindMismatch, `relation \`${relation.id}\` accepts ${listVocabulary(relation.domainKinds)} on the asserting side, not \`${edge.subjectKind}\``);
242
- }
243
- if (object?.kind && relation.rangeKinds && !relation.rangeKinds.includes(object.kind)) {
244
- add(issues, edge.objectPath, ValidationIssueCode.RangeKindMismatch, `relation \`${relation.id}\` accepts ${listVocabulary(relation.rangeKinds)} on the target side, not \`${object.kind}\``);
245
- }
246
- }
247
- function sameKinds(left, right) {
248
- return left.length === right.length && left.every((kind) => right.includes(kind));
249
- }
250
- /**
251
- * Check one relation's inverse and its transitivity against the kinds it declares.
252
- */
253
- function checkRelation(issues, relation, index) {
254
- const inversePath = `${relation.path}.inverse`;
255
- if (relation.transitive === true && relation.domainKinds && relation.rangeKinds) {
256
- const chainable = relation.rangeKinds.some((kind) => relation.domainKinds?.includes(kind));
257
- if (!chainable) {
258
- add(issues, `${relation.path}.transitive`, ValidationIssueCode.TransitiveKindsDisjoint, "a transitive relation has to be able to chain, so its range kinds and its domain kinds must overlap");
259
- }
260
- }
261
- if (relation.inverse === undefined)
262
- return;
263
- const inverse = index.get(relation.inverse);
264
- if (!inverse) {
265
- add(issues, inversePath, ValidationIssueCode.UnknownRelation, `\`${relation.inverse}\` is not a relation declared in this document`);
266
- return;
267
- }
268
- if (relation.symmetric === true && inverse.id !== relation.id) {
269
- add(issues, inversePath, ValidationIssueCode.InverseNotReciprocal, `\`${relation.id}\` is symmetric, so it is its own inverse; it names \`${relation.inverse}\``);
270
- return;
271
- }
272
- if (inverse.inverse !== relation.id) {
273
- add(issues, inversePath, ValidationIssueCode.InverseNotReciprocal, `\`${relation.inverse}\` does not name \`${relation.id}\` as its own inverse`);
274
- }
275
- if (inverse.id !== relation.id &&
276
- relation.domainKinds &&
277
- relation.rangeKinds &&
278
- inverse.domainKinds &&
279
- inverse.rangeKinds &&
280
- !(sameKinds(relation.domainKinds, inverse.rangeKinds) && sameKinds(relation.rangeKinds, inverse.domainKinds))) {
281
- add(issues, inversePath, ValidationIssueCode.InverseKindsMismatch, `an inverse reads the same edge backwards, so \`${relation.inverse}\` has to declare this relation's range kinds as its domain kinds, and the reverse`);
282
- }
283
- }
284
- /**
285
- * Follow `isA` upward from one concept and report the trail if it returns to where it started.
286
- *
287
- * The direct self-edge is left out of the walk: `checkIsA` already reports that as a self-reference, at the entry that
288
- * carries it, and a second report saying the same concept cycles through itself tells its author nothing new.
289
- */
290
- function findIsACycle(start, concepts) {
291
- if (start.id === undefined)
292
- return undefined;
293
- const startID = start.id;
294
- const visited = new Set();
295
- const frontier = (start.isA ?? [])
296
- .filter((parent) => parent !== startID)
297
- .map((parent) => ({ id: parent, trail: [startID, parent] }));
298
- while (frontier.length) {
299
- const step = frontier.pop();
300
- if (!step)
301
- break;
302
- if (step.id === startID)
303
- return step.trail;
304
- if (visited.has(step.id))
305
- continue;
306
- visited.add(step.id);
307
- for (const parent of concepts.get(step.id)?.isA ?? []) {
308
- frontier.push({ id: parent, trail: [...step.trail, parent] });
309
- }
310
- }
311
- return undefined;
312
- }
313
- function checkIsA(issues, concept, concepts) {
314
- if (!concept.isA)
315
- return;
316
- for (const [index, parent] of concept.isA.entries()) {
317
- const parentPath = `${concept.path}.isA[${index}]`;
318
- if (parent === concept.id) {
319
- add(issues, parentPath, ValidationIssueCode.SelfReference, "a concept is not a kind of itself");
320
- continue;
321
- }
322
- if (!concepts.has(parent)) {
323
- add(issues, parentPath, ValidationIssueCode.UnknownConcept, `\`${parent}\` is not a concept declared in this document`);
324
- }
325
- }
326
- const cycle = findIsACycle(concept, concepts);
327
- if (cycle) {
328
- add(issues, `${concept.path}.isA`, ValidationIssueCode.CyclicIsA, `\`isA\` cycles through ${cycle.join(" → ")}`);
329
- }
330
- }
331
- function checkDerivationInputs(issues, fact, tables) {
332
- const byKind = {
333
- [DerivationInputKind.Concept]: tables.concepts,
334
- [DerivationInputKind.Relation]: tables.relations,
335
- [DerivationInputKind.Assertion]: tables.assertions,
336
- [DerivationInputKind.Mapping]: tables.mappings,
337
- [DerivationInputKind.Observation]: tables.observations,
338
- [DerivationInputKind.DerivedFact]: tables.derivedFacts,
339
- };
340
- for (const input of fact.inputs) {
341
- if (input.kind === undefined || input.id === undefined)
342
- continue;
343
- if (input.kind === DerivationInputKind.DerivedFact && input.id === fact.id) {
344
- add(issues, `${input.path}.id`, ValidationIssueCode.SelfReference, "a derived fact is not one of its own inputs");
345
- continue;
346
- }
347
- if (!byKind[input.kind].has(input.id)) {
348
- add(issues, `${input.path}.id`, ValidationIssueCode.UnknownDerivationInput, `no \`${input.kind}\` record in this document is identified by \`${input.id}\``);
349
- }
350
- }
351
- }
352
- function checkReferences(issues, view) {
353
- const assertions = [];
354
- for (const concept of view.concepts) {
355
- assertions.push(...concept.assertions);
356
- }
357
- const relations = indexByID(issues, view.relations, "relation");
358
- const concepts = indexByID(issues, view.concepts, "concept");
359
- const tables = {
360
- relations,
361
- concepts,
362
- assertions: indexByID(issues, assertions, "assertion"),
363
- mappings: indexByID(issues, view.mappings, "mapping"),
364
- observations: indexByID(issues, view.observations, "observation"),
365
- derivedFacts: indexByID(issues, view.derivedFacts, "derived fact"),
366
- };
367
- for (const relation of view.relations) {
368
- checkRelation(issues, relation, relations);
369
- }
370
- for (const concept of view.concepts) {
371
- checkIsA(issues, concept, concepts);
372
- for (const assertion of concept.assertions) {
373
- checkEdge(issues, {
374
- subjectKind: concept.kind,
375
- subjectPath: `${assertion.path}.relation`,
376
- relationID: assertion.relation,
377
- relationPath: `${assertion.path}.relation`,
378
- objectID: assertion.target,
379
- objectPath: `${assertion.path}.target`,
380
- }, tables);
381
- }
382
- }
383
- for (const mapping of view.mappings) {
384
- if (mapping.concept !== undefined && !concepts.has(mapping.concept)) {
385
- add(issues, `${mapping.path}.concept`, ValidationIssueCode.UnknownConcept, `\`${mapping.concept}\` is not a concept declared in this document`);
386
- }
387
- }
388
- for (const triple of [...view.observations, ...view.derivedFacts]) {
389
- const subject = triple.subject === undefined ? undefined : concepts.get(triple.subject);
390
- if (triple.subject !== undefined && !subject) {
391
- add(issues, `${triple.path}.subject`, ValidationIssueCode.UnknownConcept, `\`${triple.subject}\` is not a concept declared in this document`);
392
- }
393
- checkEdge(issues, {
394
- subjectKind: subject?.kind,
395
- subjectPath: `${triple.path}.subject`,
396
- relationID: triple.relation,
397
- relationPath: `${triple.path}.relation`,
398
- objectID: triple.object,
399
- objectPath: `${triple.path}.object`,
400
- }, tables);
401
- }
402
- for (const fact of view.derivedFacts) {
403
- checkDerivationInputs(issues, fact, tables);
404
- }
405
- }
406
207
  function collectIssues(input) {
407
208
  const issues = [];
408
209
  if (!isPlainObject(input)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../lib/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../lib/validate.ts"],"names":[],"mappings":"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"}
@@ -80,4 +80,4 @@ export declare function readArray(issues: ValidationIssue[], path: string, conta
80
80
  export declare function readStringArray(issues: ValidationIssue[], path: string, container: Record<string, unknown>, key: string, required: boolean): string[] | undefined;
81
81
  export declare function readVocabularyValue<T extends string>(issues: ValidationIssue[], path: string, container: Record<string, unknown>, key: string, allowed: readonly T[], code: ValidationIssueCode): T | undefined;
82
82
  export declare function readVocabularyArray<T extends string>(issues: ValidationIssue[], path: string, container: Record<string, unknown>, key: string, allowed: readonly T[], code: ValidationIssueCode): T[] | undefined;
83
- //# sourceMappingURL=validation-issues.d.ts.map
83
+ //# sourceMappingURL=issues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../lib/validation/issues.ts"],"names":[],"mappings":"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"}
@@ -184,4 +184,4 @@ export function readVocabularyArray(issues, path, container, key, allowed, code)
184
184
  }
185
185
  return matched;
186
186
  }
187
- //# sourceMappingURL=validation-issues.js.map
187
+ //# sourceMappingURL=issues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../lib/validation/issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ * @file Validates references among geographic-model records after shape reading.
6
+ */
7
+ import type { DocumentView } from "#validate";
8
+ import { type ValidationIssue } from "#validation/issues";
9
+ export declare function checkReferences(issues: ValidationIssue[], view: DocumentView): void;
10
+ //# sourceMappingURL=references.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../lib/validation/references.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAIX,YAAY,EAGZ,MAAM,WAAW,CAAA;AAClB,OAAO,EAAuB,KAAK,eAAe,EAAuB,MAAM,oBAAoB,CAAA;AAwQnG,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAkFnF"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ * @file Validates references among geographic-model records after shape reading.
6
+ */
7
+ import { DerivationInputKind } from "#schema";
8
+ import { add, listVocabulary, ValidationIssueCode } from "#validation/issues";
9
+ /**
10
+ * Index a table by identifier, reporting every record after the first that claims an identifier already taken.
11
+ */
12
+ function indexByID(issues, records, label) {
13
+ const index = new Map();
14
+ for (const record of records) {
15
+ if (record.id === undefined)
16
+ continue;
17
+ if (index.has(record.id)) {
18
+ add(issues, `${record.path}.id`, ValidationIssueCode.DuplicateID, `\`${record.id}\` is already used by another ${label}`);
19
+ continue;
20
+ }
21
+ index.set(record.id, record);
22
+ }
23
+ return index;
24
+ }
25
+ /**
26
+ * Resolve one subject–relation–object edge and check it against the relation's declared domain and range kinds.
27
+ *
28
+ * Shared by authored assertions, source observations, and derived facts. The three differ in who stands behind them and
29
+ * in what provenance they carry, and the structural question asked of them is the same one.
30
+ */
31
+ function checkEdge(issues, edge, tables) {
32
+ const relation = edge.relationID === undefined ? undefined : tables.relations.get(edge.relationID);
33
+ if (edge.relationID !== undefined && !relation) {
34
+ add(issues, edge.relationPath, ValidationIssueCode.UnknownRelation, `\`${edge.relationID}\` is not a relation declared in this document`);
35
+ }
36
+ const object = edge.objectID === undefined ? undefined : tables.concepts.get(edge.objectID);
37
+ if (edge.objectID !== undefined && !object) {
38
+ add(issues, edge.objectPath, ValidationIssueCode.UnknownConcept, `\`${edge.objectID}\` is not a concept declared in this document`);
39
+ }
40
+ if (!relation)
41
+ return;
42
+ if (edge.subjectKind && relation.domainKinds && !relation.domainKinds.includes(edge.subjectKind)) {
43
+ add(issues, edge.subjectPath, ValidationIssueCode.DomainKindMismatch, `relation \`${relation.id}\` accepts ${listVocabulary(relation.domainKinds)} on the asserting side, not \`${edge.subjectKind}\``);
44
+ }
45
+ if (object?.kind && relation.rangeKinds && !relation.rangeKinds.includes(object.kind)) {
46
+ add(issues, edge.objectPath, ValidationIssueCode.RangeKindMismatch, `relation \`${relation.id}\` accepts ${listVocabulary(relation.rangeKinds)} on the target side, not \`${object.kind}\``);
47
+ }
48
+ }
49
+ function sameKinds(left, right) {
50
+ return left.length === right.length && left.every((kind) => right.includes(kind));
51
+ }
52
+ /**
53
+ * Check one relation's inverse and its transitivity against the kinds it declares.
54
+ */
55
+ function checkRelation(issues, relation, index) {
56
+ const inversePath = `${relation.path}.inverse`;
57
+ if (relation.transitive === true && relation.domainKinds && relation.rangeKinds) {
58
+ const chainable = relation.rangeKinds.some((kind) => relation.domainKinds?.includes(kind));
59
+ if (!chainable) {
60
+ add(issues, `${relation.path}.transitive`, ValidationIssueCode.TransitiveKindsDisjoint, "a transitive relation has to be able to chain, so its range kinds and its domain kinds must overlap");
61
+ }
62
+ }
63
+ if (relation.inverse === undefined)
64
+ return;
65
+ const inverse = index.get(relation.inverse);
66
+ if (!inverse) {
67
+ add(issues, inversePath, ValidationIssueCode.UnknownRelation, `\`${relation.inverse}\` is not a relation declared in this document`);
68
+ return;
69
+ }
70
+ if (relation.symmetric === true && inverse.id !== relation.id) {
71
+ add(issues, inversePath, ValidationIssueCode.InverseNotReciprocal, `\`${relation.id}\` is symmetric, so it is its own inverse; it names \`${relation.inverse}\``);
72
+ return;
73
+ }
74
+ if (inverse.inverse !== relation.id) {
75
+ add(issues, inversePath, ValidationIssueCode.InverseNotReciprocal, `\`${relation.inverse}\` does not name \`${relation.id}\` as its own inverse`);
76
+ }
77
+ if (inverse.id !== relation.id &&
78
+ relation.domainKinds &&
79
+ relation.rangeKinds &&
80
+ inverse.domainKinds &&
81
+ inverse.rangeKinds &&
82
+ !(sameKinds(relation.domainKinds, inverse.rangeKinds) && sameKinds(relation.rangeKinds, inverse.domainKinds))) {
83
+ add(issues, inversePath, ValidationIssueCode.InverseKindsMismatch, `an inverse reads the same edge backwards, so \`${relation.inverse}\` has to declare this relation's range kinds as its domain kinds, and the reverse`);
84
+ }
85
+ }
86
+ /**
87
+ * Follow `isA` upward from one concept and report the trail if it returns to where it started.
88
+ *
89
+ * The direct self-edge is left out of the walk: `checkIsA` already reports that as a self-reference, at the entry that
90
+ * carries it, and a second report saying the same concept cycles through itself tells its author nothing new.
91
+ */
92
+ function findIsACycle(start, concepts) {
93
+ if (start.id === undefined)
94
+ return undefined;
95
+ const startID = start.id;
96
+ const visited = new Set();
97
+ const frontier = (start.isA ?? [])
98
+ .filter((parent) => parent !== startID)
99
+ .map((parent) => ({ id: parent, trail: [startID, parent] }));
100
+ while (frontier.length) {
101
+ const step = frontier.pop();
102
+ if (!step)
103
+ break;
104
+ if (step.id === startID)
105
+ return step.trail;
106
+ if (visited.has(step.id))
107
+ continue;
108
+ visited.add(step.id);
109
+ for (const parent of concepts.get(step.id)?.isA ?? []) {
110
+ frontier.push({ id: parent, trail: [...step.trail, parent] });
111
+ }
112
+ }
113
+ return undefined;
114
+ }
115
+ function checkIsA(issues, concept, concepts) {
116
+ if (!concept.isA)
117
+ return;
118
+ for (const [index, parent] of concept.isA.entries()) {
119
+ const parentPath = `${concept.path}.isA[${index}]`;
120
+ if (parent === concept.id) {
121
+ add(issues, parentPath, ValidationIssueCode.SelfReference, "a concept is not a kind of itself");
122
+ continue;
123
+ }
124
+ if (!concepts.has(parent)) {
125
+ add(issues, parentPath, ValidationIssueCode.UnknownConcept, `\`${parent}\` is not a concept declared in this document`);
126
+ }
127
+ }
128
+ const cycle = findIsACycle(concept, concepts);
129
+ if (cycle) {
130
+ add(issues, `${concept.path}.isA`, ValidationIssueCode.CyclicIsA, `\`isA\` cycles through ${cycle.join(" → ")}`);
131
+ }
132
+ }
133
+ function checkDerivationInputs(issues, fact, tables) {
134
+ const byKind = {
135
+ [DerivationInputKind.Concept]: tables.concepts,
136
+ [DerivationInputKind.Relation]: tables.relations,
137
+ [DerivationInputKind.Assertion]: tables.assertions,
138
+ [DerivationInputKind.Mapping]: tables.mappings,
139
+ [DerivationInputKind.Observation]: tables.observations,
140
+ [DerivationInputKind.DerivedFact]: tables.derivedFacts,
141
+ };
142
+ for (const input of fact.inputs) {
143
+ if (input.kind === undefined || input.id === undefined)
144
+ continue;
145
+ if (input.kind === DerivationInputKind.DerivedFact && input.id === fact.id) {
146
+ add(issues, `${input.path}.id`, ValidationIssueCode.SelfReference, "a derived fact is not one of its own inputs");
147
+ continue;
148
+ }
149
+ if (!byKind[input.kind].has(input.id)) {
150
+ add(issues, `${input.path}.id`, ValidationIssueCode.UnknownDerivationInput, `no \`${input.kind}\` record in this document is identified by \`${input.id}\``);
151
+ }
152
+ }
153
+ }
154
+ export function checkReferences(issues, view) {
155
+ const assertions = [];
156
+ for (const concept of view.concepts) {
157
+ assertions.push(...concept.assertions);
158
+ }
159
+ const relations = indexByID(issues, view.relations, "relation");
160
+ const concepts = indexByID(issues, view.concepts, "concept");
161
+ const tables = {
162
+ relations,
163
+ concepts,
164
+ assertions: indexByID(issues, assertions, "assertion"),
165
+ mappings: indexByID(issues, view.mappings, "mapping"),
166
+ observations: indexByID(issues, view.observations, "observation"),
167
+ derivedFacts: indexByID(issues, view.derivedFacts, "derived fact"),
168
+ };
169
+ for (const relation of view.relations) {
170
+ checkRelation(issues, relation, relations);
171
+ }
172
+ for (const concept of view.concepts) {
173
+ checkIsA(issues, concept, concepts);
174
+ for (const assertion of concept.assertions) {
175
+ checkEdge(issues, {
176
+ subjectKind: concept.kind,
177
+ subjectPath: `${assertion.path}.relation`,
178
+ relationID: assertion.relation,
179
+ relationPath: `${assertion.path}.relation`,
180
+ objectID: assertion.target,
181
+ objectPath: `${assertion.path}.target`,
182
+ }, tables);
183
+ }
184
+ }
185
+ for (const mapping of view.mappings) {
186
+ if (mapping.concept !== undefined && !concepts.has(mapping.concept)) {
187
+ add(issues, `${mapping.path}.concept`, ValidationIssueCode.UnknownConcept, `\`${mapping.concept}\` is not a concept declared in this document`);
188
+ }
189
+ }
190
+ for (const triple of [...view.observations, ...view.derivedFacts]) {
191
+ const subject = triple.subject === undefined ? undefined : concepts.get(triple.subject);
192
+ if (triple.subject !== undefined && !subject) {
193
+ add(issues, `${triple.path}.subject`, ValidationIssueCode.UnknownConcept, `\`${triple.subject}\` is not a concept declared in this document`);
194
+ }
195
+ checkEdge(issues, {
196
+ subjectKind: subject?.kind,
197
+ subjectPath: `${triple.path}.subject`,
198
+ relationID: triple.relation,
199
+ relationPath: `${triple.path}.relation`,
200
+ objectID: triple.object,
201
+ objectPath: `${triple.path}.object`,
202
+ }, tables);
203
+ }
204
+ for (const fact of view.derivedFacts) {
205
+ checkDerivationInputs(issues, fact, tables);
206
+ }
207
+ }
208
+ //# sourceMappingURL=references.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../../lib/validation/references.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/geographic-model",
3
- "version": "9.4.0",
3
+ "version": "10.0.0",
4
4
  "description": "Stable geographic concepts, relations, mappings, source observations, derived facts, and their provenance — authored records compiled deterministically into runtime artifacts.",
5
5
  "keywords": [
6
6
  "affordance",
@@ -139,8 +139,8 @@
139
139
  }
140
140
  },
141
141
  "dependencies": {
142
- "@mailwoman/core": "9.4.0",
143
- "@mailwoman/poi-taxonomy": "9.4.0",
142
+ "@mailwoman/core": "10.0.0",
143
+ "@mailwoman/poi-taxonomy": "10.0.0",
144
144
  "type-fest": "^5.9.0"
145
145
  },
146
146
  "devDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-issues.d.ts","sourceRoot":"","sources":["../lib/validation-issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;IAG/B;;OAEG;;IAEH;;OAEG;;;IAGH;;OAEG;;;;;;;;;IASH;;OAEG;;;;;;;;;;;;CAYM,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAA;AAEhG;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CACf;AAmBD,wBAAgB,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7G;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,SAAS,MAAM,EAAE,GACxB,IAAI,CAyBN;AAED,wBAAgB,UAAU,CACzB,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GACf,MAAM,GAAG,SAAS,CAyBpB;AAED,wBAAgB,WAAW,CAC1B,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,MAAM,GACT,OAAO,GAAG,SAAS,CAiBrB;AAED,wBAAgB,SAAS,CACxB,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GACf,OAAO,EAAE,GAAG,SAAS,CAmBvB;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GACf,MAAM,EAAE,GAAG,SAAS,CA0BtB;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EACnD,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,IAAI,EAAE,mBAAmB,GACvB,CAAC,GAAG,SAAS,CAYf;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EACnD,MAAM,EAAE,eAAe,EAAE,EACzB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,IAAI,EAAE,mBAAmB,GACvB,CAAC,EAAE,GAAG,SAAS,CAoBjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-issues.js","sourceRoot":"","sources":["../lib/validation-issues.ts"],"names":[],"mappings":"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"}