| The project I'm working on does this -- we define high level semantic entity types, and from that you can: - Define APIs that take those entities as inputs, automatically validating API arguments for you, automatically generating documentation, and driving API consistency. - Can represent those entities in memory without writing any custom code beyond the schema. - As mentioned above, you don't have to write manual code to validate your entities, that's done for you from the schema. - Automatically generates database tables for those entity types without having to maintain a separate database schema, and can serialize/deserialize entities into or out of the database without having to write SQL. Acts like a document based database but still allows the power of relational SQL matching. - From git diffs, automatically produce expressions that specify how the entity types have evolved over time, and then have the ability to apply those entity type diffs to a production server & database. - Automatically maps natural language onto the schema allowing NLU queries like "orders today in Canada" to be turned into a semantic representation that the database can natively understand and execute, with control to override default NLU mappings if the default mapping isn't working right. - Automatically generates web UIs for viewing and editing entities. - Supports dynamic applicability to be defined so that whether a property is applicable, and which values are valid, can be defined as a dynamic function of other property values. - Supports inferred properties to be defined in either an inference rule approach, or a functional approach. |