followthemoney 1.3.7__py3-none-any.whl → 3.8.0__py3-none-any.whl

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.
Files changed (186) hide show
  1. followthemoney/__init__.py +5 -3
  2. followthemoney/cli/__init__.py +17 -0
  3. followthemoney/cli/aggregate.py +56 -0
  4. followthemoney/cli/cli.py +88 -0
  5. followthemoney/cli/exports.py +121 -0
  6. followthemoney/cli/mapping.py +85 -0
  7. followthemoney/cli/sieve.py +67 -0
  8. followthemoney/cli/util.py +142 -0
  9. followthemoney/compare.py +130 -60
  10. followthemoney/exc.py +19 -6
  11. followthemoney/export/common.py +29 -0
  12. followthemoney/export/csv.py +82 -0
  13. followthemoney/export/excel.py +75 -0
  14. followthemoney/export/graph.py +79 -0
  15. followthemoney/export/neo4j.py +182 -0
  16. followthemoney/export/rdf.py +26 -0
  17. followthemoney/graph.py +308 -0
  18. followthemoney/helpers.py +212 -0
  19. followthemoney/mapping/__init__.py +1 -1
  20. followthemoney/mapping/csv.py +67 -35
  21. followthemoney/mapping/entity.py +116 -44
  22. followthemoney/mapping/property.py +90 -44
  23. followthemoney/mapping/query.py +27 -19
  24. followthemoney/mapping/source.py +15 -5
  25. followthemoney/mapping/sql.py +75 -61
  26. followthemoney/messages.py +13 -7
  27. followthemoney/model.py +108 -56
  28. followthemoney/namespace.py +119 -0
  29. followthemoney/offshore.py +48 -0
  30. followthemoney/ontology.py +77 -0
  31. followthemoney/property.py +204 -71
  32. followthemoney/proxy.py +455 -118
  33. followthemoney/rdf.py +9 -0
  34. followthemoney/schema/Address.yaml +78 -0
  35. followthemoney/schema/Airplane.yaml +17 -10
  36. followthemoney/schema/Analyzable.yaml +54 -0
  37. followthemoney/schema/Article.yaml +16 -0
  38. followthemoney/schema/Assessment.yaml +32 -0
  39. followthemoney/schema/Asset.yaml +10 -4
  40. followthemoney/schema/Associate.yaml +41 -0
  41. followthemoney/schema/Audio.yaml +24 -0
  42. followthemoney/schema/BankAccount.yaml +53 -9
  43. followthemoney/schema/Call.yaml +48 -0
  44. followthemoney/schema/CallForTenders.yaml +117 -0
  45. followthemoney/schema/Company.yaml +37 -12
  46. followthemoney/schema/Contract.yaml +41 -7
  47. followthemoney/schema/ContractAward.yaml +30 -11
  48. followthemoney/schema/CourtCase.yaml +16 -10
  49. followthemoney/schema/CourtCaseParty.yaml +17 -6
  50. followthemoney/schema/CryptoWallet.yaml +48 -0
  51. followthemoney/schema/Debt.yaml +37 -0
  52. followthemoney/schema/Directorship.yaml +17 -4
  53. followthemoney/schema/Document.yaml +72 -139
  54. followthemoney/schema/Documentation.yml +38 -0
  55. followthemoney/schema/EconomicActivity.yaml +32 -17
  56. followthemoney/schema/Email.yaml +76 -0
  57. followthemoney/schema/Employment.yaml +39 -0
  58. followthemoney/schema/Event.yaml +35 -3
  59. followthemoney/schema/Family.yaml +41 -0
  60. followthemoney/schema/Folder.yaml +13 -0
  61. followthemoney/schema/HyperText.yaml +21 -0
  62. followthemoney/schema/Identification.yaml +40 -0
  63. followthemoney/schema/Image.yaml +25 -0
  64. followthemoney/schema/Interest.yaml +3 -6
  65. followthemoney/schema/Interval.yaml +56 -5
  66. followthemoney/schema/LegalEntity.yaml +81 -20
  67. followthemoney/schema/License.yaml +7 -3
  68. followthemoney/schema/Membership.yaml +19 -4
  69. followthemoney/schema/Mention.yaml +54 -0
  70. followthemoney/schema/Message.yaml +73 -0
  71. followthemoney/schema/Note.yaml +23 -0
  72. followthemoney/schema/Occupancy.yaml +40 -0
  73. followthemoney/schema/Organization.yaml +38 -3
  74. followthemoney/schema/Ownership.yaml +16 -4
  75. followthemoney/schema/Package.yaml +17 -0
  76. followthemoney/schema/Page.yaml +43 -0
  77. followthemoney/schema/Pages.yaml +23 -0
  78. followthemoney/schema/Passport.yaml +15 -17
  79. followthemoney/schema/Payment.yaml +38 -7
  80. followthemoney/schema/Person.yaml +61 -5
  81. followthemoney/schema/PlainText.yaml +17 -0
  82. followthemoney/schema/Position.yaml +50 -0
  83. followthemoney/schema/Post.yaml +42 -0
  84. followthemoney/schema/Project.yaml +27 -0
  85. followthemoney/schema/ProjectParticipant.yaml +36 -0
  86. followthemoney/schema/PublicBody.yaml +14 -3
  87. followthemoney/schema/RealEstate.yaml +19 -3
  88. followthemoney/schema/Representation.yaml +17 -6
  89. followthemoney/schema/Sanction.yaml +44 -20
  90. followthemoney/schema/Security.yaml +59 -0
  91. followthemoney/schema/Similar.yaml +37 -0
  92. followthemoney/schema/Succession.yaml +36 -0
  93. followthemoney/schema/Table.yaml +32 -0
  94. followthemoney/schema/TaxRoll.yaml +27 -9
  95. followthemoney/schema/Thing.yaml +69 -13
  96. followthemoney/schema/Trip.yaml +42 -0
  97. followthemoney/schema/UnknownLink.yaml +17 -6
  98. followthemoney/schema/UserAccount.yaml +44 -0
  99. followthemoney/schema/Value.yaml +5 -1
  100. followthemoney/schema/Vehicle.yaml +25 -8
  101. followthemoney/schema/Vessel.yaml +18 -10
  102. followthemoney/schema/Video.yaml +20 -0
  103. followthemoney/schema/Workbook.yaml +18 -0
  104. followthemoney/schema.py +406 -135
  105. followthemoney/translations/ar/LC_MESSAGES/followthemoney.mo +0 -0
  106. followthemoney/translations/ar/LC_MESSAGES/followthemoney.po +2900 -787
  107. followthemoney/translations/bs/LC_MESSAGES/followthemoney.mo +0 -0
  108. followthemoney/translations/bs/LC_MESSAGES/followthemoney.po +2108 -520
  109. followthemoney/translations/de/LC_MESSAGES/followthemoney.mo +0 -0
  110. followthemoney/translations/de/LC_MESSAGES/followthemoney.po +2902 -782
  111. followthemoney/translations/es/LC_MESSAGES/followthemoney.mo +0 -0
  112. followthemoney/translations/es/LC_MESSAGES/followthemoney.po +2893 -779
  113. followthemoney/translations/fr/LC_MESSAGES/followthemoney.mo +0 -0
  114. followthemoney/translations/fr/LC_MESSAGES/followthemoney.po +4362 -0
  115. followthemoney/translations/fr/followthemoney.po +3861 -0
  116. followthemoney/translations/messages.pot +3021 -725
  117. followthemoney/translations/nb/LC_MESSAGES/followthemoney.mo +0 -0
  118. followthemoney/translations/nb/LC_MESSAGES/followthemoney.po +3778 -0
  119. followthemoney/translations/nl/LC_MESSAGES/followthemoney.mo +0 -0
  120. followthemoney/translations/nl/LC_MESSAGES/followthemoney.po +3837 -0
  121. followthemoney/translations/pt_BR/LC_MESSAGES/followthemoney.mo +0 -0
  122. followthemoney/translations/pt_BR/LC_MESSAGES/followthemoney.po +3784 -0
  123. followthemoney/translations/ru/LC_MESSAGES/followthemoney.mo +0 -0
  124. followthemoney/translations/ru/LC_MESSAGES/followthemoney.po +2837 -539
  125. followthemoney/translations/ru/followthemoney.po +4221 -0
  126. followthemoney/translations/tr/LC_MESSAGES/followthemoney.mo +0 -0
  127. followthemoney/translations/tr/LC_MESSAGES/followthemoney.po +2073 -491
  128. followthemoney/types/__init__.py +35 -17
  129. followthemoney/types/address.py +41 -21
  130. followthemoney/types/checksum.py +25 -0
  131. followthemoney/types/common.py +233 -88
  132. followthemoney/types/country.py +89 -56
  133. followthemoney/types/date.py +59 -76
  134. followthemoney/types/email.py +66 -35
  135. followthemoney/types/entity.py +66 -13
  136. followthemoney/types/gender.py +66 -0
  137. followthemoney/types/iban.py +47 -28
  138. followthemoney/types/identifier.py +49 -22
  139. followthemoney/types/ip.py +35 -21
  140. followthemoney/types/json.py +58 -0
  141. followthemoney/types/language.py +124 -37
  142. followthemoney/types/mimetype.py +44 -0
  143. followthemoney/types/name.py +56 -12
  144. followthemoney/types/number.py +30 -0
  145. followthemoney/types/phone.py +92 -34
  146. followthemoney/types/registry.py +52 -0
  147. followthemoney/types/string.py +43 -0
  148. followthemoney/types/topic.py +94 -0
  149. followthemoney/types/url.py +39 -17
  150. followthemoney/util.py +139 -45
  151. followthemoney-3.8.0.dist-info/METADATA +153 -0
  152. followthemoney-3.8.0.dist-info/RECORD +157 -0
  153. {followthemoney-1.3.7.dist-info → followthemoney-3.8.0.dist-info}/WHEEL +1 -2
  154. followthemoney-3.8.0.dist-info/entry_points.txt +17 -0
  155. followthemoney-1.3.7.dist-info/LICENSE.txt → followthemoney-3.8.0.dist-info/licenses/LICENSE +1 -1
  156. followthemoney/link.py +0 -75
  157. followthemoney/schema/Associate.yml +0 -19
  158. followthemoney/schema/Family.yml +0 -19
  159. followthemoney/schema/Land.yml +0 -9
  160. followthemoney/schema/Relationship.yaml +0 -26
  161. followthemoney/types/domain.py +0 -50
  162. followthemoney-1.3.7.dist-info/DESCRIPTION.rst +0 -3
  163. followthemoney-1.3.7.dist-info/METADATA +0 -39
  164. followthemoney-1.3.7.dist-info/RECORD +0 -108
  165. followthemoney-1.3.7.dist-info/entry_points.txt +0 -3
  166. followthemoney-1.3.7.dist-info/metadata.json +0 -1
  167. followthemoney-1.3.7.dist-info/namespace_packages.txt +0 -1
  168. followthemoney-1.3.7.dist-info/top_level.txt +0 -3
  169. ns/ontology.py +0 -128
  170. tests/types/test_addresses.py +0 -24
  171. tests/types/test_common.py +0 -32
  172. tests/types/test_countries.py +0 -27
  173. tests/types/test_dates.py +0 -73
  174. tests/types/test_domains.py +0 -23
  175. tests/types/test_emails.py +0 -32
  176. tests/types/test_entity.py +0 -19
  177. tests/types/test_iban.py +0 -109
  178. tests/types/test_identifiers.py +0 -27
  179. tests/types/test_ip.py +0 -29
  180. tests/types/test_languages.py +0 -23
  181. tests/types/test_names.py +0 -33
  182. tests/types/test_phones.py +0 -24
  183. tests/types/test_registry.py +0 -14
  184. tests/types/test_urls.py +0 -23
  185. {ns → followthemoney/export}/__init__.py +0 -0
  186. /tests/types/__init__.py → /followthemoney/py.typed +0 -0
