cnschema / cnSchema

开放中文知识图谱的schema
http://cnschema.openkg.cn
801 stars 184 forks source link

提议增加Categorical类型,作为String的子类 #50

Closed dingmaotu closed 2 years ago

dingmaotu commented 5 years ago

提议

基础的DataType分类中,有String类型。而有些String种类有限,值得单独考虑,比如@type字段,分类是有限的。因此提议使用Categorical类型,更加准确。出发点在于,一方面是数据建模的清晰度,很多系统都有类似的类型,更清楚地表达语义(例如R语言有Factor类型);另一方面Categorical类型在特定数据库中有优化措施,大量数据情况下,可以极大缩小存储需求。比较典型的是TigerGraph支持“STRING COMPRESS”类型,会把字符串映射成小整数,Categorical可以完美映射到这个类型。

需要的修改

  1. 需要修改cns_meta,添加Categorical类型,作为String的一个子类型(DataType)。
  2. 工具层面不需要特殊处理,Categorical完全可以作为String处理。转换的时候可以考虑Categorical数据的特殊性