2.1 KiB
2.1 KiB
CyCAT data structure
The data structure is based on a Redis-compatible data store. kvrocks is the Redis-compatible data store used for CyCAT but any compatible Redis data store can be used.
u:
Each UUID inserted in CyCAT has at least an entry in the backend with the following format:
u:<UUID>
->value type
Value type available
value | type |
---|---|
1 | Publisher |
2 | Project |
3 | Item |
: (hash table)
Each UUID inserted might have a corresponding hash table
<type>:<UUID>
-> keys associated with the hash table type
Reserved keys
raw
- raw data for the specific item
t: (sorted set)
Each type got a sorted set (with a score of one) to easily paginate over the various types
t:<type>
-><UUID>
parent: (set)
The parent(s) UUID of the UUID.
parent:<UUID>
-> {UUID
,UUID
}
child: (set)
The child(ren) UUID of the UUID.
child:<UUID>
-> {UUID
,UUID
}
r: (set)
The list of relationships from a specific UUID.
r:<UUID>
-> {UUID
,UUID
}
rd:: (set)
The relationship data from an UUID tuple.
rd:<source UUID>:<destination UUID>
-> {value
,value
}
id::<NAMESPACE_ID> (set)
A namespace id referenced in an UUID
id:<NAMESPACE>:<NAMESPACE_ID>
-> {UUID
,UUID
}
idk: (set)
Known id per namespace
idk:<NAMESPACE>' -> {
NAMESPACE_ID,
NAMESPACE_ID`}
Statistics
Automatic API statistics
Prefix of API statistic is stats:f:
followed by the function name called.
stats:f:generateuuid
: number of calls to the UUID generator API
Fixed UUIDs for UUIDv5 generation
value | description |
---|---|
690b3b43-d689-481c-aa61-5351963a36f2 | Used to generate the UUID of a GitHub url - concatenation key is publisher:project |
39d6e10c-dac7-40e2-8e99-1ab1cefea6f4 | Used to generate CyCAT OID for publisher and project |