# demo rule-based matcher results a Value Error in search patterns

**URL:** <https://support.prodi.gy/t/demo-rule-based-matcher-results-a-value-error-in-search-patterns/1662>\
**Category:** Uncategorized\
**Tags:** usage, spacy, solved\
**Created:** [June 16, 2019, 10:12am UTC](https://support.prodi.gy/t/demo-rule-based-matcher-results-a-value-error-in-search-patterns/1662 "2019-06-16T10:12:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ronaldoviber](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ronaldoviber/32/795_2.png) [@ronaldoviber](https://support.prodi.gy/u/ronaldoviber)\
**Post date:** [June 16, 2019, 10:12am UTC](https://support.prodi.gy/t/demo-rule-based-matcher-results-a-value-error-in-search-patterns/1662/1 "2019-06-16T10:12:48Z")

</div>

Hi  
i used the public demo tool to build patterns for a rule based matcher. This works well mostly.

i used it net.teach with this string:

```
prodigy ner.teach DatasetName en_core_web_lg ~/prg-datasets/turc/txt2.txt --label Catalog --patterns ~/prg-datasets/turc/dataset_patterns.jsonl

```

But the current generated string results an error: Value Error: Invalid JSON

```
{"label":"Catalog,"pattern" : [{"ORTH": "Catalog"},{"IS_PUNCT": True},{"ORTH": "LW"},{"IS_PUNCT": True},{"ORTH": "No"},{"SHAPE": "ddd/dddd"}]}

```

Does it only work on local displacy because of spacy Versioning?

---

<div class="post-metadata">

**Author:** ![ines](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ines/32/3_2.png) [@ines](https://support.prodi.gy/u/ines)\
**Post date:** [June 16, 2019, 10:35am UTC](https://support.prodi.gy/t/demo-rule-based-matcher-results-a-value-error-in-search-patterns/1662/2 "2019-06-16T10:35:09Z")

</div>

I think the problem here is that in spaCy, you were using a pattern written in Python and in Prodigy, you’re using a JSON file.

In Python, boolean values are capitalised, e.g. `True` and `False`. In JSON, they’re lowercase, e.g. `true` and `false`. So the JSON validator complains, because things like `"IS_PUNCT": True` is not valid JSON. If you fix that in your pattern, it should work as expected.

---

<div class="post-metadata">

**Author:** ![ronaldoviber](https://sea2.discourse-cdn.com/flex020/user_avatar/support.prodi.gy/ronaldoviber/32/795_2.png) [@ronaldoviber](https://support.prodi.gy/u/ronaldoviber)\
**Post date:** [June 16, 2019, 11:11am UTC](https://support.prodi.gy/t/demo-rule-based-matcher-results-a-value-error-in-search-patterns/1662/3 "2019-06-16T11:11:17Z")

</div>

thank’s and sorry, stupid of me. i already passed this by changing the syntax, but I’ve missed that.

That gives a coffee to me.