@@ -1,11 +1,10 @@
1
1
  EconomicActivity:
2
- label: "Economic Activity"
3
- plural: "Economic Activities"
4
- description: "An economic activity"
2
+ label: "Customs declaration"
3
+ plural: "Customs declarations"
4
+ description: "A foreign economic activity"
5
5
  matchable: false
6
6
  extends:
7
7
  - Interval
8
- icon: fa-truck
9
8
  featured:
10
9
  - sender
11
10
  - receiver
@@ -13,9 +12,13 @@ EconomicActivity:
13
12
  - goodsDescription
14
13
  - startDate
15
14
  - endDate
15
+ caption:
16
+ - summary
17
+ - goodsDescription
18
+ - ccdNumber
16
19
  properties:
17
20
  contract:
18
- label: "Associated contract"
21
+ label: "Contract"
19
22
  reverse:
20
23
  name: economicActivityContract
21
24
  label: "Used in customs"
@@ -41,40 +44,40 @@ EconomicActivity:
41
44
  label: "FEAC Code description"
42
45
  description: "(Описание кода ТН ВЭД) Foreign Economic Activity Commodity Code description"
43
46
  goodsDescription:
44
- label: "Description"
45
- description: "Description of goods"
47
+ label: "Description of goods"
48
+ type: text
46
49
  declarant:
47
50
  label: "Declarant"
48
51
  description: "Customs declarant"
52
+ type: entity
53
+ range: LegalEntity
49
54
  reverse:
50
55
  name: economicActivityDeclarant
51
56
  label: "Customs declarations"
52
- type: entity
53
- range: LegalEntity
54
57
  sender:
55
58
  label: "Sender"
56
59
  description: "Origin of the goods"
60
+ type: entity
61
+ range: LegalEntity
57
62
  reverse:
58
63
  name: economicActivitySender
59
64
  label: "Goods originated"
60
- type: entity
61
- range: LegalEntity
62
65
  receiver:
63
66
  label: "Receiver"
64
67
  description: "Destination of the goods"
68
+ type: entity
69
+ range: LegalEntity
65
70
  reverse:
66
71
  name: economicActivityReceiver
67
72
  label: "Goods received"
68
- type: entity
69
- range: LegalEntity
70
73
  contractHolder:
71
74
  label: "Contract holder"
72
75
  description: "Customs formalities caretaker"
73
- reverse:
74
- name: economicActivityHolder
75
- label: "Economic activities"
76
76
  type: entity
77
77
  range: LegalEntity
78
+ reverse:
79
+ name: economicActivityHolder
80
+ label: "Customs declarations facilitated"
78
81
  invoiceAmount:
