Skip to content

d3nnn1z/MetaSchema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

MetaSchema

MetaSchema is a Data Definition Language specification.

Design goals

Schemata must

  • Be language/platform agnostic
  • Allow re-use and composition

Key elements/concepts

  • Physical Datatype
  • Logical Datatype
  • Storage Engine
  • Presentation Widget
  • Validator
  • Entity
  • Attribute
  • Scenario

Physical Datatype

Physical Datatypes are primitive datatypes supported by:

  • Programming Languages, eg. Java, PHP, Javascript, etc.
  • Database Systems (relational, object oriented, NoSQL, etc)
  • Data Exchange Formats, eg. JSON, XML, etc.

List of Physical Datatypes:

  • Char
  • String
  • Integer
  • Double
  • Boolean
  • Date
  • Datetime
  • Time

Datatypes in database systems:

Datatypes in programming languages:

Datatypes in data exchange formats:

References:

Composite Datatype

Composite datatypes allow the construction of logical datatypes

  • Vector2: Can be used in ranges, vectors, etc.
  • Vector3: same as above

Logical Datatype

Logical data types introduce semantics. They must define representations using primitive data types.

Here's a list of some logical data types:

Color

Representations:

  • String Datatype with hex "#RRGGBB" format
  • String Datatype with decimal "(R, G, B)" format

Date

Representations:

  • String Datatype with "Y-m-d" format

Datetime

Representations:

  • String Datatype with "Y-m-d H:i:s" format

Time

Representations:

  • String Datatype with "H:i:s" format

Collection

The following collections are allowed:

  • List - ordered list of items
  • Set - unordered list of unique items
  • Map - lookup tables using strings as keys

References:

Validator

A validator is applied against a primitive datatype to enforce semantics.

Example validators:

  • MinValue: Works on Integer and Double datatype

References

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •