The followthemoney data model is designed to organise concepts which arise in money laundering and corruption investigations, in a way that is useful to investigative journalists.
The root of the data model is Things and Intervals. You can also think of these as entities and events. Things are documents, assets, legal entites and their descendents. Intervals are business interests, court cases, sanctions and transactions (and their descendents). Intervals tend to be useful for linking two entities together, possibly over a specific time period.
The YAML definitions for the schema include ways to define the behaviour or features of entities and their properties. These keys on entities are:
true, nothing should use this as its type directly, always use a descendant.
description: an explanation of what this type of entity means.
extends(string): a parent schema from which properties are inherited.
featured(list): this list of properties are extra useful in understanding the entity. In Aleph we use this to decide to show properties of something even if there’s no value set.
icon(string): the Font Awesome icon of an entity.
label(string): human-friendly name for the entity type.
plural(string): plural of
And on properties of entities:
truethis is the sort of property that you might want to use as the header of a web page about the thing, for example.
description: an explanation of what this property means.
label(string): human-friendly name for the property.
true, can have multiple values.
reverse(string): inverse of
entity, this is what kind. AKA ‘domain’ of the property.
type(string): datatype of the value of this property.
This data model is used by Aleph.
To use this schema with RDF see the namespace docs.
Things to consider in future iterations.