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
@@ -0,0 +1,50 @@
1
+ Position:
2
+ label: "Position"
3
+ plural: "Positions"
4
+ extends:
5
+ - Thing
6
+ matchable: true
7
+ # cf. https://www.popoloproject.com/specs/post.html
8
+ description: >
9
+ A post, role or position within an organization or body.
10
+ This describes a position one or more people may occupy
11
+ and not the occupation of the post by a specific individual at a
12
+ specific point in time.
13
+
14
+ 'subnationalArea' should be used to further restrict the scope of the
15
+ position. It should not simply represent some regional aspect of the
16
+ role - e.g. the constituency of a national member of parliament - when
17
+ their legislative jurisdiction is nationwide.
18
+ featured:
19
+ - name
20
+ - country
21
+ - subnationalArea
22
+ caption:
23
+ - name
24
+ required:
25
+ - name
26
+ temporalExtent:
27
+ start:
28
+ - inceptionDate
29
+ end:
30
+ - dissolutionDate
31
+ properties:
32
+ organization:
33
+ label: "Organization"
34
+ type: entity
35
+ reverse:
36
+ name: positions
37
+ label: Positions
38
+ range: Organization
39
+ inceptionDate:
40
+ label: Inception date
41
+ type: date
42
+ dissolutionDate:
43
+ label: Dissolution date
44
+ type: date
45
+ subnationalArea:
46
+ label: Subnational jurisdiction name or code
47
+ type: string
48
+ numberOfSeats:
49
+ label: Total number of seats
50
+ type: number
@@ -0,0 +1,42 @@
1
+ Post:
2
+ label: "Post"
3
+ plural: "Posts"
4
+ extends:
5
+ - Interest
6
+ matchable: false
7
+ deprecated: true
8
+ # cf. https://www.popoloproject.com/specs/post.html
9
+ # But they're using it to define the post as an abstract thing, this
10
+ # describes the interval in which it is held by an individual.
11
+ description: >
12
+ A post, role or position held by an individual within an organization
13
+ or body. This describes the period for which the position is held,
14
+ not the abstract concept of the post.
15
+ featured:
16
+ - holder
17
+ - organization
18
+ - role
19
+ - startDate
20
+ - endDate
21
+ required:
22
+ - holder
23
+ caption:
24
+ - summary
25
+ - organization
26
+ - role
27
+ properties:
28
+ holder:
29
+ label: "Holder"
30
+ reverse:
31
+ name: posts
32
+ label: "Posts held"
33
+ type: entity
34
+ range: Person
35
+ organization:
36
+ # This is a stub text version of the org, describing it by name.
37
+ label: "Organization"
38
+ type: string
39
+ wikidataId:
40
+ label: "Wikidata ID"
41
+ hidden: true
42
+ type: identifier
@@ -0,0 +1,27 @@
1
+ Project:
2
+ label: Project
3
+ plural: Projects
4
+ extends:
5
+ - Interval
6
+ - Thing
7
+ - Value
8
+ description: >
9
+ An activity carried out by a group of participants.
10
+ matchable: false
11
+ featured:
12
+ - name
13
+ - projectId
14
+ - startDate
15
+ caption:
16
+ - name
17
+ - projectId
18
+ properties:
19
+ projectId:
20
+ label: "Project ID"
21
+ type: identifier
22
+ status:
23
+ label: "Status"
24
+ phase:
25
+ label: "Phase"
26
+ goal:
27
+ label: "Project goal"
@@ -0,0 +1,36 @@
1
+ ProjectParticipant:
2
+ label: Project participant
3
+ plural: Project participants
4
+ extends:
5
+ - Interest
6
+ description: >
7
+ An activity carried out by a group of participants.
8
+ matchable: false
9
+ featured:
10
+ - project
11
+ - participant
12
+ - role
13
+ caption:
14
+ - role
15
+ edge:
16
+ source: participant
17
+ label: "participates in"
18
+ target: project
19
+ directed: true
20
+ caption:
21
+ - role
22
+ properties:
23
+ project:
24
+ label: "Project"
25
+ type: entity
26
+ range: Project
27
+ reverse:
28
+ name: participants
29
+ label: "Participants"
30
+ participant:
31
+ label: "Participant"
32
+ type: entity
33
+ range: LegalEntity
34
+ reverse:
35
+ name: projectParticipation
36
+ label: "Projects"
@@ -1,6 +1,17 @@
1
1
  PublicBody:
2
2
  label: Public body
3
3
  plural: Public bodies
4
- icon: fa-building
5
- extends: Organization
6
- matchable: true
4
+ description: >
5
+ A public body, such as a ministry, department or state company.
6
+ extends:
7
+ - Organization
8
+ matchable: true
9
+ featured:
10
+ - name
11
+ - country
12
+ - legalForm
13
+ - status
14
+ caption:
15
+ - name
16
+ required:
17
+ - name
@@ -1,18 +1,25 @@
1
1
  RealEstate:
2
+ extends:
3
+ - Asset
2
4
  label: Real estate
3
5
  plural: Real estates
4
- extends: Asset
5
- icon: fa-map
6
+ description: "A piece of land or property."
6
7
  matchable: false
7
8
  featured:
8
9
  - registrationNumber
9
10
  - address
10
11
  - country
12
+ caption:
13
+ - name
14
+ - address
15
+ - registrationNumber
11
16
  properties:
12
17
  latitude:
13
18
  label: Latitude
19
+ type: number
14
20
  longitude:
15
21
  label: Longitude
22
+ type: number
16
23
  censusBlock:
17
24
  label: Census block
18
25
  cadastralCode:
@@ -20,6 +27,7 @@ RealEstate:
20
27
  type: identifier
21
28
  area:
22
29
  label: Area
30
+ type: number
23
31
  registrationNumber:
24
32
  label: Registration number
25
33
  type: identifier
@@ -40,4 +48,12 @@ RealEstate:
40
48
  label: Land type
41
49
  createDate:
42
50
  label: Record date
43
- type: date
51
+ type: date
52
+ parent:
53
+ label: "Parent unit"
54
+ description: "If this entity is a subunit, another entity (real estate) is its parent"
55
+ reverse:
56
+ label: "Subunits"
57
+ name: subunits
58
+ type: entity
59
+ range: RealEstate
@@ -1,25 +1,36 @@
1
1
  Representation:
2
2
  label: "Representation"
3
+ plural: "Representations"
3
4
  description: "A mediatory, intermediary, middleman, or broker acting on behalf of a legal entity."
4
- extends: Interest
5
- icon: fa-rocket
5
+ extends:
6
+ - Interest
6
7
  matchable: false
7
8
  featured:
8
9
  - agent
9
10
  - client
10
11
  - role
12
+ required:
13
+ - agent
14
+ - client
15
+ edge: # AGENT represents CLIENT
16
+ source: agent
17
+ label: "represents"
18
+ target: client
19
+ directed: true
20
+ caption:
21
+ - role
11
22
  properties:
12
23
  agent: # aka representative / incorporation agent
13
24
  label: "Agent"
14
25
  type: entity
15
- schema: LegalEntity
26
+ range: LegalEntity
16
27
  reverse:
17
28
  name: agencyClient
18
- label: "Agency clients"
29
+ label: "Clients"
19
30
  client:
20
31
  label: "Client"
21
32
  type: entity
22
- schema: LegalEntity
33
+ range: LegalEntity
23
34
  reverse:
24
35
  name: agentRepresentation
25
- label: "Agents"
36
+ label: "Agents"
@@ -1,36 +1,60 @@
1
1
  Sanction:
2
2
  label: Sanction
3
3
  plural: Sanctions
4
- extends: Interval
5
- icon: fa-ban
4
+ description: "A sanction designation"
5
+ extends:
6
+ - Interval
6
7
  matchable: false
7
8
  featured:
8
9
  - entity
9
10
  - authority
11
+ - program
10
12
  - startDate
11
13
  - endDate
14
+ required:
15
+ - entity
16
+ caption:
17
+ - program
12
18
  properties:
13
19
  entity:
14
- label: "Sanctioned entity"
20
+ label: "Entity"
15
21
  reverse:
16
- name: sanctionEntity
22
+ name: sanctions
17
23
  label: "Sanctions"
18
24
  type: entity
19
- schema: Thing
25
+ range: Thing
20
26
  authority:
21
- label: "Sanctioning authority"
22
- reverse:
23
- name: sanctionAuthority
24
- label: "Sanctioned entities"
25
- type: entity
26
- schema: Thing
27
+ label: "Authority"
28
+ authorityId:
29
+ label: "Authority-issued identifier"
30
+ type: identifier
31
+ unscId:
32
+ label: "UN SC identifier"
33
+ type: identifier
34
+ maxLength: 16
27
35
  program:
