{
  "Tables": {
    "tableName": ["Tables"],
    "fields": [
      {
        "name": "name",
        "type": "character",
        "nullable": false,
        "unique": true,
        "comment": "Name of table type"
      },
      {
        "name": "description",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Description of the data type"
      },
      {
        "name": "collection",
        "type": "character",
        "nullable": true,
        "unique": false,
        "comment": "The name of a collection for which the table should be a member"
      }
    ],
    "primaryKey": ["name"],
    "foreignKeys": [],
    "indexes": [
      {
        "fields": ["name"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [646],
      "y": [-148],
      "color": ["#9BC8FE"],
      "comment": ["Type of tables supported in the Knowledge Management database"]
    }
  },
  "Features": {
    "tableName": ["Features"],
    "fields": [
      {
        "name": "name",
        "type": "character",
        "nullable": false,
        "unique": true,
        "comment": "Feature name"
      },
      {
        "name": "description",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Description of the feature"
      }
    ],
    "primaryKey": ["name"],
    "foreignKeys": [],
    "indexes": [
      {
        "fields": ["name"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [153],
      "y": [-148],
      "color": ["#F67FC4"],
      "comment": ["Supported features"]
    }
  },
  "Units": {
    "tableName": ["Units"],
    "fields": [
      {
        "name": "measurement",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "The measurement"
      },
      {
        "name": "unit",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Unit name"
      },
      {
        "name": "description",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Unit description"
      }
    ],
    "primaryKey": ["measurement", "unit"],
    "foreignKeys": [],
    "indexes": [
      {
        "fields": ["measurement", "unit"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [-106],
      "y": [-293],
      "color": ["#F8DEC3"],
      "comment": ["Supported units"]
    }
  },
  "Character_values": {
    "tableName": ["Character_values"],
    "fields": [
      {
        "name": "feature",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Feature name"
      },
      {
        "name": "property",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Property name"
      },
      {
        "name": "value",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Supported value"
      },
      {
        "name": "description",
        "type": "character",
        "nullable": true,
        "unique": false,
        "comment": "Additional information about the meaning of the value"
      }
    ],
    "primaryKey": ["feature", "property", "value"],
    "foreignKeys": [
      {
        "refTable": ["Feature_properties"],
        "key": [
          {
            "from": "feature",
            "to": "feature"
          },
          {
            "from": "property",
            "to": "property"
          }
        ],
        "cardinality": [0, -1, 1, 1]
      }
    ],
    "indexes": [
      {
        "fields": ["feature", "property", "value"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [-110],
      "y": [-1],
      "color": ["#DFFB86"],
      "comment": ["Possible character values for the property"]
    }
  },
  "Feature_properties": {
    "tableName": ["Feature_properties"],
    "fields": [
      {
        "name": "feature",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Feature name"
      },
      {
        "name": "property",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Property name"
      },
      {
        "name": "type",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Type of the property: \"integer\", \"numeric\", \"logical\", character\", \"Date\", \"POSIXct\", \"base64\", \"table\", \"field\". \"table\" and \"field\" type are used for referencing tables and fields."
      },
      {
        "name": "mandatory",
        "type": "logical",
        "nullable": false,
        "unique": false,
        "comment": "Is it a mandatory property of the feature"
      },
      {
        "name": "measurement",
        "type": "character",
        "nullable": true,
        "unique": false,
        "comment": "The type of measurement for identifying relevant units"
      },
      {
        "name": "description",
        "type": "character",
        "nullable": true,
        "unique": false,
        "comment": "Description of the feature property"
      }
    ],
    "primaryKey": ["feature", "property"],
    "foreignKeys": [
      {
        "refTable": ["Features"],
        "key": [
          {
            "from": "feature",
            "to": "name"
          }
        ],
        "cardinality": [0, -1, 1, 1]
      },
      {
        "refTable": ["Units"],
        "key": [
          {
            "from": "measurement",
            "to": "measurement"
          }
        ],
        "cardinality": [0, -1, 0, -1]
      }
    ],
    "indexes": [
      {
        "fields": ["feature", "property"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [-108],
      "y": [-145],
      "color": ["#F67FC4"],
      "comment": ["Feature properties"]
    }
  },
  "Table_features": {
    "tableName": ["Table_features"],
    "fields": [
      {
        "name": "table",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Table name"
      },
      {
        "name": "feature",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Feature name"
      },
      {
        "name": "mandatory",
        "type": "logical",
        "nullable": false,
        "unique": false,
        "comment": "Is it a mandatory feature in the table?"
      }
    ],
    "primaryKey": ["feature", "table"],
    "foreignKeys": [
      {
        "refTable": ["Features"],
        "key": [
          {
            "from": "feature",
            "to": "name"
          }
        ],
        "cardinality": [0, -1, 1, 1]
      },
      {
        "refTable": ["Tables"],
        "key": [
          {
            "from": "table",
            "to": "name"
          }
        ],
        "cardinality": [0, -1, 1, 1]
      }
    ],
    "indexes": [
      {
        "fields": ["feature", "table"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [408],
      "y": [-149],
      "color": ["NA"],
      "comment": ["NA"]
    }
  },
  "Integer_values": {
    "tableName": ["Integer_values"],
    "fields": [
      {
        "name": "feature",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Feature name"
      },
      {
        "name": "property",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Property name"
      },
      {
        "name": "value",
        "type": "integer",
        "nullable": false,
        "unique": false,
        "comment": "Supported value"
      },
      {
        "name": "description",
        "type": "character",
        "nullable": true,
        "unique": false,
        "comment": "Additional information about the meaning of the value"
      }
    ],
    "primaryKey": ["feature", "property", "value"],
    "foreignKeys": [
      {
        "refTable": ["Feature_properties"],
        "key": [
          {
            "from": "feature",
            "to": "feature"
          },
          {
            "from": "property",
            "to": "property"
          }
        ],
        "cardinality": [0, -1, 1, 1]
      }
    ],
    "indexes": [
      {
        "fields": ["feature", "property", "value"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [121],
      "y": [-2],
      "color": ["#DFFB86"],
      "comment": ["Possible integer values for the property"]
    }
  },
  "Helpers": {
    "tableName": ["Helpers"],
    "fields": [
      {
        "name": "name",
        "type": "character",
        "nullable": false,
        "unique": true,
        "comment": "Name of the set of helpers"
      },
      {
        "name": "code",
        "type": "base64",
        "nullable": false,
        "unique": false,
        "comment": "{txt} Code of the helper functions"
      },
      {
        "name": "language",
        "type": "character",
        "nullable": false,
        "unique": false,
        "comment": "Programming language"
      }
    ],
    "primaryKey": ["name"],
    "foreignKeys": [],
    "indexes": [
      {
        "fields": ["name"],
        "unique": [true]
      }
    ],
    "display": {
      "x": [645],
      "y": [0],
      "color": ["#A9ECC9"],
      "comment": ["Code of helper functions"]
    }
  }
}
