- It can be used schema-less, or a schema can be used for extra functionality. This schema is a two level model/metamodel (called meme and metameme) affair. So at runtime, an individual orc is an entity, but the template from which all new orcs are instantiated is a meme (model) and the high level definition of mobs is the metameme (meta-model).
- Angela can do wildcard traversals. I have X and suspect that there is a Y in the connect network; but don’t know the exact path. E.g. I have a character’s inventory and some inventory items are themselves containers. If I want to check for a quest item in character X’s backpack, I can do such a wildcard traversal to look for it.
- Angela can do graph traversals based on the metameme and meme of an entity.
- Relationships need to be first class citizens. Right now, entities are first class and relationships are just glue.
- Relationships need to be directional. Right now, they actually are; but when queried I actually conflate both directions into a binary “link”.
- Relationships need to gain properties.
- For really sophisticated traversal using these relationships during , it should be able to parse the Gremlin query language.
- I need some persistence mechanism; probably be doing lazy writes to a relational DB.
The question is, does the world need an MIT licensed graph DB?