ArcadeDB
Overview
ArcadeDB is a multi-model graph database that functions as the main Graph Store for the SOF Data Layer (SDL).
ArcadeDB is reachable by clicking on the Graph Store button on the SDL Frontend GUI. Alternatively, the URL will take the form of https://arcadedb.deployed_domain
ArcadeDB serves queries and commands in the following languages: 1. [SQL](https://docs.arcadedb.com#SQL) (from OrientDB SQL) 2. Neo4j [Cypher (Open Cypher)](https://docs.arcadedb.com#Cypher) 3. [Apache Gremlin (Apache Tinkerpop v3.7.x)](https://docs.arcadedb.com#Gremlin-API) 4. [GraphQL Language](https://docs.arcadedb.com#GraphQL)
You may see MongoDB listed in the Arcade UI, but it is deprecated and will be removed soon. More information about their language support and syntax may be found here. https://docs.arcadedb.com/
Classification Markings
Arcade is configured to provide object level filtering of graph nodes and edges for each user’s clearance levels.
Arcade currently enforces the classification markings of any objects created or updated by end users. Users are only permitted to create classification markings within the classification of the graph, and only within their own clearance and attribution levels. (A Secret cleared user cannot create a TS object).
Objects can have a general classification marked like the following:
{
id: 12345,
name: Joe Smith,
...
classification: {
general: 'S'
}
}
Or objects can use source based classification markings:
{
id: 12345,
name: Joe Smith,
...
sources: {
1: (S) IIR 325395,
...
}
}
Quick start SQL commands
Create a vertex
INSERT INTO People CONTENT
{
firstName: 'Enzo',
lastName: 'Ferrari',
classification: { general: 'S'}
}
INSERT INTO Location CONTENT
{
name: 'Richmond',
type: 'City',
classification: {
general: 'U'
}
}