# Skip Functionality

**URL:** <https://support.prodi.gy/t/skip-functionality/5978>\
**Category:** Uncategorized\
**Tags:** usage\
**Created:** [September 26, 2022, 5:13pm UTC](https://support.prodi.gy/t/skip-functionality/5978 "2022-09-26T17:13:39Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![koaning](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/koaning/32/230_2.png) [@koaning](https://support.prodi.gy/u/koaning)\
**Post date:** [September 28, 2022, 12:42pm UTC](https://support.prodi.gy/t/skip-functionality/5978/4 "2022-09-28T12:42:59Z")

</div>

Prodigy doesn't allow too much interaction with the database, as explained [here](https://support.prodi.gy/t/editing-datasets/66/2), because it easily gets messy. If users are able to make changes to annotations, you probably also need a way to track who made what change and when.

So instead, here's how I've dealt with this in the past. I make two datasets, say `ner_v1` and `ner_v2`. When I start annotating, everything goes into `ner_v1`. I'm fully aware that this `v1` data will be a first draft. Many annotations are correct, but some might need to change later after understanding the problem better.

Then, once there are a few flagged examples, or when some [bad labels have been detected](https://www.youtube.com/watch?v=khZ5-AN-n2Y), I re-label the relevant candidates and move these annotations to `ner_v2`.

Then, when it's time to make a model, I have a custom script that gets the examples from `ner_v1` and `ner_v2`. If an example appears in both sets, I always prefer the annotation from `ner_v2`. This gives me a final dataset that can be used to train a model.

Other people might have another way to handle their data, but for my projects, this approach has worked quite well.

---

_[View the full topic](https://support.prodi.gy/t/skip-functionality/5978)._
