# A type for metadata?

**URL:** <https://discourse.julialang.org/t/a-type-for-metadata/10456>\
**Category:** Data\
**Tags:** question, proposal, metadata\
**Created:** [April 20, 2018, 2:11pm UTC](https://discourse.julialang.org/t/a-type-for-metadata/10456 "2018-04-20T14:11:35Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![tk3369](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tk3369/32/2824_2.png) [@tk3369](https://discourse.julialang.org/u/tk3369)\
**Post date:** [May 1, 2018, 7:31am UTC](https://discourse.julialang.org/t/a-type-for-metadata/10456/10 "2018-05-01T07:31:07Z")

</div>

It seems reasonable to associate some meta data to columns in a DataFrame. Having to track them in a separate Dict would possibly backfire because you would have to maintain the consistency between two separate data structures.

Consider the case of reading data from a relational database. Each column has metadata like data type, length, precision, allow nulls, etc. Often these are good information that is very handy when processing query results.

Something like this would be fairly easy to implement in DataFrames?

```julia
putmeta!(df, :column1, @NT(kind = :level))
putmeta!(df, :column2, @NT(kind = :rate))
getmeta(df, :column1) # returns @NT(kind = :level)
colswith(df, t => t.kind == :level) # returns an iterator over :level columns

```

---

_[View the full topic](https://discourse.julialang.org/t/a-type-for-metadata/10456)._