28
- label: "Sanctions program"
29
- sanctionStatus:
30
- label: "Sanction status"
31
- sanctionDuration:
32
- label: "Sanction duration"
33
- sanctionReason:
34
- label: "Sanction reason"
35
- sanctionOccurrence:
36
- label: "Sanction occurrence"
36
+ label: "Program"
37
+ programId:
38
+ # This is a unique identifier for the program issued by OpenSanctions, but
39
+ # could also be used for authority-issued IDs in other usage scenarios.
40
+ label: "Program ID"
41
+ type: identifier
42
+ maxLength: 64
43
+ programUrl:
44
+ label: "Program URL"
45
+ type: url
46
+ provisions:
47
+ label: "Scope of sanctions"
48
+ status:
49
+ label: "Status"
50
+ duration:
51
+ label: "Duration"
52
+ reason:
53
+ label: "Reason"
54
+ type: text
55
+ country:
56
+ label: "Country"
57
+ type: country
58
+ listingDate:
59
+ label: "Listing date"
60
+ type: date
@@ -0,0 +1,59 @@
1
+ Security:
2
+ extends:
3
+ - Asset
4
+ label: Security
5
+ plural: Securities
6
+ description: "A tradeable financial asset."
7
+ matchable: true
8
+ featured:
9
+ - isin
10
+ - name
11
+ - issuer
12
+ - country
13
+ caption:
14
+ - name
15
+ - isin
16
+ - registrationNumber
17
+ temporalExtent:
18
+ start:
19
+ - issueDate
20
+ end:
21
+ - maturityDate
22
+ properties:
23
+ isin:
24
+ label: ISIN
25
+ description: International Securities Identification Number
26
+ type: identifier
27
+ format: isin
28
+ maxLength: 16
29
+ registrationNumber:
30
+ label: Registration number
31
+ type: identifier
32
+ ticker:
33
+ label: Stock ticker symbol
34
+ type: identifier
35
+ figiCode:
36
+ label: Financial Instrument Global Identifier
37
+ type: identifier
38
+ format: figi
39
+ maxLength: 16
40
+ issuer:
41
+ label: "Issuer"
42
+ type: entity
43
+ range: LegalEntity
44
+ # FIXME: Should this be `Organization`?
45
+ reverse:
46
+ label: "Issued securities"
47
+ name: securities
48
+ issueDate:
49
+ label: Date issued
50
+ type: date
51
+ maturityDate:
52
+ label: Maturity date
53
+ type: date
54
+ type:
55
+ label: Type
56
+ classification:
57
+ label: Classification
58
+ collateral:
59
+ label: Collateral
@@ -0,0 +1,37 @@
1
+ Similar:
2
+ label: Similar
3
+ plural: Similar entities
4
+ description: >
5
+ A link between two entities that are presumed to be the same, e.g. as the
6
+ outcome of a probabilistic record linkage process.
7
+ matchable: false
8
+ generated: true
9
+ featured:
10
+ - candidate
11
+ - match
12
+ - confidenceScore
13
+ caption:
14
+ - confidenceScore
15
+ - criteria
16
+ properties:
17
+ candidate:
18
+ label: "Candidate"
19
+ type: entity
20
+ range: Thing
21
+ reverse:
22
+ name: candidateSimilars
23
+ label: "Similar to this"
24
+ match:
25
+ label: "Match"
26
+ type: entity
27
+ range: Thing
28
+ reverse:
29
+ name: matchSimilars
30
+ label: "Similar as this"
31
+ confidenceScore:
32
+ label: Confidence score
33
+ type: number
34
+ criteria:
35
+ label: Matching criteria
36
+ matcher:
37
+ label: Matcher
@@ -0,0 +1,36 @@
1
+ Succession:
2
+ label: "Succession"
3
+ plural: "Successions"
4
+ description: "Two entities that legally succeed each other."
5
+ extends:
6
+ - Interest
7
+ matchable: false
8
+ featured:
9
+ - predecessor
10
+ - successor
11
+ - date
12
+ required:
13
+ - predecessor
14
+ - successor
15
+ edge: # PREDECESSOR preceeds SUCCESSOR
16
+ source: predecessor
17
+ label: "preceeds"
18
+ target: successor
19
+ directed: true
20
+ caption:
21
+ - date
22
+ properties:
23
+ predecessor:
24
+ label: "Predecessor"
25
+ type: entity
26
+ range: LegalEntity
27
+ reverse:
28
+ name: successors
29
+ label: "Successors"
30
+ successor:
31
+ label: "Successor"
32
+ type: entity
33
+ range: LegalEntity
34
+ reverse:
35
+ name: predecessors
36
+ label: "Predecessors"
@@ -0,0 +1,32 @@
1
+ Table:
2
+ extends:
3
+ - Document
4
+ label: Table
5
+ plural: Tables
6
+ description: >
7
+ A document structured into rows and cells. This includes simple CSV files, spreadsheet
8
+ sheets or database relations.
9
+ matchable: false
10
+ generated: true
11
+ featured:
12
+ - title
13
+ - fileName
14
+ - mimeType
15
+ - parent
16
+ caption:
17
+ - title
18
+ - name
19
+ - fileName
20
+ properties:
21
+ columns:
22
+ label: "Column headings"
23
+ hidden: true
24
+ type: json
25
+ rowCount:
26
+ label: "Number of rows"
27
+ type: number
28
+ csvHash:
29
+ label: "CSV alternative version checksum"
30
+ hidden: true
31
+ type: checksum
32
+ matchable: false
@@ -1,22 +1,40 @@
1
1
  TaxRoll:
