kbaseattic / relation_engine_spec

Specifications and config for the KBase Relation Engine
https://kbase.us
MIT License
0 stars 7 forks source link

(Discussion) graph definitions instead of edge schemas #22

Closed jayrbolton closed 5 years ago

jayrbolton commented 5 years ago

This defines edges inside of whole graphs, connected to "from" and "to collections, rather than in isolation in a single schema.

The API would initialize the edges and graphs, with edge keys being taken care of automatically on creation/update.

If we decide this is a good idea, then todos are:

JamesJeffryes commented 5 years ago

I like the ability to specify graph schemas but I don't think it necessarily replaces the specification of edge schemas. If I'm not mistaken, edge collections can be used in multiple graphs and in that case I'd prefer to have the edge defined independently. We may also want the flexibility of adding vertexes and edges in ways that do not yet satisfy graph constraints (dangling edges that will eventually be satisfied in an asynchronous fashion for example).

jayrbolton commented 5 years ago

Mainly I'm trying to scope or namespace the ege schemas better. This allows for two edges with the same name to have different schemas (ie different attributes). Say we had "similar_to" edges, one between reactions and one between genomes, and they each had required similarity score attributes with different scales and different names. How would you handle that currently?

jayrbolton commented 5 years ago

I'm happy enough with the prefixes and subfolders, so don't feel the need for this anymore.