---
# System prepended metadata

title: DC2022 TAP Tutorial

---

# 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"



