Conversation
| *Note: The `structure` keyword is used here to mean either a file or an in-memory structure.* | ||
|
|
||
| ## Syntax | ||
| We might need to extend `ATTACH` to support attaching an Icebug-formatted graph. This would create node/rel tables in the database and point to the CSR structures. |
There was a problem hiding this comment.
The fundamental idea behind DuckLake is that yaml/json are brittle and should be replaced with the system catalog of a SQL database. It implements duckdb, postgres and mysql as system catalogs.
Similarly, the main idea behind Icebug Disk is to avoid yaml/json that Apache GraphAR uses to represent the graph and replace it with LadybugDB's system catalog. Perhaps people can implement it with other cypher implementations such as ArcadeDB or Grafeo.
Then a compliant implementation would do:
lbug > ATTACH 'mygraph:mygraph.lbdb';
where mygraph.lbdb is a small ladybugdb file with only the catalog, but no data.
Such a mygraph.lbdb would be created via lbug -i schema.cypher and shared with many users who could use it to connect to the graph lake backed by Icebug Disk.
| Alternatively, we can create a new syntax: `ATTACH GRAPH`. | ||
|
|
||
| ## Metadata File | ||
| The metadata file(passed to `ATTACH`) describes the structure of the graph, including node labels, node table structures, and relationship structures, which will be used to create the corresponding tables in the database(no need of `schema.cypher`). It also includes information about the CSR structures and how they map to the node/rel tables in the database. |
There was a problem hiding this comment.
GraphAR already does this. The main reason we have Icebug is to avoid the yaml/json parsing and the specificity of a database DDL.
No description provided.