79
82
  label: "Invoice Value Amount"
80
83
  description: "Invoice Value of goods"
@@ -105,18 +108,30 @@ EconomicActivity:
105
108
  description: "Bank account of the contract"
106
109
  type: entity
107
110
  range: BankAccount
111
+ reverse:
112
+ name: contractBankAccount
113
+ label: "Customs declarations"
108
114
  bankRub:
109
115
  label: "Rouble bank"
110
116
  description: "Bank account for payments in roubles"
111
117
  type: entity
112
118
  range: BankAccount
119
+ reverse:
120
+ name: rubBankAccount
121
+ label: "Customs declarations (as rouble bank)"
113
122
  bankForeign:
114
123
  label: "Foreign currency bank"
115
124
  description: "Bank account for payments in foreign currency"
116
125
  type: entity
117
126
  range: BankAccount
127
+ reverse:
128
+ name: foreignBankAccount
129
+ label: "Customs declarations (as foreign bank)"
118
130
  transport:
119
131
  label: "Transport"
120
132
  description: "Means of transportation"
121
133
  type: entity
122
- range: Vehicle
134
+ range: Vehicle
135
+ reverse:
136
+ name: declaredCustoms
137
+ label: "Customs declarations"
@@ -0,0 +1,76 @@
1
+ Email:
2
+ extends:
3
+ - Folder
4
+ - PlainText
5
+ - HyperText
6
+ label: E-Mail
7
+ plural: E-Mails
8
+ description:
9
+ An internet mail message. The body can be formatted as plain text and/or HTML,
10
+ and the message may have any number of attachments.
11
+ matchable: false
12
+ generated: true
13
+ featured:
14
+ - subject
15
+ - date
16
+ - from
17
+ caption:
18
+ - subject
19
+ - threadTopic
20
+ - title
21
+ - name
22
+ - fileName
23
+ properties:
24
+ subject:
25
+ label: Subject
26
+ type: string
27
+ caption: true
28
+ threadTopic:
29
+ label: Thread topic
30
+ type: string
31
+ sender:
32
+ label: "Sender"
33
+ type: string
34
+ from:
35
+ label: "From"
36
+ type: string
37
+ to:
38
+ label: "To"
39
+ type: string
40
+ cc:
41
+ label: "CC"
42
+ description: "Carbon copy"
43
+ type: string
44
+ bcc:
45
+ label: "BCC"
46
+ description: "Blind carbon copy"
47
+ type: string
48
+ emitters:
49
+ label: "Emitter"
50
+ type: entity
51
+ range: LegalEntity
52
+ reverse:
53
+ name: emailsSent
54
+ label: "E-Mails sent"
55
+ recipients:
56
+ label: "Recipients"
57
+ type: entity
58
+ range: LegalEntity
59
+ reverse:
60
+ name: emailsReceived
61
+ label: "E-Mails received"
62
+ inReplyTo:
63
+ label: "In Reply To"
64
+ description: "Message ID of the preceding email in the thread"
65
+ hidden: true
66
+ inReplyToEmail:
67
+ label: Responding to
68
+ type: entity
69
+ range: Email
70
+ reverse:
71
+ name: responses
72
+ label: "Responses"
73
+ headers:
74
+ label: "Raw headers"
75
+ hidden: true
76
+ type: json
@@ -0,0 +1,39 @@
1
+ Employment:
2
+ label: "Employment"
3
+ plural: "Employments"
4
+ extends:
5
+ - Interest
6
+ matchable: false
7
+ featured:
8
+ - employer
9
+ - employee
10
+ - role
11
+ - startDate
12
+ - endDate
13
+ required:
14
+ - employer
15
+ - employee
16
+ caption:
17
+ - role
18
+ edge:
19
+ source: employee
20
+ label: "works for"
21
+ target: employer
22
+ directed: true
23
+ caption:
24
+ - role
25
+ properties:
26
+ employer:
27
+ label: "Employer"
28
+ type: entity
29
+ range: Organization
30
+ reverse:
31
+ name: employees
32
+ label: "Employees"
33
+ employee:
34
+ label: "Employee"
35
+ type: entity
36
+ range: Person
37
+ reverse:
38
+ name: employers
39
+ label: "Employers"
@@ -1,11 +1,43 @@
1
1
  Event:
