Ontology / Knowledge Graph
OpenIM can be read as a graph: a map of the things an investment firm works with and the named connections between them. This page defines the graph terms, shows a small example and links to the machine-readable formats.
What the map is
An everyday map shows places and the roads between them. The OpenIM knowledge graph uses the same idea for the investment concepts in the model.
The places are entities, such as a fund, manager, holding, instrument or document. The roads are relationships: named, directional links between two entities. For example:
- A fund is managed by a manager.
- A holding is a position in an instrument, and sits in a portfolio.
- A document has a subject: the entity it concerns.
Together, the entities and relationships form a graph. Each entity is a node. Each relationship is a labelled edge between two nodes.
A software agent can answer a question by following these named links. To find which manager runs the fund that holds an instrument, it follows the chain from instrument to holding, fund and manager. A person can inspect the same path.
The relation vocabulary: named links, and their inverses
Every relationship has a direction and a verb-like name, such as MANAGES,
IN_PORTFOLIO or HAS_SUBJECT. It also has a named
inverse for reading the same connection in the other direction. This lets a
query start from either entity without inventing a reverse meaning.
The table is a short sample. The graph-description download contains the complete vocabulary.
| Forward relationship | Reads as | Inverse relationship | Reads as |
|---|---|---|---|
MANAGES (Manager to Fund) | a manager manages a fund | MANAGED_BY (Fund to Manager) | a fund is managed by a manager |
IN_PORTFOLIO (Holding to Portfolio) | a holding sits in a portfolio | PORTFOLIO_INCLUDES (Portfolio to Holding) | a portfolio includes a holding |
POSITION_IN (Holding to Instrument) | a holding is a position in an instrument | HAS_POSITION (Instrument to Holding) | an instrument has a position held against it |
HAS_SUBJECT (Document to Entity) | a document's subject is the entity it concerns | SUBJECT_OF (Entity to Document) | an entity is the subject of a document |
A small example, drawn as a graph
The sentences above, drawn as a picture. Each box is an entity, each labelled arrow is a named relationship pointing from its start to its end.
The whole graph, explorable
The viewer contains the complete published graph, including every entity and named relationship. It reads the same RDF/XML export available below. Drag to pan, scroll to zoom, or select an entity or relationship to see its details.
The viewer is the embeddable component of the open-source Ontology Playground project (MIT licence), served from this site with no external requests.
The graph description: what an agent reads before it queries
The graph description is a machine-readable catalogue of entity types and relation types. It records inverse names, kinds, cardinalities and valid source and target types. A program can inspect this file before composing a query.
The graph is published as CSV, openCypher, SQL/PGQ, ISO GQL and database-specific loaders. Each format describes the same entities and named relationships.
Every graph download
- Nodes (CSV)
- Edges (CSV)
- openCypher script
- SQL/PGQ script
- ISO GQL script
- Graph description (JSON)
- Neo4j import nodes (CSV)
- Neo4j import edges (CSV)
- Snowflake script
Each link opens the matching card on the exports page, with a plain description of the format and what you would use it for.