@opensanctions/followthemoney 4.5.2 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,3 @@
1
- import { randomUUID } from 'crypto';
2
-
3
1
  /**
4
2
  * An entity proxy which provides simplified access to the
5
3
  * properties and schema associated with an entity.
@@ -247,6 +245,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
247
245
  */
248
246
  class Property {
249
247
  constructor(schema, property) {
248
+ this.examples = null;
250
249
  this.schema = schema;
251
250
  this.name = property.name;
252
251
  this.qname = property.qname;
@@ -263,6 +262,7 @@ class Property {
263
262
  this.type = schema.model.getType(property.type);
264
263
  this.hasRange = this.range !== null;
265
264
  this.hasReverse = this.range !== null && this.reverse !== null;
265
+ this.examples = property.examples || null;
266
266
  }
267
267
  getRange() {
268
268
  return this.schema.model.getSchema(this.range);
@@ -535,10 +535,7 @@ class Model {
535
535
  * @returns a new UUID.
536
536
  */
537
537
  generateRandomId() {
538
- if (typeof crypto !== 'undefined' && crypto.randomUUID) {
539
- return crypto.randomUUID(); // Browser
540
- }
541
- return randomUUID(); // Node.js
538
+ return crypto.randomUUID();
542
539
  }
543
540
  /**
544
541
  * Make a new object with the given schema, and generate a random ID for
@@ -1269,14 +1266,6 @@ var schemata = {
1269
1266
  qname: "Address:city",
1270
1267
  type: "string"
1271
1268
  },
1272
- country: {
1273
- label: "Country",
1274
- matchable: true,
1275
- maxLength: 16,
1276
- name: "country",
1277
- qname: "Address:country",
1278
- type: "country"
1279
- },
1280
1269
  full: {
1281
1270
  label: "Full address",
1282
1271
  matchable: true,
@@ -1324,7 +1313,7 @@ var schemata = {
1324
1313
  type: "string"
1325
1314
  },
1326
1315
  postalCode: {
1327
- description: "Zip code or postcode.",
1316
+ description: "Zip code or postcode",
1328
1317
  label: "Postal code",
1329
1318
  maxLength: 16,
1330
1319
  name: "postalCode",
@@ -1332,7 +1321,7 @@ var schemata = {
1332
1321
  type: "string"
1333
1322
  },
1334
1323
  region: {
1335
- description: "Also province or area.",
1324
+ description: "Also province or area",
1336
1325
  label: "Region",
1337
1326
  maxLength: 1024,
1338
1327
  name: "region",
@@ -1340,7 +1329,7 @@ var schemata = {
1340
1329
  type: "string"
1341
1330
  },
1342
1331
  remarks: {
1343
- description: "Handling instructions, like 'care of'.",
1332
+ description: "Handling instructions, like 'care of'",
1344
1333
  label: "Remarks",
1345
1334
  maxLength: 1024,
1346
1335
  name: "remarks",
@@ -1348,7 +1337,7 @@ var schemata = {
1348
1337
  type: "string"
1349
1338
  },
1350
1339
  state: {
1351
- description: "State or federal unit.",
1340
+ description: "State or federal unit",
1352
1341
  label: "State",
1353
1342
  maxLength: 1024,
1354
1343
  name: "state",
@@ -1641,7 +1630,7 @@ var schemata = {
1641
1630
  ]
1642
1631
  },
1643
1632
  Associate: {
1644
- description: "Non-family association between two people",
1633
+ description: "Non-family association between two people.",
1645
1634
  edge: {
1646
1635
  caption: [
1647
1636
  "relationship"
@@ -1663,7 +1652,7 @@ var schemata = {
1663
1652
  plural: "Associates",
1664
1653
  properties: {
1665
1654
  associate: {
1666
- description: "An associate of the subject person.",
1655
+ description: "An associate of the subject person",
1667
1656
  label: "Associate",
1668
1657
  matchable: true,
1669
1658
  maxLength: 200,
@@ -1674,7 +1663,7 @@ var schemata = {
1674
1663
  type: "entity"
1675
1664
  },
1676
1665
  person: {
1677
- description: "The subject of the association.",
1666
+ description: "The subject of the association",
1678
1667
  label: "Person",
1679
1668
  matchable: true,
1680
1669
  maxLength: 200,
@@ -2035,7 +2024,7 @@ var schemata = {
2035
2024
  caption: [
2036
2025
  "title"
2037
2026
  ],
2038
- description: "A public appeal issued by an authority, possibly on behalf of another, for buying a specific work, supply or service\n",
2027
+ description: "A public appeal issued by an authority, possibly on behalf of another, for buying a specific work, supply or service.\n",
2039
2028
  "extends": [
2040
2029
  "Interval",
2041
2030
  "Thing"
@@ -2161,7 +2150,7 @@ var schemata = {
2161
2150
  type: "string"
2162
2151
  },
2163
2152
  fallsUnderGPPScope: {
2164
- description: "European Green Public Procurement (GPP) or green purchasing.",
2153
+ description: "European Green Public Procurement (GPP) or green purchasing",
2165
2154
  label: "Does this call fall under the scope of GPP?",
2166
2155
  maxLength: 1024,
2167
2156
  name: "fallsUnderGPPScope",
@@ -2369,13 +2358,13 @@ var schemata = {
2369
2358
  },
2370
2359
  capital: {
2371
2360
  label: "Capital",
2372
- maxLength: 1024,
2361
+ maxLength: 250,
2373
2362
  name: "capital",
2374
2363
  qname: "Company:capital",
2375
- type: "string"
2364
+ type: "number"
2376
2365
  },
2377
2366
  cikCode: {
2378
- description: "US SEC Central Index Key",
2367
+ description: "US SEC Central Index Key for listed companies",
2379
2368
  label: "SEC Central Index Key",
2380
2369
  matchable: true,
2381
2370
  maxLength: 64,
@@ -2384,7 +2373,7 @@ var schemata = {
2384
2373
  type: "identifier"
2385
2374
  },
2386
2375
  coatoCode: {
2387
- description: "Soviet classifier for territories, regions, districts, villages. Aka. SOATO and same as OKATO",
2376
+ description: "Soviet classifier for territories, regions, districts, villages. Aka. SOATO and same as OKATO.",
2388
2377
  label: "COATO / SOATO / OKATO",
2389
2378
  maxLength: 64,
2390
2379
  name: "coatoCode",
@@ -2424,6 +2413,7 @@ var schemata = {
2424
2413
  type: "identifier"
2425
2414
  },
2426
2415
  isinCode: {
2416
+ deprecated: true,
2427
2417
  description: "International Securities Identification Number",
2428
2418
  label: "ISIN",
2429
2419
  matchable: true,
@@ -2441,16 +2431,8 @@ var schemata = {
2441
2431
  qname: "Company:jibCode",
2442
2432
  type: "identifier"
2443
2433
  },
2444
- jurisdiction: {
2445
- label: "Jurisdiction",
2446
- matchable: true,
2447
- maxLength: 16,
2448
- name: "jurisdiction",
2449
- qname: "Company:jurisdiction",
2450
- type: "country"
2451
- },
2452
2434
  kppCode: {
2453
- description: "Russian code issued by the tax authority, identifies the reason for registration at the Federal Tax Service (Russian: КПП). A company may have multiple KPP codes (e.g. for different branches), and the codes are not unique across companies.",
2435
+ description: "(RU, КПП) Russian code issued by the tax authority, identifies the reason for registration at the Federal Tax Service. A company may have multiple KPP codes (e.g. for different branches), and the codes are not unique across companies.",
2454
2436
  label: "KPP",
2455
2437
  maxLength: 64,
2456
2438
  name: "kppCode",
@@ -2466,7 +2448,7 @@ var schemata = {
2466
2448
  type: "identifier"
2467
2449
  },
2468
2450
  okopfCode: {
2469
- description: "Russian classifier that that categorizes different types of legal entities in Russia based on their organizational and legal structure (Russian: ОКОПФ)",
2451
+ description: "(RU, ОКОПФ) Russian classifier that categorizes different types of legal entities in Russia based on their organizational and legal structure",
2470
2452
  label: "OKOPF",
2471
2453
  maxLength: 1024,
2472
2454
  name: "okopfCode",
@@ -2474,7 +2456,7 @@ var schemata = {
2474
2456
  type: "string"
2475
2457
  },
2476
2458
  oksmCode: {
2477
- description: "Russian (ОКСМ) countries classifier",
2459
+ description: "(RU, ОКСМ) Russian countries classifier",
2478
2460
  label: "OKSM",
2479
2461
  maxLength: 1024,
2480
2462
  name: "oksmCode",
@@ -2482,7 +2464,7 @@ var schemata = {
2482
2464
  type: "string"
2483
2465
  },
2484
2466
  okvedCode: {
2485
- description: "Russian classifier that that categorizes businesses by their (primary and secondary) economic activities (Russian: ОКВЭД)",
2467
+ description: "(RU, ОКВЭД) Russian classifier that categorizes businesses by their (primary and secondary) economic activities",
2486
2468
  label: "OKVED(2) Classifier",
2487
2469
  maxLength: 1024,
2488
2470
  name: "okvedCode",
@@ -2490,7 +2472,7 @@ var schemata = {
2490
2472
  type: "string"
2491
2473
  },
2492
2474
  pfrNumber: {
2493
- description: "(RU, ПФР) Pension Fund Registration number. AAA-BBB-CCCCCC, where AAA is organisation region, BBB is district, CCCCCC number at a specific branch",
2475
+ description: "(RU, ПФР) Pension Fund Registration number. AAA-BBB-CCCCCC, where AAA is organisation region, BBB is district, and CCCCCC is the number at a specific branch.",
2494
2476
  label: "PFR Number",
2495
2477
  matchable: true,
2496
2478
  maxLength: 64,
@@ -2498,14 +2480,6 @@ var schemata = {
2498
2480
  qname: "Company:pfrNumber",
2499
2481
  type: "identifier"
2500
2482
  },
2501
- registrationNumber: {
2502
- label: "Registration number",
2503
- matchable: true,
2504
- maxLength: 64,
2505
- name: "registrationNumber",
2506
- qname: "Company:registrationNumber",
2507
- type: "identifier"
2508
- },
2509
2483
  ricCode: {
2510
2484
  label: "Reuters Instrument Code",
2511
2485
  matchable: true,
@@ -2558,7 +2532,7 @@ var schemata = {
2558
2532
  "name",
2559
2533
  "procedureNumber"
2560
2534
  ],
2561
- description: "An contract or contract lot issued by an authority. Multiple lots may be awarded to different suppliers (see ContractAward).\n",
2535
+ description: "A contract or contract lot issued by an authority. Multiple lots may be awarded to different suppliers (see `ContractAward`).\n",
2562
2536
  "extends": [
2563
2537
  "Asset"
2564
2538
  ],
@@ -2696,6 +2670,10 @@ var schemata = {
2696
2670
  type: "entity"
2697
2671
  },
2698
2672
  status: {
2673
+ examples: [
2674
+ "In force",
2675
+ "Annulled"
2676
+ ],
2699
2677
  label: "Status",
2700
2678
  maxLength: 1024,
2701
2679
  name: "status",
@@ -2710,7 +2688,12 @@ var schemata = {
2710
2688
  type: "string"
2711
2689
  },
2712
2690
  type: {
2713
- description: "Type of contract. Potentially W (Works), U (Supplies), S (Services).\n",
2691
+ description: "Type of contract",
2692
+ examples: [
2693
+ "W (Works)",
2694
+ "U (Supplies)",
2695
+ "S (Services)"
2696
+ ],
2714
2697
  label: "Type",
2715
2698
  maxLength: 1024,
2716
2699
  name: "type",
@@ -3066,6 +3049,14 @@ var schemata = {
3066
3049
  qname: "CryptoWallet:balanceDate",
3067
3050
  type: "date"
3068
3051
  },
3052
+ blockchain: {
3053
+ description: "The blockchain or distributed ledger system on which the wallet operates",
3054
+ label: "Blockchain",
3055
+ maxLength: 1024,
3056
+ name: "blockchain",
3057
+ qname: "CryptoWallet:blockchain",
3058
+ type: "string"
3059
+ },
3069
3060
  creationDate: {
3070
3061
  label: "Creation date",
3071
3062
  matchable: true,
@@ -3074,6 +3065,15 @@ var schemata = {
3074
3065
  qname: "CryptoWallet:creationDate",
3075
3066
  type: "date"
3076
3067
  },
3068
+ cryptoAddress: {
3069
+ description: "The crypto address of the wallet",
3070
+ label: "Crypto address",
3071
+ matchable: true,
3072
+ maxLength: 512,
3073
+ name: "cryptoAddress",
3074
+ qname: "CryptoWallet:cryptoAddress",
3075
+ type: "identifier"
3076
+ },
3077
3077
  currencySymbol: {
3078
3078
  label: "Currency short code",
3079
3079
  maxLength: 1024,
@@ -3081,6 +3081,14 @@ var schemata = {
3081
3081
  qname: "CryptoWallet:currencySymbol",
3082
3082
  type: "string"
3083
3083
  },
3084
+ custodyType: {
3085
+ description: "Type of custody arrangement for the wallet (e.g., self-custody, custodial service)",
3086
+ label: "Custody type",
3087
+ maxLength: 1024,
3088
+ name: "custodyType",
3089
+ qname: "CryptoWallet:custodyType",
3090
+ type: "string"
3091
+ },
3084
3092
  holder: {
3085
3093
  label: "Wallet holder",
3086
3094
  matchable: true,
@@ -3109,7 +3117,7 @@ var schemata = {
3109
3117
  description: "Public key used to identify the wallet",
3110
3118
  label: "Address",
3111
3119
  matchable: true,
3112
- maxLength: 128,
3120
+ maxLength: 512,
3113
3121
  name: "publicKey",
3114
3122
  qname: "CryptoWallet:publicKey",
3115
3123
  type: "identifier"
@@ -3218,6 +3226,7 @@ var schemata = {
3218
3226
  plural: "Directorships",
3219
3227
  properties: {
3220
3228
  director: {
3229
+ description: "The entity exercising control over another",
3221
3230
  label: "Director",
3222
3231
  matchable: true,
3223
3232
  maxLength: 200,
@@ -3606,7 +3615,7 @@ var schemata = {
3606
3615
  "goodsDescription",
3607
3616
  "ccdNumber"
3608
3617
  ],
3609
- description: "A foreign economic activity",
3618
+ description: "A foreign economic activity.",
3610
3619
  "extends": [
3611
3620
  "Interval"
3612
3621
  ],
@@ -4088,14 +4097,6 @@ var schemata = {
4088
4097
  label: "Event",
4089
4098
  plural: "Events",
4090
4099
  properties: {
4091
- country: {
4092
- label: "Country",
4093
- matchable: true,
4094
- maxLength: 16,
4095
- name: "country",
4096
- qname: "Event:country",
4097
- type: "country"
4098
- },
4099
4100
  important: {
4100
4101
  label: "Important",
4101
4102
  maxLength: 1024,
@@ -4152,7 +4153,7 @@ var schemata = {
4152
4153
  }
4153
4154
  },
4154
4155
  Family: {
4155
- description: "Family relationship between two people",
4156
+ description: "Family relationship between two people.",
4156
4157
  edge: {
4157
4158
  caption: [
4158
4159
  "relationship"
@@ -4174,7 +4175,7 @@ var schemata = {
4174
4175
  plural: "Family members",
4175
4176
  properties: {
4176
4177
  person: {
4177
- description: "The subject of the familial relation.",
4178
+ description: "The subject of the familial relation",
4178
4179
  label: "Person",
4179
4180
  matchable: true,
4180
4181
  maxLength: 200,
@@ -4185,7 +4186,11 @@ var schemata = {
4185
4186
  type: "entity"
4186
4187
  },
4187
4188
  relationship: {
4188
- description: "Nature of the relationship, from the person's perspective eg. 'mother', where 'relative' is mother of 'person'.",
4189
+ description: "Nature of the relationship from the `person`'s perspective, e.g. 'mother', where `relative` is the mother of `person`",
4190
+ examples: [
4191
+ "mother",
4192
+ "sibling"
4193
+ ],
4189
4194
  label: "Relationship",
4190
4195
  maxLength: 1024,
4191
4196
  name: "relationship",
@@ -4193,7 +4198,7 @@ var schemata = {
4193
4198
  type: "string"
4194
4199
  },
4195
4200
  relative: {
4196
- description: "The relative of the subject person.",
4201
+ description: "The relative of the subject person",
4197
4202
  label: "Relative",
4198
4203
  matchable: true,
4199
4204
  maxLength: 200,
@@ -4326,7 +4331,7 @@ var schemata = {
4326
4331
  caption: [
4327
4332
  "number"
4328
4333
  ],
4329
- description: "An form of identification associated with its holder and some issuing country. This can be used for national ID cards, voter enrollments and similar instruments.\n",
4334
+ description: "A form of identification associated with its holder and some issuing country. This can be used for national ID cards, voter enrollments, and similar instruments.\n",
4330
4335
  "extends": [
4331
4336
  "Interval"
4332
4337
  ],
@@ -4342,6 +4347,7 @@ var schemata = {
4342
4347
  plural: "Identifications",
4343
4348
  properties: {
4344
4349
  authority: {
4350
+ description: "Government body issuing the identification document",
4345
4351
  label: "Authority",
4346
4352
  maxLength: 1024,
4347
4353
  name: "authority",
@@ -4375,6 +4381,10 @@ var schemata = {
4375
4381
  type: "identifier"
4376
4382
  },
4377
4383
  type: {
4384
+ examples: [
4385
+ "Passport",
4386
+ "Driving license"
4387
+ ],
4378
4388
  label: "Type",
4379
4389
  maxLength: 1024,
4380
4390
  name: "type",
@@ -4420,7 +4430,7 @@ var schemata = {
4420
4430
  plural: "Images",
4421
4431
  properties: {
4422
4432
  credit: {
4423
- description: "The credit or attribution for the image.",
4433
+ description: "The credit or attribution for the image",
4424
4434
  label: "Credit",
4425
4435
  maxLength: 1024,
4426
4436
  name: "credit",
@@ -4508,6 +4518,7 @@ var schemata = {
4508
4518
  type: "url"
4509
4519
  },
4510
4520
  date: {
4521
+ description: "Date associated with an Interval that isn't explicitly its `startDate` or `endDate` (prefer those when available)",
4511
4522
  label: "Date",
4512
4523
  matchable: true,
4513
4524
  maxLength: 32,
@@ -4523,6 +4534,7 @@ var schemata = {
4523
4534
  type: "text"
4524
4535
  },
4525
4536
  endDate: {
4537
+ description: "The date of expiry of a document, or on which a relationship, sanctioned status, occupation, etc. ended",
4526
4538
  label: "End date",
4527
4539
  matchable: true,
4528
4540
  maxLength: 32,
@@ -4539,6 +4551,7 @@ var schemata = {
4539
4551
  type: "text"
4540
4552
  },
4541
4553
  modifiedAt: {
4554
+ description: "The date on which the entity (like the ID document) was modified, not to be confused with an internal 'last updated'-style metadata field",
4542
4555
  label: "Modified on",
4543
4556
  matchable: true,
4544
4557
  maxLength: 32,
@@ -4580,6 +4593,7 @@ var schemata = {
4580
4593
  type: "url"
4581
4594
  },
4582
4595
  recordId: {
4596
+ description: "Identifier of a record upon which this link is based",
4583
4597
  label: "Record ID",
4584
4598
  maxLength: 1024,
4585
4599
  name: "recordId",
@@ -4587,6 +4601,7 @@ var schemata = {
4587
4601
  type: "string"
4588
4602
  },
4589
4603
  retrievedAt: {
4604
+ description: "Retrieval date generated by a data gathering system, not to be confused with an internal 'first found'-style metadata field",
4590
4605
  label: "Retrieved on",
4591
4606
  maxLength: 32,
4592
4607
  name: "retrievedAt",
@@ -4594,6 +4609,7 @@ var schemata = {
4594
4609
  type: "date"
4595
4610
  },
4596
4611
  sourceUrl: {
4612
+ description: "A deep link to a source website for the profile",
4597
4613
  label: "Source link",
4598
4614
  maxLength: 4096,
4599
4615
  name: "sourceUrl",
@@ -4601,6 +4617,7 @@ var schemata = {
4601
4617
  type: "url"
4602
4618
  },
4603
4619
  startDate: {
4620
+ description: "The date of issue of a document, or on which a relationship, sanctioned status, occupation, etc. started",
4604
4621
  label: "Start date",
4605
4622
  matchable: true,
4606
4623
  maxLength: 32,
@@ -4640,7 +4657,7 @@ var schemata = {
4640
4657
  "phone",
4641
4658
  "registrationNumber"
4642
4659
  ],
4643
- description: "Any party to legal proceedings, such as asset ownership, corporate governance or social interactions. Often used when raw data does not specify if something is a person or company.\n",
4660
+ description: "Any party to legal proceedings, such as asset ownership, corporate governance or social interactions. Often used when raw data does not specify if something is a person, organization or company.\n",
4644
4661
  "extends": [
4645
4662
  "Thing"
4646
4663
  ],
@@ -4742,6 +4759,13 @@ var schemata = {
4742
4759
  type: "entity"
4743
4760
  },
4744
4761
  classification: {
4762
+ description: "Classification as provided by the data source or inferred based on other provided data; prefer `sector` if relevant",
4763
+ examples: [
4764
+ "Local government (current)",
4765
+ "Banking operations license",
4766
+ "4. Priority Sector Apparel",
4767
+ "Entities Directly Serving the Defense and Security Sectors"
4768
+ ],
4745
4769
  label: "Classification",
4746
4770
  maxLength: 1024,
4747
4771
  name: "classification",
@@ -4889,7 +4913,7 @@ var schemata = {
4889
4913
  },
4890
4914
  email: {
4891
4915
  description: "Email address",
4892
- label: "E-Mail",
4916
+ label: "Email",
4893
4917
  matchable: true,
4894
4918
  maxLength: 250,
4895
4919
  name: "email",
@@ -4978,7 +5002,7 @@ var schemata = {
4978
5002
  type: "date"
4979
5003
  },
4980
5004
  innCode: {
4981
- description: "Russian tax identification number (Russian: ИНН). Issued to businesses and individuals in Russia",
5005
+ description: "(RU, ИНН) Russian tax identification number. Issued to businesses and individuals in Russia.",
4982
5006
  format: "inn",
4983
5007
  label: "INN",
4984
5008
  matchable: true,
@@ -4988,7 +5012,7 @@ var schemata = {
4988
5012
  type: "identifier"
4989
5013
  },
4990
5014
  jurisdiction: {
4991
- description: "Country or region in which this entity operates",
5015
+ description: "Country or region in which this entity operates; prefer over broader `country` when relevant",
4992
5016
  label: "Jurisdiction",
4993
5017
  matchable: true,
4994
5018
  maxLength: 16,
@@ -4997,6 +5021,10 @@ var schemata = {
4997
5021
  type: "country"
4998
5022
  },
4999
5023
  legalForm: {
5024
+ description: "Company or organization type",
5025
+ examples: [
5026
+ "Joint Stock Company"
5027
+ ],
5000
5028
  label: "Legal form",
5001
5029
  maxLength: 1024,
5002
5030
  name: "legalForm",
@@ -5023,7 +5051,7 @@ var schemata = {
5023
5051
  type: "identifier"
5024
5052
  },
5025
5053
  mainCountry: {
5026
- description: "Primary country of this entity",
5054
+ description: "Primary country of this entity; prefer over broader `country` when relevant",
5027
5055
  label: "Country of origin",
5028
5056
  matchable: true,
5029
5057
  maxLength: 16,
@@ -5086,7 +5114,7 @@ var schemata = {
5086
5114
  type: "identifier"
5087
5115
  },
5088
5116
  ogrnCode: {
5089
- description: "Identification number used in Russia's Unified State Register of Legal Entities (EGRUL) (Russian: ОГРН)",
5117
+ description: "(RU, ОГРН) Registration number used in Russia's Unified State Register of Legal Entities (EGRUL)",
5090
5118
  format: "ogrn",
5091
5119
  label: "OGRN",
5092
5120
  matchable: true,
@@ -5146,7 +5174,7 @@ var schemata = {
5146
5174
  },
5147
5175
  parent: {
5148
5176
  deprecated: true,
5149
- description: "If this entity is a subsidiary, another entity (company or organisation) is its parent",
5177
+ description: "Deprecated, use `Ownership` link instead",
5150
5178
  label: "Parent company",
5151
5179
  matchable: true,
5152
5180
  maxLength: 200,
@@ -5227,6 +5255,12 @@ var schemata = {
5227
5255
  type: "identifier"
5228
5256
  },
5229
5257
  sector: {
5258
+ description: "Industrial or trade sector as provided by the data source",
5259
+ examples: [
5260
+ "Registered Nurse",
5261
+ "Retail and wholesale",
5262
+ "Sea and coastal freight water transport"
5263
+ ],
5230
5264
  label: "Sector",
5231
5265
  maxLength: 1024,
5232
5266
  name: "sector",
@@ -5245,6 +5279,13 @@ var schemata = {
5245
5279
  type: "entity"
5246
5280
  },
5247
5281
  status: {
5282
+ description: "A short string describing how 'active' (broadly defined) an entity is",
5283
+ examples: [
5284
+ "Current / Former / Sitting / Retired",
5285
+ "Active / Inactive",
5286
+ "Dissolved (last known activity October 2024)",
5287
+ "Liquidated on 12 November 2022"
5288
+ ],
5248
5289
  label: "Status",
5249
5290
  maxLength: 1024,
5250
5291
  name: "status",
@@ -5274,7 +5315,7 @@ var schemata = {
5274
5315
  type: "entity"
5275
5316
  },
5276
5317
  swiftBic: {
5277
- description: "Bank identifier code",
5318
+ description: "SWIFT Bank identifier code from ISO9362",
5278
5319
  format: "bic",
5279
5320
  label: "SWIFT/BIC",
5280
5321
  matchable: true,
@@ -5304,6 +5345,10 @@ var schemata = {
5304
5345
  type: "entity"
5305
5346
  },
5306
5347
  taxStatus: {
5348
+ examples: [
5349
+ "Non-Habitual Resident",
5350
+ "Compliant as at March 2022"
5351
+ ],
5307
5352
  label: "Tax status",
5308
5353
  maxLength: 1024,
5309
5354
  name: "taxStatus",
@@ -5321,7 +5366,7 @@ var schemata = {
5321
5366
  type: "identifier"
5322
5367
  },
5323
5368
  uscCode: {
5324
- description: "Unified Social Credit Identifier",
5369
+ description: "Chinese Unified Social Credit Identifier",
5325
5370
  format: "uscc",
5326
5371
  label: "USCC",
5327
5372
  matchable: true,
@@ -5380,7 +5425,7 @@ var schemata = {
5380
5425
  caption: [
5381
5426
  "name"
5382
5427
  ],
5383
- description: "A grant of land, rights or property. A type of Contract",
5428
+ description: "A grant of land, rights or property. A type of `Contract`.",
5384
5429
  "extends": [
5385
5430
  "Contract"
5386
5431
  ],
@@ -5783,13 +5828,31 @@ var schemata = {
5783
5828
  label: "Occupancy",
5784
5829
  plural: "Occupancies",
5785
5830
  properties: {
5831
+ constituency: {
5832
+ description: "The geographic area/distict represented by the holder",
5833
+ label: "Constituency",
5834
+ maxLength: 1024,
5835
+ name: "constituency",
5836
+ qname: "Occupancy:constituency",
5837
+ type: "string"
5838
+ },
5786
5839
  declarationDate: {
5840
+ description: "If established by an asset declaration",
5787
5841
  label: "Declaration date",
5788
5842
  maxLength: 32,
5789
5843
  name: "declarationDate",
5790
5844
  qname: "Occupancy:declarationDate",
5791
5845
  type: "date"
5792
5846
  },
5847
+ electionDate: {
5848
+ description: "Election date for the position, if applicable",
5849
+ label: "Election date",
5850
+ matchable: true,
5851
+ maxLength: 32,
5852
+ name: "electionDate",
5853
+ qname: "Occupancy:electionDate",
5854
+ type: "date"
5855
+ },
5793
5856
  holder: {
5794
5857
  label: "Holder",
5795
5858
  matchable: true,
@@ -5800,6 +5863,32 @@ var schemata = {
5800
5863
  reverse: "positionOccupancies",
5801
5864
  type: "entity"
5802
5865
  },
5866
+ periodEnd: {
5867
+ description: "End date of the period for which the position is occupied",
5868
+ label: "Period end",
5869
+ matchable: true,
5870
+ maxLength: 32,
5871
+ name: "periodEnd",
5872
+ qname: "Occupancy:periodEnd",
5873
+ type: "date"
5874
+ },
5875
+ periodStart: {
5876
+ description: "Start date of the period for which the position is occupied",
5877
+ label: "Period start",
5878
+ matchable: true,
5879
+ maxLength: 32,
5880
+ name: "periodStart",
5881
+ qname: "Occupancy:periodStart",
5882
+ type: "date"
5883
+ },
5884
+ politicalGroup: {
5885
+ description: "Caucus, faction or parliamentary group of the holder",
5886
+ label: "Political group",
5887
+ maxLength: 1024,
5888
+ name: "politicalGroup",
5889
+ qname: "Occupancy:politicalGroup",
5890
+ type: "string"
5891
+ },
5803
5892
  post: {
5804
5893
  label: "Position occupied",
5805
5894
  matchable: true,
@@ -5811,6 +5900,10 @@ var schemata = {
5811
5900
  type: "entity"
5812
5901
  },
5813
5902
  status: {
5903
+ examples: [
5904
+ "current",
5905
+ "ended"
5906
+ ],
5814
5907
  label: "Status",
5815
5908
  maxLength: 1024,
5816
5909
  name: "status",
@@ -5846,7 +5939,7 @@ var schemata = {
5846
5939
  "previousName",
5847
5940
  "registrationNumber"
5848
5941
  ],
5849
- description: "Any type of incorporated entity that cannot be owned by another (see Company). This might include charities, foundations or state-owned enterprises, depending on their jurisdiction.\n",
5942
+ description: "Any type of incorporated entity that cannot be owned by another (see `Company`). This might include charities, foundations or state-owned enterprises, depending on their jurisdiction.\n",
5850
5943
  "extends": [
5851
5944
  "LegalEntity"
5852
5945
  ],
@@ -6020,6 +6113,12 @@ var schemata = {
6020
6113
  type: "entity"
6021
6114
  },
6022
6115
  ownershipType: {
6116
+ examples: [
6117
+ "beneficial",
6118
+ "direct",
6119
+ "indirect",
6120
+ "ultimate"
6121
+ ],
6023
6122
  label: "Type of ownership",
6024
6123
  maxLength: 1024,
6025
6124
  name: "ownershipType",
@@ -6249,7 +6348,7 @@ var schemata = {
6249
6348
  "passportNumber",
6250
6349
  "number"
6251
6350
  ],
6252
- description: "An passport held by a person.\n",
6351
+ description: "A passport held by a person.\n",
6253
6352
  "extends": [
6254
6353
  "Identification"
6255
6354
  ],
@@ -6287,6 +6386,8 @@ var schemata = {
6287
6386
  type: "gender"
6288
6387
  },
6289
6388
  givenName: {
6389
+ deprecated: true,
6390
+ description: "Deprecated, use `Identification:holder` link's `firstName` / `middleName` instead",
6290
6391
  label: "Given name",
6291
6392
  maxLength: 1024,
6292
6393
  name: "givenName",
@@ -6294,6 +6395,8 @@ var schemata = {
6294
6395
  type: "string"
6295
6396
  },
6296
6397
  passportNumber: {
6398
+ deprecated: true,
6399
+ description: "Deprecated, use `Identification:number` instead",
6297
6400
  hidden: true,
6298
6401
  label: "Passport number",
6299
6402
  matchable: true,
@@ -6311,6 +6414,8 @@ var schemata = {
6311
6414
  type: "identifier"
6312
6415
  },
6313
6416
  surname: {
6417
+ deprecated: true,
6418
+ description: "Deprecated, use `Identification:holder` link's `lastName` instead",
6314
6419
  label: "Surname",
6315
6420
  maxLength: 1024,
6316
6421
  name: "surname",
@@ -6561,6 +6666,7 @@ var schemata = {
6561
6666
  type: "country"
6562
6667
  },
6563
6668
  deathDate: {
6669
+ description: "Joined the choir invisible.",
6564
6670
  label: "Death date",
6565
6671
  matchable: true,
6566
6672
  maxLength: 32,
@@ -6695,6 +6801,9 @@ var schemata = {
6695
6801
  type: "string"
6696
6802
  },
6697
6803
  nameSuffix: {
6804
+ examples: [
6805
+ "OBE"
6806
+ ],
6698
6807
  label: "Name suffix",
6699
6808
  maxLength: 1024,
6700
6809
  name: "nameSuffix",
@@ -6758,7 +6867,7 @@ var schemata = {
6758
6867
  },
6759
6868
  secondName: {
6760
6869
  deprecated: true,
6761
- description: "Deprecated, use one of the other more specific name properties instead.",
6870
+ description: "Deprecated, use one of the other more specific name properties instead",
6762
6871
  label: "Second name",
6763
6872
  maxLength: 1024,
6764
6873
  name: "secondName",
@@ -6853,7 +6962,7 @@ var schemata = {
6853
6962
  caption: [
6854
6963
  "name"
6855
6964
  ],
6856
- description: "A post, role or position within an organization or body. This describes a position one or more people may occupy and not the occupation of the post by a specific individual at a specific point in time.\n'subnationalArea' should be used to further restrict the scope of the position. It should not simply represent some regional aspect of the role - e.g. the constituency of a national member of parliament - when their legislative jurisdiction is nationwide.\n",
6965
+ description: "A post, role or position within an organization or body. This describes a position one or more people may occupy and not the occupation of the post by a specific individual at a specific point in time (see `Occupancy`).\n",
6857
6966
  "extends": [
6858
6967
  "Thing"
6859
6968
  ],
@@ -6911,7 +7020,8 @@ var schemata = {
6911
7020
  type: "entity"
6912
7021
  },
6913
7022
  subnationalArea: {
6914
- label: "Subnational jurisdiction name or code",
7023
+ description: "The name or code of a subnational jurisdiction, only when the position is geographically limited. Prefer `Occupancy:constituency` where relevant.",
7024
+ label: "Subnational area",
6915
7025
  maxLength: 1024,
6916
7026
  name: "subnationalArea",
6917
7027
  qname: "Position:subnationalArea",
@@ -6939,7 +7049,7 @@ var schemata = {
6939
7049
  "name",
6940
7050
  "projectId"
6941
7051
  ],
6942
- description: "An activity carried out by a group of participants.\n",
7052
+ description: "An activity carried out by a group of `participants`.\n",
6943
7053
  "extends": [
6944
7054
  "Interval",
6945
7055
  "Thing",
@@ -7036,7 +7146,7 @@ var schemata = {
7036
7146
  caption: [
7037
7147
  "role"
7038
7148
  ],
7039
- description: "An activity carried out by a group of participants.\n",
7149
+ description: "A participant in a `Project`.\n",
7040
7150
  edge: {
7041
7151
  caption: [
7042
7152
  "role"
@@ -7338,7 +7448,7 @@ var schemata = {
7338
7448
  "reason",
7339
7449
  "status"
7340
7450
  ],
7341
- description: "A risk associated with an entity",
7451
+ description: "A risk associated with an entity.",
7342
7452
  "extends": [
7343
7453
  "Interval"
7344
7454
  ],
@@ -7428,7 +7538,7 @@ var schemata = {
7428
7538
  caption: [
7429
7539
  "program"
7430
7540
  ],
7431
- description: "A sanction designation",
7541
+ description: "A sanction designation.",
7432
7542
  "extends": [
7433
7543
  "Interval"
7434
7544
  ],
@@ -7483,6 +7593,7 @@ var schemata = {
7483
7593
  type: "entity"
7484
7594
  },
7485
7595
  listingDate: {
7596
+ description: "The date on which the designation is listed; distinct from the `startDate`, which is the date on which the designation goes into effect",
7486
7597
  label: "Listing date",
7487
7598
  matchable: true,
7488
7599
  maxLength: 32,
@@ -7521,6 +7632,7 @@ var schemata = {
7521
7632
  type: "string"
7522
7633
  },
7523
7634
  reason: {
7635
+ description: "An explanation of the designation's justification.",
7524
7636
  label: "Reason",
7525
7637
  maxLength: 65000,
7526
7638
  name: "reason",
@@ -7528,6 +7640,12 @@ var schemata = {
7528
7640
  type: "text"
7529
7641
  },
7530
7642
  status: {
7643
+ examples: [
7644
+ "Active",
7645
+ "Inactive",
7646
+ "Expired",
7647
+ "Suspended"
7648
+ ],
7531
7649
  label: "Status",
7532
7650
  maxLength: 1024,
7533
7651
  name: "status",
@@ -7535,6 +7653,7 @@ var schemata = {
7535
7653
  type: "string"
7536
7654
  },
7537
7655
  unscId: {
7656
+ description: "Identifier issued by the UN Security Council for sanctions designations",
7538
7657
  label: "UN SC identifier",
7539
7658
  matchable: true,
7540
7659
  maxLength: 16,
@@ -7864,7 +7983,7 @@ var schemata = {
7864
7983
  }
7865
7984
  },
7866
7985
  TaxRoll: {
7867
- description: "A tax declaration of an individual",
7986
+ description: "A tax declaration of an individual.",
7868
7987
  "extends": [
7869
7988
  "Interval"
7870
7989
  ],
@@ -7972,6 +8091,7 @@ var schemata = {
7972
8091
  plural: "Thing",
7973
8092
  properties: {
7974
8093
  address: {
8094
+ description: "A textual description of an address linked to the entity",
7975
8095
  label: "Address",
7976
8096
  matchable: true,
7977
8097
  maxLength: 250,
@@ -7980,6 +8100,7 @@ var schemata = {
7980
8100
  type: "address"
7981
8101
  },
7982
8102
  addressEntity: {
8103
+ description: "A reference to an `Address` entity with structured place information",
7983
8104
  label: "Address",
7984
8105
  matchable: true,
7985
8106
  maxLength: 200,
@@ -7998,6 +8119,7 @@ var schemata = {
7998
8119
  type: "url"
7999
8120
  },
8000
8121
  alias: {
8122
+ description: "An alternative or secondary name",
8001
8123
  label: "Alias",
8002
8124
  matchable: true,
8003
8125
  maxLength: 384,
@@ -8017,6 +8139,7 @@ var schemata = {
8017
8139
  type: "entity"
8018
8140
  },
8019
8141
  country: {
8142
+ description: "An association between the entity and a country that is not covered by a more specific property (e.g. `jurisdiction`, `birthCountry`, `mainCountry`)",
8020
8143
  label: "Country",
8021
8144
  matchable: true,
8022
8145
  maxLength: 16,
@@ -8036,6 +8159,7 @@ var schemata = {
8036
8159
  type: "entity"
8037
8160
  },
8038
8161
  createdAt: {
8162
+ description: "The date on which the entity was created, not to be confused with an internal 'first saved'-style metadata field",
8039
8163
  label: "Created at",
8040
8164
  maxLength: 32,
8041
8165
  name: "createdAt",
@@ -8043,6 +8167,7 @@ var schemata = {
8043
8167
  type: "date"
8044
8168
  },
8045
8169
  description: {
8170
+ description: "A longer description; see also `notes`, `summary`",
8046
8171
  label: "Description",
8047
8172
  maxLength: 65000,
8048
8173
  name: "description",
@@ -8069,6 +8194,7 @@ var schemata = {
8069
8194
  type: "text"
8070
8195
  },
8071
8196
  keywords: {
8197
+ description: "Plain text keywords provided for the entity; prefer more specific `type`, `status`, etc. as appropriate",
8072
8198
  label: "Keywords",
8073
8199
  maxLength: 1024,
8074
8200
  name: "keywords",
@@ -8087,6 +8213,7 @@ var schemata = {
8087
8213
  type: "entity"
8088
8214
  },
8089
8215
  modifiedAt: {
8216
+ description: "The date on which the entity was modified, not to be confused with an internal 'last updated'-style metadata field",
8090
8217
  label: "Modified on",
8091
8218
  maxLength: 32,
8092
8219
  name: "modifiedAt",
@@ -8094,6 +8221,7 @@ var schemata = {
8094
8221
  type: "date"
8095
8222
  },
8096
8223
  name: {
8224
+ description: "The primary name of the entity",
8097
8225
  label: "Name",
8098
8226
  matchable: true,
8099
8227
  maxLength: 384,
@@ -8113,6 +8241,7 @@ var schemata = {
8113
8241
  type: "entity"
8114
8242
  },
8115
8243
  notes: {
8244
+ description: "Narrative description of the entity; see also `description`, `summary`",
8116
8245
  label: "Notes",
8117
8246
  maxLength: 65000,
8118
8247
  name: "notes",
@@ -8120,6 +8249,7 @@ var schemata = {
8120
8249
  type: "text"
8121
8250
  },
8122
8251
  previousName: {
8252
+ description: "A former name of the entity",
8123
8253
  label: "Previous name",
8124
8254
  matchable: true,
8125
8255
  maxLength: 384,
@@ -8128,7 +8258,7 @@ var schemata = {
8128
8258
  type: "name"
8129
8259
  },
8130
8260
  program: {
8131
- description: "Regulatory program or sanctions list on which an entity is listed.",
8261
+ description: "Regulatory program or sanctions list on which an entity is listed",
8132
8262
  label: "Program",
8133
8263
  maxLength: 1024,
8134
8264
  name: "program",
@@ -8168,6 +8298,7 @@ var schemata = {
8168
8298
  type: "url"
8169
8299
  },
8170
8300
  retrievedAt: {
8301
+ description: "Retrieval date generated by a data gathering system, not to be confused with an internal 'first found'-style metadata field",
8171
8302
  label: "Retrieved on",
8172
8303
  maxLength: 32,
8173
8304
  name: "retrievedAt",
@@ -8197,6 +8328,7 @@ var schemata = {
8197
8328
  type: "entity"
8198
8329
  },
8199
8330
  sourceUrl: {
8331
+ description: "A deep link to a source website for the profile",
8200
8332
  label: "Source link",
8201
8333
  maxLength: 4096,
8202
8334
  name: "sourceUrl",
@@ -8204,6 +8336,7 @@ var schemata = {
8204
8336
  type: "url"
8205
8337
  },
8206
8338
  summary: {
8339
+ description: "A short one-liner description; see also `description`, `notes`",
8207
8340
  label: "Summary",
8208
8341
  maxLength: 65000,
8209
8342
  name: "summary",
@@ -8211,6 +8344,12 @@ var schemata = {
8211
8344
  type: "text"
8212
8345
  },
8213
8346
  topics: {
8347
+ description: "Controlled tags used to qualify the entity and associate it with a risk category",
8348
+ examples: [
8349
+ "sanction",
8350
+ "debarment",
8351
+ "role.pep"
8352
+ ],
8214
8353
  label: "Topics",
8215
8354
  maxLength: 64,
8216
8355
  name: "topics",
@@ -8248,6 +8387,9 @@ var schemata = {
8248
8387
  type: "name"
8249
8388
  },
8250
8389
  wikidataId: {
8390
+ examples: [
8391
+ "Q7747"
8392
+ ],
8251
8393
  format: "wikidata",
8252
8394
  label: "Wikidata ID",
8253
8395
  matchable: true,
@@ -8427,7 +8569,7 @@ var schemata = {
8427
8569
  properties: {
8428
8570
  email: {
8429
8571
  description: "Email address",
8430
- label: "E-Mail",
8572
+ label: "Email",
8431
8573
  matchable: true,
8432
8574
  maxLength: 250,
8433
8575
  name: "email",
@@ -8617,6 +8759,7 @@ var schemata = {
8617
8759
  },
8618
8760
  owner: {
8619
8761
  deprecated: true,
8762
+ description: "Deprecated, use `Ownership` link instead",
8620
8763
  label: "Owner",
8621
8764
  matchable: true,
8622
8765
  maxLength: 200,
@@ -8654,6 +8797,9 @@ var schemata = {
8654
8797
  type: "entity"
8655
8798
  },
8656
8799
  type: {
8800
+ examples: [
8801
+ "Bulk carrier"
8802
+ ],
8657
8803
  label: "Type",
8658
8804
  maxLength: 1024,
8659
8805
  name: "type",
@@ -8713,6 +8859,7 @@ var schemata = {
8713
8859
  type: "identifier"
8714
8860
  },
8715
8861
  deadweightTonnage: {
8862
+ description: "Weight of the vessel when not carrying freight",
8716
8863
  label: "Deadweight Tonnage",
8717
8864
  maxLength: 250,
8718
8865
  name: "deadweightTonnage",
@@ -9437,6 +9584,7 @@ var types = {
9437
9584
  "gov.security": "Security services",
9438
9585
  "gov.soe": "State-owned enterprise",
9439
9586
  "gov.state": "State government",
9587
+ "invest.risk": "Investment risk",
9440
9588
  "mare.detained": "Maritime detention",
9441
9589
  "mare.shadow": "Shadow fleet",
9442
9590
  "mare.sts": "Ship-to-ship transfer",
@@ -9456,8 +9604,11 @@ var types = {
9456
9604
  "role.lawyer": "Lawyer",
9457
9605
  "role.lobby": "Lobbyist",
9458
9606
  "role.oligarch": "Oligarch",
9459
- "role.pep": "Politician",
9460
- "role.pol": "Non-PEP",
9607
+ "role.pep": "PEP",
9608
+ "role.pep.frmr": "Former PEP",
9609
+ "role.pep.intl": "International PEP",
9610
+ "role.pep.natl": "National PEP",
9611
+ "role.pol": "Politician",
9461
9612
  "role.rca": "Close Associate",
9462
9613
  "role.spy": "Spy",
9463
9614
  sanction: "Sanctioned entity",