@mailwoman/resolver-wof-sqlite 9.3.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/lib/address/index.ts +3 -3
- package/lib/address/{point.ts → point/index.ts} +55 -7
- package/lib/address/{point-interpolation.ts → point/interpolation.ts} +2 -3
- package/lib/ancestry/backfill.ts +4 -2
- package/lib/ancestry/index.ts +1 -2
- package/lib/{build-candidate.ts → build/candidate.ts} +62 -31
- package/lib/candidate/alias-bags.ts +68 -7
- package/lib/{candidate-ancestors-schema.ts → candidate/ancestors/schema.ts} +1 -1
- package/lib/candidate/{ancestors-sidecar.ts → ancestors/sidecar.ts} +2 -2
- package/lib/candidate/extract-fold.ts +91 -10
- package/lib/{candidate-importance.ts → candidate/importance.ts} +1 -1
- package/lib/{candidate-lookup.ts → candidate/lookup.ts} +13 -16
- package/lib/candidate/name-roles.ts +2 -2
- package/lib/candidate/own-name.ts +1 -0
- package/lib/{candidate-schema.ts → candidate/schema.ts} +2 -2
- package/lib/{candidate-scoring.ts → candidate/scoring.ts} +1 -1
- package/lib/coincident-roles.ts +2 -3
- package/lib/coverage-manifest-schema.ts +2 -1
- package/lib/currency-backfill.ts +2 -2
- package/lib/fst/builder.ts +1 -1
- package/lib/fst/deserialize-web.ts +2 -2
- package/lib/fst/freshness.ts +0 -1
- package/lib/fst/serialize.ts +9 -9
- package/lib/geonames/aliases.ts +1 -7
- package/lib/geonames/postal.ts +1 -7
- package/lib/index.ts +18 -25
- package/lib/interpolation.ts +1 -1
- package/lib/lookup.ts +6 -5
- package/lib/place-importance-schema.ts +1 -9
- package/lib/poi/lookup.ts +1 -2
- package/lib/postal/{city-alias-lookup.ts → city/alias/lookup.ts} +1 -1
- package/lib/postal/index.ts +3 -3
- package/lib/primary-preference.ts +15 -5
- package/lib/reverse.ts +1 -2
- package/lib/search-fetch.ts +1 -2
- package/lib/{sqlite-utils.ts → sqlite/utils.ts} +0 -1
- package/lib/street/{centroid.ts → centroid/index.ts} +2 -2
- package/lib/street/index.ts +4 -4
- package/lib/street/{morphology-fst-builder.ts → morphology/fst/builder.ts} +8 -2
- package/lib/street/{morphology-fst-loader.ts → morphology/fst/loader.ts} +1 -1
- package/lib/street/normalize.ts +42 -1
- package/lib/uprn/lookup.ts +1 -2
- package/lib/weights-overlay-linker.ts +5 -4
- package/out/address/index.d.ts +3 -3
- package/out/address/index.d.ts.map +1 -1
- package/out/address/index.js +3 -3
- package/out/address/index.js.map +1 -1
- package/out/address/{point.d.ts → point/index.d.ts} +5 -3
- package/out/address/point/index.d.ts.map +1 -0
- package/out/address/{point.js → point/index.js} +38 -7
- package/out/address/point/index.js.map +1 -0
- package/out/address/{point-interpolation.d.ts → point/interpolation.d.ts} +3 -3
- package/out/address/point/interpolation.d.ts.map +1 -0
- package/out/address/{point-interpolation.js → point/interpolation.js} +1 -1
- package/out/address/point/interpolation.js.map +1 -0
- package/out/address/{point-schema.d.ts → point/schema.d.ts} +1 -1
- package/out/address/point/schema.d.ts.map +1 -0
- package/out/address/{point-schema.js → point/schema.js} +1 -1
- package/out/address/point/schema.js.map +1 -0
- package/out/ancestry/backfill.d.ts.map +1 -1
- package/out/ancestry/backfill.js +4 -2
- package/out/ancestry/backfill.js.map +1 -1
- package/out/ancestry/index.d.ts.map +1 -1
- package/out/ancestry/index.js +1 -1
- package/out/ancestry/index.js.map +1 -1
- package/out/{build-candidate.d.ts → build/candidate.d.ts} +12 -4
- package/out/build/candidate.d.ts.map +1 -0
- package/out/{build-candidate.js → build/candidate.js} +39 -24
- package/out/build/candidate.js.map +1 -0
- package/out/{build-slim.d.ts → build/slim.d.ts} +1 -1
- package/out/build/slim.d.ts.map +1 -0
- package/out/{build-slim.js → build/slim.js} +1 -1
- package/out/build/slim.js.map +1 -0
- package/out/candidate/alias-bags.d.ts +10 -2
- package/out/candidate/alias-bags.d.ts.map +1 -1
- package/out/candidate/alias-bags.js +49 -5
- package/out/candidate/alias-bags.js.map +1 -1
- package/out/{candidate-ancestors-schema.d.ts → candidate/ancestors/schema.d.ts} +2 -2
- package/out/candidate/ancestors/schema.d.ts.map +1 -0
- package/out/{candidate-ancestors-schema.js → candidate/ancestors/schema.js} +1 -1
- package/out/candidate/ancestors/schema.js.map +1 -0
- package/out/candidate/{ancestors-sidecar.d.ts → ancestors/sidecar.d.ts} +2 -2
- package/out/candidate/ancestors/sidecar.d.ts.map +1 -0
- package/out/candidate/{ancestors-sidecar.js → ancestors/sidecar.js} +2 -2
- package/out/candidate/ancestors/sidecar.js.map +1 -0
- package/out/candidate/extract-fold.d.ts +12 -3
- package/out/candidate/extract-fold.d.ts.map +1 -1
- package/out/candidate/extract-fold.js +57 -8
- package/out/candidate/extract-fold.js.map +1 -1
- package/out/{candidate-fts.d.ts → candidate/fts.d.ts} +1 -1
- package/out/candidate/fts.d.ts.map +1 -0
- package/out/{candidate-fts.js → candidate/fts.js} +1 -1
- package/out/candidate/fts.js.map +1 -0
- package/out/{candidate-importance.d.ts → candidate/importance.d.ts} +1 -1
- package/out/candidate/importance.d.ts.map +1 -0
- package/out/{candidate-importance.js → candidate/importance.js} +1 -1
- package/out/candidate/importance.js.map +1 -0
- package/out/{candidate-lookup.d.ts → candidate/lookup.d.ts} +7 -7
- package/out/candidate/lookup.d.ts.map +1 -0
- package/out/{candidate-lookup.js → candidate/lookup.js} +13 -11
- package/out/candidate/lookup.js.map +1 -0
- package/out/candidate/name-roles.d.ts +1 -1
- package/out/candidate/name-roles.d.ts.map +1 -1
- package/out/candidate/name-roles.js +1 -1
- package/out/candidate/name-roles.js.map +1 -1
- package/out/candidate/own-name.d.ts.map +1 -1
- package/out/candidate/own-name.js +1 -0
- package/out/candidate/own-name.js.map +1 -1
- package/out/{candidate-schema.d.ts → candidate/schema.d.ts} +3 -3
- package/out/candidate/schema.d.ts.map +1 -0
- package/out/{candidate-schema.js → candidate/schema.js} +2 -2
- package/out/candidate/schema.js.map +1 -0
- package/out/{candidate-scoring.d.ts → candidate/scoring.d.ts} +1 -1
- package/out/candidate/scoring.d.ts.map +1 -0
- package/out/{candidate-scoring.js → candidate/scoring.js} +2 -2
- package/out/candidate/scoring.js.map +1 -0
- package/out/capitals.d.ts.map +1 -1
- package/out/coincident-roles.d.ts +1 -1
- package/out/coincident-roles.d.ts.map +1 -1
- package/out/coincident-roles.js +1 -1
- package/out/coincident-roles.js.map +1 -1
- package/out/convention/index.d.ts.map +1 -1
- package/out/convention/index.js.map +1 -1
- package/out/coverage-manifest-schema.d.ts.map +1 -1
- package/out/coverage-manifest-schema.js +2 -1
- package/out/coverage-manifest-schema.js.map +1 -1
- package/out/currency-backfill.d.ts +2 -2
- package/out/currency-backfill.d.ts.map +1 -1
- package/out/env.d.ts +1 -1
- package/out/fst/autocomplete.js.map +1 -1
- package/out/fst/builder.d.ts.map +1 -1
- package/out/fst/builder.js +1 -1
- package/out/fst/builder.js.map +1 -1
- package/out/fst/deserialize-web.js +2 -2
- package/out/fst/deserialize-web.js.map +1 -1
- package/out/fst/freshness.d.ts +0 -1
- package/out/fst/freshness.d.ts.map +1 -1
- package/out/fst/freshness.js +0 -1
- package/out/fst/freshness.js.map +1 -1
- package/out/fst/matcher.d.ts.map +1 -1
- package/out/fst/serialize.js +9 -9
- package/out/fst/serialize.js.map +1 -1
- package/out/fts/index.js.map +1 -1
- package/out/geonames/aliases.d.ts +0 -5
- package/out/geonames/aliases.d.ts.map +1 -1
- package/out/geonames/aliases.js +1 -6
- package/out/geonames/aliases.js.map +1 -1
- package/out/geonames/postal.d.ts +0 -6
- package/out/geonames/postal.d.ts.map +1 -1
- package/out/geonames/postal.js +1 -6
- package/out/geonames/postal.js.map +1 -1
- package/out/index.d.ts +18 -19
- package/out/index.d.ts.map +1 -1
- package/out/index.js +13 -14
- package/out/index.js.map +1 -1
- package/out/interpolation.d.ts +1 -1
- package/out/interpolation.d.ts.map +1 -1
- package/out/lookup.d.ts +2 -2
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +4 -4
- package/out/lookup.js.map +1 -1
- package/out/nsul/lookup.d.ts.map +1 -1
- package/out/place-importance-schema.d.ts +0 -1
- package/out/place-importance-schema.d.ts.map +1 -1
- package/out/place-importance-schema.js +1 -2
- package/out/place-importance-schema.js.map +1 -1
- package/out/poi/lookup.d.ts.map +1 -1
- package/out/poi/lookup.js +1 -1
- package/out/poi/lookup.js.map +1 -1
- package/out/poi/schema.d.ts.map +1 -1
- package/out/postal/{city-alias-lookup.d.ts → city/alias/lookup.d.ts} +2 -2
- package/out/postal/city/alias/lookup.d.ts.map +1 -0
- package/out/postal/{city-alias-lookup.js → city/alias/lookup.js} +1 -1
- package/out/postal/city/alias/lookup.js.map +1 -0
- package/out/postal/{city-alias-schema.d.ts → city/alias/schema.d.ts} +1 -1
- package/out/postal/city/alias/schema.d.ts.map +1 -0
- package/out/postal/{city-alias-schema.js → city/alias/schema.js} +1 -1
- package/out/postal/city/alias/schema.js.map +1 -0
- package/out/postal/{city-candidate-schema.d.ts → city/candidate-schema.d.ts} +1 -1
- package/out/postal/city/candidate-schema.d.ts.map +1 -0
- package/out/postal/{city-candidate-schema.js → city/candidate-schema.js} +1 -1
- package/out/postal/city/candidate-schema.js.map +1 -0
- package/out/postal/index.d.ts +3 -3
- package/out/postal/index.js +3 -3
- package/out/postcode-point-lookup.d.ts.map +1 -1
- package/out/primary-preference.d.ts +3 -3
- package/out/primary-preference.d.ts.map +1 -1
- package/out/primary-preference.js +12 -4
- package/out/primary-preference.js.map +1 -1
- package/out/reverse.d.ts.map +1 -1
- package/out/reverse.js +1 -1
- package/out/reverse.js.map +1 -1
- package/out/search-fetch.d.ts.map +1 -1
- package/out/search-fetch.js +1 -1
- package/out/search-fetch.js.map +1 -1
- package/out/{sqlite-convention-source.d.ts → sqlite/convention-source.d.ts} +1 -1
- package/out/sqlite/convention-source.d.ts.map +1 -0
- package/out/{sqlite-convention-source.js → sqlite/convention-source.js} +1 -1
- package/out/sqlite/convention-source.js.map +1 -0
- package/out/{sqlite-utils.d.ts → sqlite/utils.d.ts} +1 -2
- package/out/sqlite/utils.d.ts.map +1 -0
- package/out/{sqlite-utils.js → sqlite/utils.js} +1 -4
- package/out/sqlite/utils.js.map +1 -0
- package/out/street/{centroid.d.ts → centroid/index.d.ts} +2 -2
- package/out/street/centroid/index.d.ts.map +1 -0
- package/out/street/{centroid.js → centroid/index.js} +1 -1
- package/out/street/centroid/index.js.map +1 -0
- package/out/street/{centroid-schema.d.ts → centroid/schema.d.ts} +1 -1
- package/out/street/centroid/schema.d.ts.map +1 -0
- package/out/street/{centroid-schema.js → centroid/schema.js} +1 -1
- package/out/street/centroid/schema.js.map +1 -0
- package/out/street/index.d.ts +4 -4
- package/out/street/index.d.ts.map +1 -1
- package/out/street/index.js +4 -4
- package/out/street/index.js.map +1 -1
- package/out/street/{morphology-fst-builder.d.ts → morphology/fst/builder.d.ts} +1 -1
- package/out/street/morphology/fst/builder.d.ts.map +1 -0
- package/out/street/{morphology-fst-builder.js → morphology/fst/builder.js} +8 -3
- package/out/street/morphology/fst/builder.js.map +1 -0
- package/out/street/{morphology-fst-loader.d.ts → morphology/fst/loader.d.ts} +1 -1
- package/out/street/morphology/fst/loader.d.ts.map +1 -0
- package/out/street/{morphology-fst-loader.js → morphology/fst/loader.js} +2 -2
- package/out/street/morphology/fst/loader.js.map +1 -0
- package/out/street/name-lookup.d.ts.map +1 -1
- package/out/street/name-lookup.js.map +1 -1
- package/out/street/normalize.d.ts +13 -1
- package/out/street/normalize.d.ts.map +1 -1
- package/out/street/normalize.js +37 -0
- package/out/street/normalize.js.map +1 -1
- package/out/street/segment-schema.d.ts.map +1 -1
- package/out/uprn/lookup.d.ts.map +1 -1
- package/out/uprn/lookup.js +1 -1
- package/out/uprn/lookup.js.map +1 -1
- package/out/weights-overlay-linker.d.ts.map +1 -1
- package/out/weights-overlay-linker.js +4 -3
- package/out/weights-overlay-linker.js.map +1 -1
- package/package.json +64 -64
- package/out/address/point-interpolation.d.ts.map +0 -1
- package/out/address/point-interpolation.js.map +0 -1
- package/out/address/point-schema.d.ts.map +0 -1
- package/out/address/point-schema.js.map +0 -1
- package/out/address/point.d.ts.map +0 -1
- package/out/address/point.js.map +0 -1
- package/out/build-candidate.d.ts.map +0 -1
- package/out/build-candidate.js.map +0 -1
- package/out/build-slim.d.ts.map +0 -1
- package/out/build-slim.js.map +0 -1
- package/out/candidate/ancestors-sidecar.d.ts.map +0 -1
- package/out/candidate/ancestors-sidecar.js.map +0 -1
- package/out/candidate-ancestors-schema.d.ts.map +0 -1
- package/out/candidate-ancestors-schema.js.map +0 -1
- package/out/candidate-fts.d.ts.map +0 -1
- package/out/candidate-fts.js.map +0 -1
- package/out/candidate-importance.d.ts.map +0 -1
- package/out/candidate-importance.js.map +0 -1
- package/out/candidate-lookup.d.ts.map +0 -1
- package/out/candidate-lookup.js.map +0 -1
- package/out/candidate-schema.d.ts.map +0 -1
- package/out/candidate-schema.js.map +0 -1
- package/out/candidate-scoring.d.ts.map +0 -1
- package/out/candidate-scoring.js.map +0 -1
- package/out/postal/city-alias-lookup.d.ts.map +0 -1
- package/out/postal/city-alias-lookup.js.map +0 -1
- package/out/postal/city-alias-schema.d.ts.map +0 -1
- package/out/postal/city-alias-schema.js.map +0 -1
- package/out/postal/city-candidate-schema.d.ts.map +0 -1
- package/out/postal/city-candidate-schema.js.map +0 -1
- package/out/sqlite-convention-source.d.ts.map +0 -1
- package/out/sqlite-convention-source.js.map +0 -1
- package/out/sqlite-utils.d.ts.map +0 -1
- package/out/sqlite-utils.js.map +0 -1
- package/out/street/centroid-schema.d.ts.map +0 -1
- package/out/street/centroid-schema.js.map +0 -1
- package/out/street/centroid.d.ts.map +0 -1
- package/out/street/centroid.js.map +0 -1
- package/out/street/morphology-fst-builder.d.ts.map +0 -1
- package/out/street/morphology-fst-builder.js.map +0 -1
- package/out/street/morphology-fst-loader.d.ts.map +0 -1
- package/out/street/morphology-fst-loader.js.map +0 -1
- /package/lib/address/{point-schema.ts → point/schema.ts} +0 -0
- /package/lib/{build-slim.ts → build/slim.ts} +0 -0
- /package/lib/{candidate-fts.ts → candidate/fts.ts} +0 -0
- /package/lib/postal/{city-alias-schema.ts → city/alias/schema.ts} +0 -0
- /package/lib/postal/{city-candidate-schema.ts → city/candidate-schema.ts} +0 -0
- /package/lib/{sqlite-convention-source.ts → sqlite/convention-source.ts} +0 -0
- /package/lib/street/{centroid-schema.ts → centroid/schema.ts} +0 -0
package/out/ancestry/backfill.js
CHANGED
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
* test: each (id, ancestor_id) is inserted at most once, so a second run over the same DB adds
|
|
45
45
|
* nothing.
|
|
46
46
|
*/
|
|
47
|
-
import { readDirectoryEntries } from "@mailwoman/core/fs/readers";
|
|
48
47
|
import { readWOFFeature } from "@mailwoman/core/resources/whosonfirst";
|
|
49
48
|
import { join, resolvePath } from "path-ts";
|
|
49
|
+
import { Globerator } from "spliterator/node/fs";
|
|
50
50
|
/**
|
|
51
51
|
* Genuinely top-level placetypes — they never have (or need) an ancestor, so skip them.
|
|
52
52
|
*/
|
|
@@ -64,7 +64,9 @@ export async function discoverAdminDataRoots(reposRoot) {
|
|
|
64
64
|
return;
|
|
65
65
|
let names;
|
|
66
66
|
try {
|
|
67
|
-
names = (await
|
|
67
|
+
names = (await Globerator.from("*", { cwd: dir, withFileTypes: true, onlyFiles: false }).toArray())
|
|
68
|
+
.filter((entry) => entry.isDirectory())
|
|
69
|
+
.map((entry) => entry.name);
|
|
68
70
|
}
|
|
69
71
|
catch {
|
|
70
72
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../lib/ancestry/backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"backfill.js","sourceRoot":"","sources":["../../lib/ancestry/backfill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/ancestry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/ancestry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAY5D,CAAA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACX;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,SAAS,GAAG,gBAAgB,EAAE,CAc/G;AAED,cAAc,oBAAoB,CAAA"}
|
package/out/ancestry/index.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* instead of sorting last; forward resolution rarely saw those as ANCESTOR placetypes, reverse
|
|
15
15
|
* geocoding always does).
|
|
16
16
|
*/
|
|
17
|
-
import { allRows } from "
|
|
17
|
+
import { allRows } from "@mailwoman/core/utils";
|
|
18
18
|
/**
|
|
19
19
|
* WOF placetype → containment depth, coarsest = 1. Higher = finer. Placetypes we never resolve (continent, empire, …)
|
|
20
20
|
* map to 0 and sort last. NOT the same table as the FST's `PLACETYPE_ORDER` (fst-serialize.ts) — that one is a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/ancestry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/ancestry/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAG/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqC;IAChE,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,CAAC;IACT,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,EAAE;CACb,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC/C,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC;AAcD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAK,EAAsB,EAAE,EAAU,EAAE,UAAU,GAAG,MAAM;IAC1F,MAAM,IAAI,GAAG,OAAO,CACnB,EAAE,CAAC,OAAO,CACT;;UAEO,UAAU,qBAAqB,UAAU;4CACP,CACzC,EACD,EAAE,CACF,CAAA;IAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;IAE9E,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,cAAc,oBAAoB,CAAA"}
|
|
@@ -69,9 +69,11 @@ export interface BuildCandidateOptions {
|
|
|
69
69
|
/**
|
|
70
70
|
* Optional LOCALITY extracts (`spr` rows with `placetype='locality'` + real coords, e.g. localities-nz-linz.db — the
|
|
71
71
|
* #1564 NZ suburb tier) — folded through the same extract loop as the postcode extracts, staged as `locality`
|
|
72
|
-
* candidate rows with
|
|
73
|
-
*
|
|
74
|
-
* `
|
|
72
|
+
* candidate rows with UNMEASURED population (`neg_rank 0`: a extract row ranks behind any populated namesake and wins
|
|
73
|
+
* only where its key is the answer). Each extract's `names` table folds as aliases, `is_primary = 0`, same as the
|
|
74
|
+
* delivery-city pass. An extract whose `ancestors` table names an admin region for a row gives that row the region's
|
|
75
|
+
* scope (`region_id`) plus closure rows for the region and the region's own chain above it; an extract without one
|
|
76
|
+
* stays unscoped, as before.
|
|
75
77
|
*/
|
|
76
78
|
localities?: string[];
|
|
77
79
|
/**
|
|
@@ -122,6 +124,12 @@ export interface BuildCandidateResult {
|
|
|
122
124
|
places: number;
|
|
123
125
|
primaries: number;
|
|
124
126
|
aliases: number;
|
|
127
|
+
/**
|
|
128
|
+
* Region aliases refused because another same-country region holds the name as its official name (three pairs in the
|
|
129
|
+
* admin artifact: `新竹市`, `嘉義市`, `충청남도`). Zero on a source without a `names` table means the rule had nothing to read,
|
|
130
|
+
* not that no pair exists.
|
|
131
|
+
*/
|
|
132
|
+
regionOfficialRefused: number;
|
|
125
133
|
abbrevs: number;
|
|
126
134
|
postcodes: number;
|
|
127
135
|
/**
|
|
@@ -179,4 +187,4 @@ export interface BuildCandidateResult {
|
|
|
179
187
|
keyTailWithRole: number;
|
|
180
188
|
}
|
|
181
189
|
export declare function buildCandidateTable(opts: BuildCandidateOptions): Promise<BuildCandidateResult>;
|
|
182
|
-
//# sourceMappingURL=
|
|
190
|
+
//# sourceMappingURL=candidate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate.d.ts","sourceRoot":"","sources":["../../lib/build/candidate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAsBH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAO7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtF,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAClC;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;QAC5B;;;WAGG;QACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAClC,CAAA;IACD;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA+apG"}
|
|
@@ -42,14 +42,14 @@ import { COUNTRY_POPULATION } from "@mailwoman/codex/country";
|
|
|
42
42
|
import { pathExists } from "@mailwoman/core/fs/readers";
|
|
43
43
|
import { removePath } from "@mailwoman/core/fs/writers";
|
|
44
44
|
import { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
45
|
-
import { createCandidateFTS } from "#candidate-fts";
|
|
46
|
-
import { IMPORTANCE_JOIN_RADIUS_KM, loadImportanceIndex } from "#candidate-importance";
|
|
47
|
-
import { CANDIDATE_COLUMNS, createCandidateStagingTables, createCandidateTable, } from "#candidate-schema";
|
|
48
45
|
import { explodeAliasBags } from "#candidate/alias-bags";
|
|
49
|
-
import { buildAncestorsSidecar } from "#candidate/ancestors
|
|
46
|
+
import { buildAncestorsSidecar } from "#candidate/ancestors/sidecar";
|
|
50
47
|
import { stageCountryDisplayNames } from "#candidate/country-display-names";
|
|
51
48
|
import { foldExtract } from "#candidate/extract-fold";
|
|
49
|
+
import { createCandidateFTS } from "#candidate/fts";
|
|
50
|
+
import { IMPORTANCE_JOIN_RADIUS_KM, loadImportanceIndex } from "#candidate/importance";
|
|
52
51
|
import { GLOSS_KEY_THRESHOLD, stampNameRoles } from "#candidate/name-roles";
|
|
52
|
+
import { CANDIDATE_COLUMNS, createCandidateStagingTables, createCandidateTable, } from "#candidate/schema";
|
|
53
53
|
import { createCapitalTable } from "#capital-schema";
|
|
54
54
|
import { resurrectCurrencyHoles } from "#currency-backfill";
|
|
55
55
|
import { normalizeLocalityForKey } from "#street/normalize";
|
|
@@ -68,7 +68,7 @@ export async function buildCandidateTable(opts) {
|
|
|
68
68
|
// staging table come from the SHARED schema DDL, so they can't drift from {@link CandidateDatabase}.
|
|
69
69
|
kdb.exec("PRAGMA page_size=8192; PRAGMA journal_mode=OFF; PRAGMA synchronous=OFF; PRAGMA cache_size=-2000000;");
|
|
70
70
|
await createCandidateStagingTables(kdb);
|
|
71
|
-
//
|
|
71
|
+
// Build compact country and placetype code maps for clustered keys.
|
|
72
72
|
// assigned here; the rows are bulk-inserted via kdb once the passes have discovered every code. ---
|
|
73
73
|
const ccodes = new Map();
|
|
74
74
|
const ptcodes = new Map();
|
|
@@ -90,7 +90,7 @@ export async function buildCandidateTable(opts) {
|
|
|
90
90
|
}
|
|
91
91
|
return id;
|
|
92
92
|
};
|
|
93
|
-
//
|
|
93
|
+
// Load the importance source before the only pass that sees each place.
|
|
94
94
|
// name/country/placetype/centroid together. Absent → every row's `importance` stays NULL. ---
|
|
95
95
|
let importance;
|
|
96
96
|
if (opts.importance) {
|
|
@@ -104,7 +104,7 @@ export async function buildCandidateTable(opts) {
|
|
|
104
104
|
// to be visible in the log rather than inferred from the artifact.
|
|
105
105
|
progress("importance", "no score source given — `importance` will be NULL on every row");
|
|
106
106
|
}
|
|
107
|
-
//
|
|
107
|
+
// Derive each place's region ancestor for same-name disambiguation.
|
|
108
108
|
progress("region", "loading region ancestry");
|
|
109
109
|
const regionOf = new Map();
|
|
110
110
|
let multiRegion = 0;
|
|
@@ -130,7 +130,7 @@ export async function buildCandidateTable(opts) {
|
|
|
130
130
|
// node:sqlite insert) rather than a per-row query builder. Placeholders come from CANDIDATE_COLUMNS so
|
|
131
131
|
// the column COUNT can't drift; the positional run() args below MUST stay in CANDIDATE_COLUMNS order.
|
|
132
132
|
const insStage = kdb.prepare(`INSERT INTO cand_stage VALUES (${CANDIDATE_COLUMNS.map(() => "?").join(", ")})`);
|
|
133
|
-
//
|
|
133
|
+
// Stage primary names and attributes reused by later alias passes.
|
|
134
134
|
progress("primaries", "indexing place names");
|
|
135
135
|
const attrs = new Map();
|
|
136
136
|
let nPrim = 0;
|
|
@@ -189,7 +189,7 @@ export async function buildCandidateTable(opts) {
|
|
|
189
189
|
const stageRow = (k, a, sid, isPrimary) => {
|
|
190
190
|
insStage.run(k, a.cid, a.rid, a.ptid, a.neg, sid, a.name, a.lat, a.lon, a.mnLat, a.mnLon, a.mxLat, a.mxLon, a.pop, isPrimary, a.imp, null);
|
|
191
191
|
};
|
|
192
|
-
//
|
|
192
|
+
// Stage country display names across scripts.
|
|
193
193
|
// Never a silent zero: a runtime whose ICU lacks these locales degrades to fewer surfaces, and the count is how a
|
|
194
194
|
// reader tells that apart from the pass not having run.
|
|
195
195
|
progress("country-display-names", `${stageCountryDisplayNames({
|
|
@@ -199,7 +199,7 @@ export async function buildCandidateTable(opts) {
|
|
|
199
199
|
stageRow,
|
|
200
200
|
tx: kdb,
|
|
201
201
|
}).toLocaleString()} country surfaces`);
|
|
202
|
-
//
|
|
202
|
+
// Backfill cross-source currency before later candidate passes.
|
|
203
203
|
// the alias pass so a resurrected place's alt names explode like any primary's. ---
|
|
204
204
|
if (opts.currencyBackfill) {
|
|
205
205
|
const nBackfill = await resurrectCurrencyHoles({
|
|
@@ -223,11 +223,17 @@ export async function buildCandidateTable(opts) {
|
|
|
223
223
|
// and the log must say so rather than leave it inferable only from a missing row.
|
|
224
224
|
progress("currency-backfill", "not configured — deprecated-no-successor holes stay dead (#1737)");
|
|
225
225
|
}
|
|
226
|
-
//
|
|
226
|
+
// Stage distinct normalized aliases from alternate names.
|
|
227
227
|
progress("aliases", "exploding alias bags");
|
|
228
|
-
const { nAlias, keyCounts } = explodeAliasBags(src, kdb, attrs, stageRow
|
|
229
|
-
|
|
230
|
-
|
|
228
|
+
const { nAlias, keyCounts, regionOfficialRefused } = explodeAliasBags(src, kdb, attrs, stageRow, {
|
|
229
|
+
regionPlacetypeID: ptID("region"),
|
|
230
|
+
ccID,
|
|
231
|
+
});
|
|
232
|
+
progress("aliases", `${nAlias.toLocaleString()} aliases` +
|
|
233
|
+
(regionOfficialRefused
|
|
234
|
+
? `; ${regionOfficialRefused.toLocaleString()} region aliases refused as another region's official name`
|
|
235
|
+
: ""));
|
|
236
|
+
// Stage region abbreviations.
|
|
231
237
|
let nAbbr = 0;
|
|
232
238
|
kdb.exec("BEGIN");
|
|
233
239
|
for (const r of src.prepare("SELECT id, abbr FROM place_abbr").iterate()) {
|
|
@@ -242,7 +248,7 @@ export async function buildCandidateTable(opts) {
|
|
|
242
248
|
}
|
|
243
249
|
kdb.exec("COMMIT");
|
|
244
250
|
progress("abbrevs", `${nAbbr.toLocaleString()} abbrevs`);
|
|
245
|
-
//
|
|
251
|
+
// Stamp each name's semantic role.
|
|
246
252
|
// Independent of the sidecar below: this writes `cand_stage.name_role`, that writes the ancestor and
|
|
247
253
|
// interval tables, and neither reads the other's output. Ordered by label only.
|
|
248
254
|
const roles = stampNameRoles({
|
|
@@ -255,9 +261,9 @@ export async function buildCandidateTable(opts) {
|
|
|
255
261
|
ccodes,
|
|
256
262
|
progress,
|
|
257
263
|
});
|
|
258
|
-
//
|
|
264
|
+
// Stage the encoded ancestors sidecar.
|
|
259
265
|
const sidecar = await buildAncestorsSidecar({ src, out: kdb, attrs, ptID, progress });
|
|
260
|
-
//
|
|
266
|
+
// Fold postcode and locality extracts into candidate records.
|
|
261
267
|
let nPostcode = 0;
|
|
262
268
|
let nPostcodeAlias = 0;
|
|
263
269
|
for (const pcDB of opts.postcodes ?? []) {
|
|
@@ -277,6 +283,8 @@ export async function buildCandidateTable(opts) {
|
|
|
277
283
|
progress("postcodes", `${nPostcode.toLocaleString()} postcodes; ${nPostcodeAlias.toLocaleString()} aliases`);
|
|
278
284
|
}
|
|
279
285
|
let nLocality = 0;
|
|
286
|
+
let nLocalityScoped = 0;
|
|
287
|
+
let nLocalityAncestor = 0;
|
|
280
288
|
for (const locDB of opts.localities ?? []) {
|
|
281
289
|
const folded = foldExtract({
|
|
282
290
|
out: kdb,
|
|
@@ -285,14 +293,20 @@ export async function buildCandidateTable(opts) {
|
|
|
285
293
|
ccID,
|
|
286
294
|
ptID,
|
|
287
295
|
stageRow,
|
|
296
|
+
attrs,
|
|
288
297
|
progress,
|
|
289
298
|
});
|
|
290
299
|
nLocality += folded.primaries;
|
|
300
|
+
nLocalityScoped += folded.scoped;
|
|
301
|
+
nLocalityAncestor += folded.ancestorRows;
|
|
291
302
|
}
|
|
292
303
|
if (nLocality > 0) {
|
|
293
|
-
progress("localities", `${nLocality.toLocaleString()} extract localities folded`
|
|
304
|
+
progress("localities", `${nLocality.toLocaleString()} extract localities folded` +
|
|
305
|
+
(nLocalityScoped
|
|
306
|
+
? `; ${nLocalityScoped.toLocaleString()} carry a region scope (${nLocalityAncestor.toLocaleString()} closure rows)`
|
|
307
|
+
: ""));
|
|
294
308
|
}
|
|
295
|
-
//
|
|
309
|
+
// Insert the small typed code dictionaries through Kysely.
|
|
296
310
|
if (ccodes.size) {
|
|
297
311
|
await kdb
|
|
298
312
|
.insertInto("country_codes")
|
|
@@ -305,7 +319,7 @@ export async function buildCandidateTable(opts) {
|
|
|
305
319
|
.values([...ptcodes].map(([placetype, id]) => ({ id, placetype })))
|
|
306
320
|
.execute();
|
|
307
321
|
}
|
|
308
|
-
//
|
|
322
|
+
// Insert the small typed capital-status reference table.
|
|
309
323
|
if (opts.capitals?.length) {
|
|
310
324
|
await createCapitalTable(kdb);
|
|
311
325
|
await kdb
|
|
@@ -320,7 +334,7 @@ export async function buildCandidateTable(opts) {
|
|
|
320
334
|
.execute();
|
|
321
335
|
progress("capitals", `${opts.capitals.length.toLocaleString()} capital-reference rows carried in-artifact`);
|
|
322
336
|
}
|
|
323
|
-
//
|
|
337
|
+
// Materialize the clustered WITHOUT ROWID table in sorted order.
|
|
324
338
|
progress("cluster", "building clustered candidate table + VACUUM");
|
|
325
339
|
// Column list + clustered-key order are sourced from CANDIDATE_COLUMNS (the first 6 ARE the PRIMARY
|
|
326
340
|
// KEY) so the SELECT, the ORDER BY, and the table can't drift. The table comes from the shared
|
|
@@ -351,14 +365,15 @@ export async function buildCandidateTable(opts) {
|
|
|
351
365
|
places: attrs.size,
|
|
352
366
|
primaries: nPrim,
|
|
353
367
|
aliases: nAlias,
|
|
368
|
+
regionOfficialRefused,
|
|
354
369
|
abbrevs: nAbbr,
|
|
355
370
|
postcodes: nPostcode,
|
|
356
371
|
postcodeAliases: nPostcodeAlias,
|
|
357
|
-
ancestorRows: sidecar.ancestorRows,
|
|
358
|
-
ancestorPlaces: sidecar.ancestorPlaces,
|
|
372
|
+
ancestorRows: sidecar.ancestorRows + nLocalityAncestor,
|
|
373
|
+
ancestorPlaces: sidecar.ancestorPlaces + nLocalityScoped,
|
|
359
374
|
intervalPlaces: sidecar.intervalPlaces,
|
|
360
375
|
...roles,
|
|
361
376
|
...(importance ? { importanceScored: importance.matched, importanceFiltered: importance.refused } : {}),
|
|
362
377
|
};
|
|
363
378
|
}
|
|
364
|
-
//# sourceMappingURL=
|
|
379
|
+
//# sourceMappingURL=candidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../lib/build/candidate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slim.d.ts","sourceRoot":"","sources":["../../lib/build/slim.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAcH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5D;AAED,MAAM,MAAM,cAAc,GACvB,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,kBAAkB,GAClB,kBAAkB,GAClB,YAAY,GACZ,KAAK,GACL,QAAQ,GACR,MAAM,CAAA;AAET,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE;QACV,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,SAAS,EAAE,MAAM,CAAA;QACjB,eAAe,EAAE,MAAM,CAAA;KACvB,CAAA;CACD;AAwCD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6H3F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slim.js","sourceRoot":"","sources":["../../lib/build/slim.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,23 @@
|
|
|
5
5
|
* @file Pass 2 of the candidate build — explode `place_search.alt_names` into distinct alias rows.
|
|
6
6
|
*/
|
|
7
7
|
import type { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
8
|
-
import type { CandidateDatabase } from "#candidate-schema";
|
|
9
8
|
import type { PlaceAttrs, StageRow } from "#candidate/place-attrs";
|
|
9
|
+
import type { CandidateDatabase } from "#candidate/schema";
|
|
10
10
|
import type { WOFDatabase } from "#schema";
|
|
11
11
|
/**
|
|
12
12
|
* Pass 2 — explode each place's `place_search.alt_names` bag into distinct-key alias rows (`is_primary = 0`), and count
|
|
13
13
|
* each place's distinct staged keys (primary included) — the gloss detector's key-count signal (#1730).
|
|
14
|
+
*
|
|
15
|
+
* With `regionPlacetypeID` and `ccID` given, a REGION's alias that is another same-country region's official name is
|
|
16
|
+
* refused and counted rather than staged (see {@link officialNameHoldersByRegion}); without them the pass stages every
|
|
17
|
+
* alias.
|
|
14
18
|
*/
|
|
15
|
-
export declare function explodeAliasBags(src: DatabaseClient<WOFDatabase>, out: DatabaseClient<CandidateDatabase>, attrs: Map<number, PlaceAttrs>, stageRow: StageRow
|
|
19
|
+
export declare function explodeAliasBags(src: DatabaseClient<WOFDatabase>, out: DatabaseClient<CandidateDatabase>, attrs: Map<number, PlaceAttrs>, stageRow: StageRow, opts?: {
|
|
20
|
+
regionPlacetypeID?: number;
|
|
21
|
+
ccID?: (code: string | null) => number;
|
|
22
|
+
}): {
|
|
16
23
|
nAlias: number;
|
|
17
24
|
keyCounts: Map<number, number>;
|
|
25
|
+
regionOfficialRefused: number;
|
|
18
26
|
};
|
|
19
27
|
//# sourceMappingURL=alias-bags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alias-bags.d.ts","sourceRoot":"","sources":["../../lib/candidate/alias-bags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"alias-bags.d.ts","sourceRoot":"","sources":["../../lib/candidate/alias-bags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAG9D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAsC1C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC/B,GAAG,EAAE,cAAc,CAAC,WAAW,CAAC,EAChC,GAAG,EAAE,cAAc,CAAC,iBAAiB,CAAC,EACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,GAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAA;CAAO,GAC/E;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAmDnF"}
|
|
@@ -4,22 +4,59 @@
|
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
* @file Pass 2 of the candidate build — explode `place_search.alt_names` into distinct alias rows.
|
|
6
6
|
*/
|
|
7
|
+
import { tableExists } from "@mailwoman/sqlite/introspection";
|
|
7
8
|
import { ALIAS_SEPARATOR } from "#fts/index";
|
|
8
9
|
import { normalizeLocalityForKey } from "#street/normalize";
|
|
10
|
+
/**
|
|
11
|
+
* The official name of every current region, keyed `${country id}\0${name key}` → region id, from the source `names`
|
|
12
|
+
* table's `official` bit. Empty when the source carries no `names` table (a fixture, or an extract shape).
|
|
13
|
+
*
|
|
14
|
+
* This is the positive evidence behind the one alias refusal below: a name is refused from a region's bag ONLY when
|
|
15
|
+
* another region of the same country holds it as its official name. Three such pairs exist in the admin artifact —
|
|
16
|
+
* `新竹市` on Hsinchu County (the city's official name), `嘉義市` on Chiayi County, `충청남도` on Sejong — and each let the more
|
|
17
|
+
* populous holder of the variant outrank the place the name officially is, so a `新竹市` region node resolved the county
|
|
18
|
+
* and every district scoped to the city contradicted it.
|
|
19
|
+
*/
|
|
20
|
+
function officialNameHoldersByRegion(src, ccID) {
|
|
21
|
+
const keys = new Map();
|
|
22
|
+
if (!tableExists(src, "names"))
|
|
23
|
+
return keys;
|
|
24
|
+
for (const r of src
|
|
25
|
+
.prepare(`SELECT n.id AS id, n.name AS name, s.country AS country
|
|
26
|
+
FROM names n JOIN spr s ON s.id = n.id
|
|
27
|
+
WHERE s.placetype = 'region' AND s.is_current != 0 AND s.is_deprecated = 0 AND n.official = 1`)
|
|
28
|
+
.iterate()) {
|
|
29
|
+
const k = normalizeLocalityForKey(String(r.name ?? ""));
|
|
30
|
+
if (k) {
|
|
31
|
+
keys.set(`${ccID(r.country)}\0${k}`, Number(r.id));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return keys;
|
|
35
|
+
}
|
|
9
36
|
/**
|
|
10
37
|
* Pass 2 — explode each place's `place_search.alt_names` bag into distinct-key alias rows (`is_primary = 0`), and count
|
|
11
38
|
* each place's distinct staged keys (primary included) — the gloss detector's key-count signal (#1730).
|
|
39
|
+
*
|
|
40
|
+
* With `regionPlacetypeID` and `ccID` given, a REGION's alias that is another same-country region's official name is
|
|
41
|
+
* refused and counted rather than staged (see {@link officialNameHoldersByRegion}); without them the pass stages every
|
|
42
|
+
* alias.
|
|
12
43
|
*/
|
|
13
|
-
export function explodeAliasBags(src, out, attrs, stageRow) {
|
|
44
|
+
export function explodeAliasBags(src, out, attrs, stageRow, opts = {}) {
|
|
14
45
|
let nAlias = 0;
|
|
46
|
+
let regionOfficialRefused = 0;
|
|
15
47
|
const keyCounts = new Map();
|
|
48
|
+
const official = typeof opts.regionPlacetypeID === "number" && opts.ccID
|
|
49
|
+
? officialNameHoldersByRegion(src, opts.ccID)
|
|
50
|
+
: new Map();
|
|
16
51
|
out.exec("BEGIN");
|
|
17
52
|
for (const r of src.prepare("SELECT wof_id, alt_names FROM place_search").iterate()) {
|
|
18
|
-
const
|
|
53
|
+
const id = Number(r.wof_id);
|
|
54
|
+
const a = attrs.get(id);
|
|
19
55
|
const alt = r.alt_names;
|
|
20
56
|
if (!a || !alt)
|
|
21
57
|
continue;
|
|
22
58
|
const seen = new Set([a.pkey]);
|
|
59
|
+
const isRegion = a.ptid === opts.regionPlacetypeID;
|
|
23
60
|
// The writer space-pads each separator and appends a trailing one, so every piece arrives with
|
|
24
61
|
// surrounding whitespace and the last one is empty. `normalizeLocalityForKey` folds both away,
|
|
25
62
|
// and the empty tail falls out at the `!k` guard below.
|
|
@@ -28,12 +65,19 @@ export function explodeAliasBags(src, out, attrs, stageRow) {
|
|
|
28
65
|
if (!k || seen.has(k))
|
|
29
66
|
continue;
|
|
30
67
|
seen.add(k);
|
|
31
|
-
|
|
68
|
+
if (isRegion) {
|
|
69
|
+
const holder = official.get(`${a.cid}\0${k}`);
|
|
70
|
+
if (typeof holder === "number" && holder !== id) {
|
|
71
|
+
regionOfficialRefused++;
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
stageRow(k, a, id, 0);
|
|
32
76
|
nAlias++;
|
|
33
77
|
}
|
|
34
|
-
keyCounts.set(
|
|
78
|
+
keyCounts.set(id, seen.size);
|
|
35
79
|
}
|
|
36
80
|
out.exec("COMMIT");
|
|
37
|
-
return { nAlias, keyCounts };
|
|
81
|
+
return { nAlias, keyCounts, regionOfficialRefused };
|
|
38
82
|
}
|
|
39
83
|
//# sourceMappingURL=alias-bags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alias-bags.js","sourceRoot":"","sources":["../../lib/candidate/alias-bags.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"alias-bags.js","sourceRoot":"","sources":["../../lib/candidate/alias-bags.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
* rows). Absence is UNVERIFIABLE, never a containment verdict.
|
|
55
55
|
*/
|
|
56
56
|
import { type Kysely } from "kysely";
|
|
57
|
-
import type { CandidateDatabase } from "#candidate
|
|
57
|
+
import type { CandidateDatabase } from "#candidate/schema";
|
|
58
58
|
import type { NameKey } from "#street/normalize";
|
|
59
59
|
/**
|
|
60
60
|
* The deepest chain the sidecar stores per place. WOF containment within the resolvable placetypes (country …
|
|
@@ -147,4 +147,4 @@ export interface IntervalLabel {
|
|
|
147
147
|
* this line settles.
|
|
148
148
|
*/
|
|
149
149
|
export declare function intervalContains(outer: IntervalLabel, inner: IntervalLabel): boolean;
|
|
150
|
-
//# sourceMappingURL=
|
|
150
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../lib/candidate/ancestors/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,EAAO,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAE5D;;GAEG;AACH,eAAO,MAAM,wBAAwB,uBAAuB,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IAC1C,kBAAkB,EAAE,sBAAsB,CAAA;IAC1C,kBAAkB,EAAE,sBAAsB,CAAA;CAC1C;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,YACtC,QAAQ,EACR,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,iBAAiB,CACR,CAAA;AAEV;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAa/F;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/F;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAEpF"}
|
|
@@ -120,4 +120,4 @@ export async function createCandidateIntervalTable(db) {
|
|
|
120
120
|
export function intervalContains(outer, inner) {
|
|
121
121
|
return outer.pre <= inner.pre && inner.post <= outer.post;
|
|
122
122
|
}
|
|
123
|
-
//# sourceMappingURL=
|
|
123
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../lib/candidate/ancestors/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,EAAE,GAAG,EAAe,MAAM,QAAQ,CAAA;AAQzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAA;AAE5D;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAA;AAqD5D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACzC,QAAQ;IACR,OAAO;IACP,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,iBAAiB;CACR,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EAA6B;IAC/E,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,wBAAwB,CAAC;SACrC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAClD,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACjD,SAAS,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACzD,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/D,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACxD,uBAAuB,CAAC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtE,0FAA0F;SACzF,SAAS,CAAC,GAAG,CAAA,eAAe,CAAC;SAC7B,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EAA6B;IAC/E,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,wBAAwB,CAAC;SACrC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SACrD,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/C,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,GAAG,CAAA,eAAe,CAAC;SAC7B,OAAO,EAAE,CAAA;AACZ,CAAC;AAUD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,KAAoB;IAC1E,OAAO,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAA;AAC1D,CAAC"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* @file Pass 3b of the candidate build — the containment sidecar (closure rows + interval labels).
|
|
6
6
|
*/
|
|
7
7
|
import type { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
8
|
-
import type { CandidateDatabase } from "#candidate-schema";
|
|
9
8
|
import type { PlaceAttrs } from "#candidate/place-attrs";
|
|
9
|
+
import type { CandidateDatabase } from "#candidate/schema";
|
|
10
10
|
import type { WOFDatabase } from "#schema";
|
|
11
11
|
/**
|
|
12
12
|
* Pass 3b — the ancestors sidecar: closure rows + interval labels (candidate-ancestors-schema.ts owns the encoding
|
|
@@ -29,4 +29,4 @@ export declare function buildAncestorsSidecar(ctx: {
|
|
|
29
29
|
ancestorPlaces: number;
|
|
30
30
|
intervalPlaces: number;
|
|
31
31
|
}>;
|
|
32
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=sidecar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidecar.d.ts","sourceRoot":"","sources":["../../../lib/candidate/ancestors/sidecar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAW9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE;IAChD,GAAG,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IAChC,GAAG,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAA;IACtC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC9B,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,CAAA;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAqKpF"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @file Pass 3b of the candidate build — the containment sidecar (closure rows + interval labels).
|
|
6
6
|
*/
|
|
7
7
|
import { placetypeDepth } from "#ancestry/index";
|
|
8
|
-
import { CANDIDATE_ANCESTOR_COLUMNS, CANDIDATE_ANCESTOR_TABLE, CANDIDATE_INTERVAL_TABLE, createCandidateAncestorTable, createCandidateIntervalTable, MAX_ANCESTOR_DEPTH, } from "#candidate
|
|
8
|
+
import { CANDIDATE_ANCESTOR_COLUMNS, CANDIDATE_ANCESTOR_TABLE, CANDIDATE_INTERVAL_TABLE, createCandidateAncestorTable, createCandidateIntervalTable, MAX_ANCESTOR_DEPTH, } from "#candidate/ancestors/schema";
|
|
9
9
|
/**
|
|
10
10
|
* Pass 3b — the ancestors sidecar: closure rows + interval labels (candidate-ancestors-schema.ts owns the encoding
|
|
11
11
|
* decision and the DAG/absence semantics). Reads the same source `ancestors` table the region stamp reads,
|
|
@@ -137,4 +137,4 @@ export async function buildAncestorsSidecar(ctx) {
|
|
|
137
137
|
(cycleSkipped ? `; ${cycleSkipped.toLocaleString()} places skipped (canonical-parent cycle)` : ""));
|
|
138
138
|
return { ancestorRows, ancestorPlaces, intervalPlaces: preOf.size };
|
|
139
139
|
}
|
|
140
|
-
//# sourceMappingURL=
|
|
140
|
+
//# sourceMappingURL=sidecar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../../lib/candidate/ancestors/sidecar.ts"],"names":[],"mappings":"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"}
|