# DC2022 TAP Tutorial
Prerequisites:
**Download:** Zip of TAP CSV and examples
* include blank TAP
* include all examples
**Install**: dctap-python
* (also: how to test to make sure it is installed correctly)
## Github, mailing list & primer
## Basic TAP
(create zip file with all used examples - ask people to open those files in a spreadsheet)
* Run through all of the columns
* Go through valueConstraintTypes
* Discuss shapes
* Save as CSV
Show some real TAPs
Have an exercise; questions and comments
**Give time for experiments and questions**
## Basic dctap-python
* output to JSON, YAML or text
## Advanced TAP & dctap-python config
This is where the question: what if basic DCTAP doesn't do everything I need?
* multiple values in cells
* changing default values
* changing column headers
* adding columns
* numerical cardinality
Including how to do this in the config file of dctap-python.
DCTAP and validation
**Give time for experiments and questions**
## Some tricky stuff
* \>1 property for a constraint
* I can accept either dct:title or sdo:title
* \>1 constraint for a property
* assigning a class AND a value constraint
* "I need to say that the string has a minimum and maximum"
* The dct:creator in my data will be either a string or a URI
* How mandatory/repeatable interact as "AND" and "OR"