2
- label: Tax Roll
3
- plural: Tax Rolls
4
- extends: Interval
2
+ label: "Tax roll"
3
+ plural: "Tax rolls"
4
+ description: "A tax declaration of an individual"
5
+ extends:
6
+ - Interval
5
7
  icon: fa-bank
6
8
  matchable: false
7
9
  featured:
10
+ - taxee
8
11
  - date
9
12
  - income
10
13
  - wealth
11
14
  - taxPaid
15
+ required:
16
+ - taxee
12
17
  properties:
13
- person:
14
- label: Person
18
+ taxee:
19
+ label: "Taxee"
15
20
  type: entity
16
- schema: Person
21
+ range: LegalEntity
22
+ reverse:
23
+ name: taxRolls
24
+ label: "Tax rolls"
25
+ country:
26
+ label: "Country"
27
+ type: country
28
+ surname:
29
+ label: "Surname"
30
+ givenName:
31
+ label: "Given name"
32
+ birthDate:
33
+ label: "Birth date"
34
+ type: date
17
35
  income:
18
- label: Registered income
36
+ label: "Registered income"
19
37
  taxPaid:
20
- label: Amount of tax paid
38
+ label: "Amount of tax paid"
21
39
  wealth:
22
- label: Registered wealth
40
+ label: "Registered wealth"
@@ -1,28 +1,26 @@
1
1
  Thing:
2
+ # Kein Ding, digga, das Ding hat swing.
3
+ # Root type of all entities that should be rendered in Aleph.
2
4
  abstract: true
3
- icon: fa-circle
4
5
  matchable: false
5
6
  featured:
6
7
  - name
7
8
  - country
9
+ required:
10
+ - name
11
+ caption:
12
+ - name
8
13
  properties:
9
14
  name:
10
15
  label: Name
11
16
  type: name
12
- caption: true
13
- required: true
14
17
  rdf: http://www.w3.org/2004/02/skos/core#prefLabel
15
- sameAs:
16
- label: "Same as"
17
- type: entity
18
- range: Thing
19
- rdf: http://www.w3.org/2002/07/owl#sameAs
20
- reverse:
21
- name: sameAs
22
18
  summary: # a short one-liner kind of description
23
19
  label: Summary
20
+ type: text
24
21
  description: # a longer description
25
22
  label: Description
23
+ type: text
26
24
  country:
27
25
  label: Country
28
26
  type: country
@@ -34,19 +32,77 @@ Thing:
34
32
  label: Previous name
35
33
  type: name
36
34
  weakAlias:
37
- label: Weak aliass
35
+ label: Weak alias
36
+ type: name
37
+ matchable: false
38
38
  sourceUrl:
39
39
  label: Source link
40
40
  type: url
41
+ matchable: false
42
+ publisher:
43
+ label: "Publishing source"
44
+ matchable: false
45
+ publisherUrl:
46
+ label: "Publishing source URL"
47
+ type: url
48
+ matchable: false
41
49
  alephUrl:
42
- label: Federated Aleph link
50
+ label: Aleph URL
43
51
  type: url
52
+ hidden: true
53
+ matchable: false
54
+ wikipediaUrl:
55
+ label: Wikipedia Article
56
+ type: url
57
+ wikidataId:
58
+ label: Wikidata ID
59
+ type: identifier
60
+ format: qid
61
+ maxLength: 32
44
62
  keywords:
45
63
  label: Keywords
64
+ topics:
65
+ label: Topics
66
+ type: topic
46
67
  address:
47
68
  label: Address
48
69
  type: address
70
+ addressEntity:
71
+ label: Address
72
+ reverse:
73
+ name: things
74
+ label: "Located there"
75
+ type: entity
76
+ range: Address
49
77
  program: # Used by sanctions
50
78
  label: Program
51
79
  notes:
52
- label: Notes
80
+ label: Notes
81
+ type: text
82
+ proof:
83
+ label: Source document
84
+ reverse:
85
+ name: proven
86
+ label: "Derived entities"
87
+ type: entity
88
+ range: Document
89
+ indexText:
90
+ # This is a leaked abstraction from aleph. The idea is to have some
91
+ # additional text field that can be used to associate searchable text
92
+ # with an entity. This will be removed as a property upon indexing so
93
+ # that it can never be retrieved.
94
+ label: Index text
95
+ hidden: true
96
+ type: text
97
+ createdAt:
98
+ label: "Created at"
99
+ type: date
100
+ matchable: false
101
+ modifiedAt:
102
+ label: "Modified on"
103
+ type: date
104
+ matchable: false
105
+ retrievedAt:
106
+ label: "Retrieved on"
107
+ type: date
108
+ matchable: false