Skip to content

Graph API #419

@pudo

Description

@pudo

The data in aleph is stored as documents in ElasticSearch, with a schema that can best be expressed in RDF. However, we want to be able to show network graph visualisations of parts of the corpus. In particular:

  • We want to be able to show a network graph focussed on an individual entity or set of entities.
  • We want a higher level abstraction (e.g. a "view" or "canvas") in the context of a casefile which makes a network diagram of a set of entities or documents into a persistent object, preserving entities and layout.

To show aleph data as a network diagram, we will need to transform it into a property graph-style representation. For simplicity and performance, this should take place on the backend.

Fundamentally, the transformation from aleph ftm data to property graph can be done on three levels:

  1. By transferring entity links between entities into edges (e.g. an Asset has a link to an Ownership, the Ownership has a second link to a LegalEntity as the owner).
  2. By transforming some of the entities into links themselves (e.g. an Ownership would be broken down into an edge between asset and owner).
  3. By reifying (making into pseudo-entities) tags of entities into nodes. That would include entity properties such as email addresses, postal addresses, phone numbers, and possibly even names, which would be presented as nodes in the network diagram.

Additionally, there is some need for extra computation that may be required to make this API usable by a UI client:

  • Include the degree in metadata for each node, possibly disaggregated by type (i.e. "this entity is linked to 15 assets, 4 email addresses, and 2 postal addresses")
  • Allow querying adjacent edges and nodes for a particular entity by edge type.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions