-
Notifications
You must be signed in to change notification settings - Fork 2
research:PG Schemas
Johannes Lötzsch edited this page Jan 2, 2023
·
1 revision
primitive data types | ** union or intersection types for nodes,edges, and properties** | type hierarchies | abstract types (interfaces) | opened/closed shapes | edge properties | mandadory/optional declaration | collection and tuple types | range constraint | key constraints | mandadory participation | upper/lower bounds | binary constraints | tracabbly validation | partial conformance | ammandable to introspection | SFPX | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PDT | UIT | TH | AT | OCT | EP | MOP | CPT | RC | KC | MP | CC | BC | TV | PC | IS | SFPX | |
PG-Schema | [GQL] | n/e | n/e/[-] | n/e/[-] | o/c | n/e | m/o | [-] | [-] | X | X | [-] | - | X | X | - | f/p/x |
Chen ER [17] | [-] | - | - | - | c | n/e | m | - | [-] | [X] | X | - | - | [-] | - | - | f |
Extended ER [54] | [-] | n/e | n/e/p | n/e | c | n/e | m/o | X | [-] | X | X | X | - | [-] | - | - | f |
Enhanced ER [22] | [-] | n/e | n/e | n | c | n/e | m/o | X | [-] | [X] | X | X | - | [-] | - | - | f |
ORM2 [30] | [-] | n/e/p | n/e/p | n/e | c | n/e | m/o | [-] | X | X | X | X | X | [-] | - | - | f |
UML Class Diagrams [24] | [5] | n | n | n | c | n/e | m/o | [-] | X | X | X | X | X | [-] | - | - | f |
RDFS [14] | 34 | - | n/e/p | - | o | [-] | [o] | - | - | - | - | - | - | X | X | X | f/x |
OWL [33] | [33] | n/e/p | n/e/p | - | o | n | [m]/[o] | - | X | X | [-] | X | X | [X] | X | X | f/x |
SHACL [36] | 34 | n/e/p | n/e/p | - | o/c | n | m/o | - | X | [X] | X | X | - | [X] | X | X | f/p/[x] |
"ShEx [6, 51]" | 34 | n/e/p | n/e/p | - | o/c | n | m/o | - | X | [X] | X | X | - | [X] | X | X | f/p/[x] |
DTD [62] | 6 | [n] | - | - | o/c | n | m/o | [-] | - | [-] | X | - | - | X | - | [X] | f/x |
JSON Schema [60] | 6 | n/e | n/e/p | n | o/c | n | m/o | X | X | [X] | X | X | - | X | - | X | f/x |
RELAX NG [34] | [2] | n | n/e/p | n | o/c | n | m/o | X | X | [-] | X | - | - | X | - | X | f/x |
XML Schema [50] | [47] | n | n/e/p | n | o/c | n | m/o | X | X | X | X | X | - | X | - | X | f/x |
"GraphQL SDL [23, 32]" | 5 | n/[e] | n/e | n/e | c | n/e | m/o | X | [X] | X | X | - | - | [-] | X | X | f |
openCypher Schema [12] | [openCypher] | [n] | n/e | n/e | c | n/e | m | X | - | X | X | - | - | X | X | X | p/x |
"SQL/PGQ [1, 20]" | [SQL] | n/e | [n]/[e] | n/e | c | n/e | m/o | X | [X] | X | X | [-] | - | X | - | X | f |
AgensGraph [2] | [-] | - | n/e/p | - | o | [n]/[e] | m/o | [X] | [X] | [X] | X | - | - | [X] | X | [X] | f/x |
ArangoDB [5] | 6 | [n]/[e] | n/e/p | n | o/c | n/e | m/o | X | [X] | [X] | X | [X] | - | [X] | - | X | f/x |
DataStax [19] | [25] | - | - | - | [o] | n/e | m/o | X | [X] | X | X | - | - | ? | X | X | f/x |
JanusGraph [35] | 12 | - | - | - | [o] | n/e | m/o | X | - | X | X | X | - | X | X | [X] | f/x |
Nebula Graph/nGQL [61] | 5 | - | - | - | c | n/e | m/o | - | - | - | - | - | - | [-] | - | X | f |
Neo4j [53] | 11 | [n] | [-] | [-] | o | n/e | m/o | [X] | - | X | - | [-] | - | - | X | X | p/x |
Oracle/PGQL [41] | 11 | [n]/[e] | - | - | c | n/e | [m]/[o] | - | [X] | [X] | [X] | [-] | - | [X] | X | X | f/x |
OrientDB/SQL [42] | 23 | [n]/[e] | [n]/[e] | [n]/[e] | o/c | n/e | [m]/[o] | X | [X] | [X] | [X] | [-] | - | [X] | X | [X] | f/[p] |
Sparksee [52] | 8 | - | - | - | c | n/e | m/o | [X] | - | X | X | - | - | [-] | - | [X] | f |
TigerGraph/GSQL [55] | 8 | [n]/[e] | - | [-] | c | n/e | [m]/[o] | X | [X] | X | - | [-] | [X] | [X] | - | X | f |
TypeDB/TypeQL [58] | 5 | - | n/e/p | n/e/p | c | n/e | m | X | [X] | X | X | [-] | X | [-] | - | X | f |
Legend:
- ‘X’ = supported
- ‘-’ = not supported
- ‘?’ = unknown
- ['x'] = qualified x,
- n/e/p = supported for (n)odes, (e)dges, and (p)roperties
- o/c = (o)pen and (c)losed
- m/o = (m)andatory and (o)ptional
- f/p/x = schema (f)irst, (p)artial, and fle(x)ible
This information has been extracted from the following research paper: Angles et al., “PG-Schema.”[^pgschema]
[^pgschema]: Angles, Renzo, Angela Bonifati, Stefania Dumbrava, George Fletcher, Alastair Green, Jan Hidders, Bei Li, et al. “PG-Schema: Schemas for Property Graphs.” arXiv, December 1, 2022. http://arxiv.org/abs/2211.10962.