2
2
  label: "Event"
3
- extends: Interval
4
- icon: fa-calendar
3
+ plural: "Events"
4
+ extends:
5
+ - Interval
6
+ - Analyzable
7
+ - Thing
5
8
  matchable: false
9
+ # generated: true
10
+ caption:
11
+ - name
12
+ - summary
13
+ - date
14
+ required:
15
+ - name
16
+ featured:
17
+ - name
18
+ - summary
19
+ - date
20
+ - location
6
21
  properties:
7
22
  location:
8
23
  label: "Location"
24
+ type: address
9
25
  country:
10
26
  label: "Country"
11
- type: country
27
+ type: country
28
+ important:
29
+ label: "Important"
30
+ organizer:
31
+ label: "Organizer"
32
+ type: entity
33
+ range: LegalEntity
34
+ reverse:
35
+ name: eventsOrganized
36
+ label: "Organized events"
37
+ involved:
38
+ label: "Involved"
39
+ type: entity
40
+ range: LegalEntity
41
+ reverse:
42
+ name: eventsInvolved
43
+ label: "Events"
@@ -0,0 +1,41 @@
1
+ Family:
2
+ label: "Family"
3
+ plural: "Family members"
4
+ description: "Family relationship between two people"
5
+ extends:
6
+ - Interval
7
+ matchable: false
8
+ featured:
9
+ - person
10
+ - relative
11
+ - relationship
12
+ required:
13
+ - person
14
+ - relative
15
+ edge:
16
+ source: person
17
+ label: "related to"
18
+ target: relative
19
+ directed: false
20
+ caption:
21
+ - relationship
22
+ properties:
23
+ person:
24
+ label: "Person"
25
+ description: "The subject of the familial relation."
26
+ type: entity
27
+ range: Person
28
+ reverse:
29
+ name: familyPerson
30
+ label: "Family members"
31
+ relative:
32
+ label: "Relative"
33
+ type: entity
34
+ range: Person
35
+ reverse:
36
+ name: familyRelative
37
+ label: "Relatives"
38
+ description: "The relative of the subject person."
39
+ relationship:
40
+ label: "Relationship"
41
+ description: "Nature of the relationship, from the person's perspective eg. 'mother', where 'relative' is mother of 'person'."
@@ -0,0 +1,13 @@
1
+ Folder:
2
+ extends:
3
+ - Document
4
+ label: Folder
5
+ plural: Folders
6
+ matchable: false
7
+ generated: true
8
+ featured:
9
+ - title
10
+ - parent
11
+ caption:
12
+ - fileName
13
+ - title
@@ -0,0 +1,21 @@
1
+ HyperText:
2
+ # HTML document
3
+ extends:
4
+ - Document
5
+ label: Web page
6
+ plural: Web pages
7
+ matchable: false
8
+ generated: true
9
+ featured:
10
+ - title
11
+ - fileName
12
+ - mimeType
13
+ - parent
14
+ caption:
15
+ - title
16
+ - fileName
17
+ properties:
18
+ bodyHtml:
19
+ label: "HTML"
20
+ type: html
21
+ hidden: true
@@ -0,0 +1,40 @@
1
+ Identification:
2
+ label: "Identification"
3
+ plural: "Identifications"
4
+ description: >
5
+ An form of identification associated with its holder and some issuing country. This
6
+ can be used for national ID cards, voter enrollments and similar instruments.
7
+ extends:
8
+ - Interval
9
+ matchable: false
10
+ featured:
11
+ - number
12
+ - country
13
+ - type
14
+ - holder
15
+ - startDate
16
+ - endDate
17
+ required:
18
+ - holder
19
+ - number
20
+ caption:
21
+ - number
22
+ properties:
23
+ holder:
24
+ label: "Identification holder"
25
+ type: entity
26
+ range: LegalEntity
27
+ reverse:
28
+ label: "Identifications"
29
+ name: identification
30
+ type:
31
+ label: "Type"
32
+ country:
33
+ label: "Country"
34
+ type: country
35
+ number:
36
+ label: "Document number"
37
+ type: identifier
38
+ maxLength: 64
39
+ authority:
40
+ label: "Authority"
@@ -0,0 +1,25 @@
1
+ Image:
2
+ extends:
3
+ - Document
4
+ label: Image
5
+ plural: Images
6
+ description: >
7
+ An image file.
8
+ matchable: false
9
+ generated: true
10
+ featured:
11
+ - title
12
+ - fileName
13
+ - mimeType
14
+ - parent
15
+ caption:
16
+ - fileName
17
+ - title
18
+ properties:
19
+ pictured:
20
+ label: "Pictured"
21
+ reverse:
22
+ name: images
23
+ label: "Images"
24
+ type: entity
25
+ range: Person
@@ -1,12 +1,9 @@
1
1
  Interest:
2
2
  label: "Interest"
3
- extends: Interval
4
- icon: fa-certificate
3
+ extends:
4
+ - Interval
5
5
  matchable: false
6
- featured:
7
- - role
8
- - startDate
9
- - endDate
6
+ abstract: true
10
7
  properties:
11
8
  role:
12
9
  label: "Role"
@@ -1,10 +1,25 @@
1
1
  Interval:
2
+ # FOR THE LOVE OF ALL THAT IS GOOD AND BEAUTIFUL IN THIS UNVERSE:
3
+ #
4
+ # Intervals are not graph edges.
5
+ #
6
+ # Yes, many interval child schemata (e.g. Directorship, Ownership) can
7
+ # be interpreted as an edge between to Things. But that isn't intrinsic.
8
+ # If you write any code that assumes that Intervals == edges, it will
9
+ # be buggy and wrong. You will find there are intervals that link to
10
+ # only one thing (e.g. Sanction) or to much more than two (e.g. FEA).
11
+ # Just do not do it.
2
12
  label: "Interval"
3
- icon: fa-clock-o
13
+ description: >
14
+ An object which is bounded in time.
4
15
  matchable: false
5
- featured:
6
- - startDate
7
- - endDate
16
+ abstract: true
17
+ temporalExtent:
18
+ start:
19
+ - startDate
20
+ - date
21
+ end:
22
+ - endDate
8
23
  properties:
9
24
  startDate:
10
25
  label: "Start date"
@@ -17,7 +32,43 @@ Interval:
17
32
  type: date
18
33
  summary:
19
34
  label: "Summary"
35
+ type: text
36
+ description:
37
+ label: Description
38
+ type: text
20
39
  recordId:
21
40
  label: "Record ID"
22
41
  sourceUrl:
23
- label: "Source URL"
42
+ label: "Source link"
43
+ type: url
44
+ matchable: false
45
+ publisher:
46
+ label: "Publishing source"
47
+ publisherUrl:
48
+ label: "Publishing source URL"
49
+ type: url
50
+ matchable: false
51
+ alephUrl:
52
+ label: Aleph URL
53
+ type: url
54
+ hidden: true
55
+ matchable: false
56
+ namesMentioned:
57
+ label: "Detected names"
58
+ hidden: true
59
+ type: name
60
+ indexText:
61
+ # This is a leaked abstraction from aleph. The idea is to have some
62
+ # additional text field that can be used to associate searchable text
63
+ # with an entity. This will be removed as a property upon indexing so
64
+ # that it can never be retrieved.
65
+ label: Index text
66
+ hidden: true
67
+ type: text
68
+ modifiedAt:
69
+ label: "Modified on"
70
+ type: date
71
+ retrievedAt:
72
+ label: "Retrieved on"
73
+ type: date
74
+ matchable: false
@@ -1,14 +1,30 @@
1
1
  LegalEntity:
2
- extends: Thing
2
+ extends:
3
+ - Thing
3
4
  label: Legal entity
4
5
  plural: Legal entities
5
- icon: fa-user-secret
6
- description: "A legal entity may be a person or a company."
6
+ description: >
7
+ Any party to legal proceedings, such as asset ownership, corporate governance
8
+ or social interactions. Often used when raw data does not specify if something
9
+ is a person or company.
7
10
  matchable: true
8
11
  featured:
9
12
  - name
10
- - legalForm
11
13
  - country
14
+ - legalForm
15
+ - status
16
+ required:
17
+ - name
18
+ caption:
19
+ - name
20
+ - email
21
+ - phone
22
+ - registrationNumber
23
+ temporalExtent:
24
+ start:
25
+ - incorporationDate
26
+ end:
27
+ - dissolutionDate
12
28
  properties:
13
29
  email:
14
30
  label: E-Mail
@@ -18,6 +34,7 @@ LegalEntity:
18
34
  label: Phone
19
35
  type: phone
20
36
  description: "Phone number"
37
+ maxLength: 32
21
38
  website:
22
39
  label: Website
23
40
  type: url
@@ -25,6 +42,7 @@ LegalEntity:
25
42
  legalForm:
26
43
  label: Legal form
27
44
  # description: ""
45
+ matchable: false
28
46
  incorporationDate:
29
47
  label: Incorporation date
30
48
  type: date
@@ -36,15 +54,19 @@ LegalEntity:
36
54
  taxStatus:
37
55
  label: Tax status
38
56
  # description: "Tax status, eg. ??"
57
+ matchable: false
39
58
  status:
40
59
  label: Status
41
60
  # description: "Status, eg. ??"
61
+ matchable: false
42
62
  sector:
43
63
  label: Sector
44
64
  # description: "Sector, eg. ??"
65
+ matchable: false
45
66
  classification:
46
67
  label: Classification
47
68
  # description: "Classification, eg. ??"
69
+ matchable: false
48
70
  registrationNumber:
49
71
  label: Registration number
50
72
  type: identifier
@@ -54,9 +76,18 @@ LegalEntity:
54
76
  type: identifier
55
77
  description: "ID number of any applicable ID"
56
78
  taxNumber:
57
- label: Tax ID Number
79
+ label: Tax Number
80
+ type: identifier
81
+ description: "Tax identification number"
82
+ licenseNumber:
83
+ label: License Number
58
84
  type: identifier
59
- description: "Tax ID number"
85
+ description: "For licenses granted to an entity"
86
+ vatCode:
87
+ label: "V.A.T. Identifier"
88
+ description: "(EU) VAT number"
89
+ type: identifier
90
+ maxLength: 32
60
91
  jurisdiction:
61
92
  label: Jurisdiction
62
93
  type: country
@@ -78,26 +109,56 @@ LegalEntity:
78
109
  label: "OKPO"
79
110
  description: "Russian industry classifier"
80
111
  type: identifier
112
+ matchable: false
81
113
  innCode:
82
114
  label: "INN"
83
115
  description: "Russian company ID"
84
116
  type: identifier
117
+ format: inn
118
+ maxLength: 32
119
+ ogrnCode:
120
+ label: "OGRN"
121
+ description: "Major State Registration Number"
122
+ type: identifier
123
+ format: ogrn
124
+ maxLength: 32
125
+ leiCode:
126
+ # cf. https://www.gleif.org/en/about-lei/introducing-the-legal-entity-identifier-lei
127
+ label: "LEI"
128
+ description: "Legal Entity Identifier"
129
+ type: identifier
130
+ format: lei
131
+ maxLength: 32
132
+ dunsCode:
133
+ label: "DUNS"
134
+ description: "Data Universal Numbering System - Dun & Bradstreet identifier"
135
+ type: identifier
136
+ maxLength: 16
137
+ uniqueEntityId:
138
+ label: "Unique Entity ID"
139
+ description: "UEI from SAM.gov"
140
+ type: identifier
141
+ format: uei
142
+ maxLength: 32
143
+ npiCode:
144
+ label: "NPI"
145
+ description: "National Provider Identifier"
146
+ type: identifier
147
+ format: npi
148
+ maxLength: 16
149
+ swiftBic:
150
+ label: "SWIFT/BIC"
151
+ description: "Bank identifier code"
152
+ type: identifier
153
+ format: bic
154
+ maxLength: 16
85
155
  parent:
156
+ # Use `Ownership` link instead.
157
+ deprecated: true
86
158
  label: "Parent company"
87
- reverse:
88
- name: subsidiaries
89
- type: entity
90
- schema: LegalEntity
91
159
  description: "If this entity is a subsidiary, another entity (company or organisation) is its parent"
92
- subsidiaries:
93
- label: "Subsidiaries"
94
160
  reverse:
95
- name: parent
161
+ label: "Subsidiaries"
162
+ name: subsidiaries
96
163
  type: entity
97
- schema: LegalEntity
98
- passport:
99
- label: "Passports"
100
- schema: Passport
101
- reverse:
102
- name: holder
103
- type: entity
164
+ range: LegalEntity
@@ -1,10 +1,9 @@
1
1
  License:
2
2
  label: License
3
- description: "A grant of land, rights or property. A type of Contract"
4
3
  plural: Licenses
4
+ description: "A grant of land, rights or property. A type of Contract"
5
5
  extends:
6
6
  - Contract
7
- icon: fa-certificate
8
7
  matchable: false
9
8
  featured:
10
9
  - name
@@ -12,10 +11,15 @@ License:
12
11
  - authority
13
12
  - contractDate
14
13
  - commodities
14
+ required:
15
+ - name
16
+ - authority
17
+ caption:
18
+ - name
15
19
  properties:
16
20
  area:
17
21
  label: "Area"
18
22
  commodities:
19
23
  label: "Commodities"
20
24
  reviewDate:
21
- label: "License review date"
25
+ label: "License review date"