DEV Community

Cover image for How does ArcadeDB make data FAIR?
Christian Himpe
Christian Himpe

Posted on

How does ArcadeDB make data FAIR?

The FAIR principles for research data (Findability, Accessibility, Interoperability, Reusability) are a set of guidelines to facilitate sustainable availability of (research) data.

Inspired by Fluree's "Making Data FAIR", I decided to look at ArcadeDB in terms of FAIRness.

So, to check whether a tool X helps making (research or enterprise) data (more) FAIR, I ask for each principle Y: How does X make data Y?

How does ArcadeDB make data findable:

  • A unique identifier is assigned to each record and never reassigned.
  • Custom metadata for types and properties beyond SQL COMMENT ON.
  • The identifier is a mandatory property of every record.

How does ArcadeDB make data accessible?

  • Query Languages: SQL dialect, Cypher, Gremlin, GraphQL, MQL (MongoDB), SPARQL (via Gremlin plugin)
  • Interfaces: HTTP, Java, JDBC, MongoDB, Redis, Postgres
  • Drivers: CHICKEN Scheme, .NET, Ruby, Rust

How does ArcadeDB make data interoperable?

  • The native data format is JSON.
  • Data types map to standard Java data types.
  • Links between records are based on unique identifiers.

How does ArcadeDB make data reusable?

  • Property fields (i.e. for licenses) can be made mandatory.
  • Provenance can be enforced by immutable records.
  • Export formats: JSONL, GRAPHSON, GRAPHML

So overall, ArcadeDB makes data fair by its feature set. While this feature configuration is likely not unique, a polyglot multi-model NoSQL/NewSQL database is rare.

Top comments (0)