<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://battery.knowledge-graph.eu/w/index.php?action=history&amp;feed=atom&amp;title=Item%3AOSWf4a9514baed04859a4c6c374a7312f10</id>
	<title>Item:OSWf4a9514baed04859a4c6c374a7312f10 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://battery.knowledge-graph.eu/w/index.php?action=history&amp;feed=atom&amp;title=Item%3AOSWf4a9514baed04859a4c6c374a7312f10"/>
	<link rel="alternate" type="text/html" href="https://battery.knowledge-graph.eu/w/index.php?title=Item:OSWf4a9514baed04859a4c6c374a7312f10&amp;action=history"/>
	<updated>2026-05-11T20:49:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://battery.knowledge-graph.eu/w/index.php?title=Item:OSWf4a9514baed04859a4c6c374a7312f10&amp;diff=154&amp;oldid=prev</id>
		<title>Maintenance script: Install package: OSW Docs - Core</title>
		<link rel="alternate" type="text/html" href="https://battery.knowledge-graph.eu/w/index.php?title=Item:OSWf4a9514baed04859a4c6c374a7312f10&amp;diff=154&amp;oldid=prev"/>
		<updated>2023-12-15T05:17:14Z</updated>

		<summary type="html">&lt;p&gt;Install package: OSW Docs - Core&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==JSON-SCHEMA: Motivation ==&lt;br /&gt;
Problem: If many JSON-Files are created over time by different people / tools, you want them to follow a certain structure&lt;br /&gt;
&amp;lt;div style=&amp;quot; column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Dataset 1&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;c&amp;quot;: 1.0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Dataset 2&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;c&amp;quot;: &amp;quot;1.0&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
They express the same information, but are different / incompatible&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Validation (1)==&lt;br /&gt;
A JSON-SCHEMA can describe and validate a JSON-Document&lt;br /&gt;
&amp;lt;div style=&amp;quot; column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Schema&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;c&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Dataset 1&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;c&amp;quot;: 1.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dataset 1 is valid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Validation (2)==&lt;br /&gt;
A JSON-SCHEMA can describe and validate a JSON-Document&lt;br /&gt;
&amp;lt;div style=&amp;quot; column-count: 3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Schema&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;c&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Dataset 2&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;c&amp;quot;: &amp;quot;1.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
Dataset 2 is not valid&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Definition==&lt;br /&gt;
What is a JSON-SCHEMA?&lt;br /&gt;
* A JSON document defining the valid structure of another JSON document&lt;br /&gt;
*The &amp;quot;type&amp;quot; keyword is special. It allows us to specify which values of a JSON object are valid! [https://json-schema.org/understanding-json-schema/basics.html#the-type-keyword]&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: the &amp;quot;type&amp;quot; Keyword ==&lt;br /&gt;
What is a JSON-SCHEMA?&lt;br /&gt;
* A JSON document defining the valid structure of another JSON document&lt;br /&gt;
*The &amp;quot;type&amp;quot; keyword is special. It allows us to specify which values of a JSON object are valid!&lt;br /&gt;
*json-schema.org defines the following basic types [https://json-schema.org/understanding-json-schema/reference/type.html#type-specific-keywords]:&lt;br /&gt;
**string&lt;br /&gt;
**number&lt;br /&gt;
**integer&lt;br /&gt;
**object&lt;br /&gt;
**array&lt;br /&gt;
**boolean&lt;br /&gt;
**null&lt;br /&gt;
==JSON-SCHEMA: Typing==&lt;br /&gt;
How to define a JSON-SCHEMA?&lt;br /&gt;
*We want to levearge the power of typing and validation&lt;br /&gt;
*Therefore, our defined key(word):value pairs need to become JSON objects, specifying a type!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Item&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;count&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;pi&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;validated&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }     &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Reference==&lt;br /&gt;
How to define a JSON-SCHEMA?&lt;br /&gt;
*We want to levearge the power of typing and validation&lt;br /&gt;
*Therefore, our defined key(word):value pairs need to become JSON objects, specifying a type!&lt;br /&gt;
*JSON (object) properties posses a keyword, which is used for reference&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Item&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;count&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;pi&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;validated&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }     &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Other Keywords (1)==&lt;br /&gt;
How to define a JSON-SCHEMA?&lt;br /&gt;
*We want to levearge the power of typing and validation&lt;br /&gt;
*Therefore, our defined key(word):value pairs need to become JSON objects, specifying a type!&lt;br /&gt;
*JSON (object) properties posses a keyword, which is used for reference&lt;br /&gt;
*JSON properties, being objects, can also have a title - e.g., for display purpose&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Item&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Name&amp;quot;,    &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;count&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Count&amp;quot;,  &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;pi&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Pi&amp;quot;,  &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;validated&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Validation status&amp;quot;,  &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
        }     &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JSON-SCHEMA: Other Keywords (2) ==&lt;br /&gt;
How to define a JSON-SCHEMA?&lt;br /&gt;
*We want to levearge the power of typing and validation&lt;br /&gt;
*Therefore, our defined key(word):value pairs need to become JSON objects, specifying a type!&lt;br /&gt;
*JSON (object) properties posses a keyword, which is used for reference&lt;br /&gt;
*JSON properties, being objects, can also have a title - e.g., for display purpose&lt;br /&gt;
*Usefull other keywords: &lt;br /&gt;
**&amp;quot;description&amp;quot; - to give a context&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Item&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Name&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;The name of the item&amp;quot;,    &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }  &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JSON-SCHEMA: Other Keywords (3) ==&lt;br /&gt;
How to define a JSON-SCHEMA?&lt;br /&gt;
*We want to levearge the power of typing and validation&lt;br /&gt;
*Therefore, our defined key(word):value pairs need to become JSON objects, specifying a type!&lt;br /&gt;
*JSON (object) properties posses a keyword, which is used for reference&lt;br /&gt;
*JSON properties, being objects, can also have a title - e.g., for display purpose&lt;br /&gt;
*Usefull other keywords: &lt;br /&gt;
**&amp;quot;description&amp;quot; - to give a context&lt;br /&gt;
**&amp;quot;default&amp;quot; - to specify a fall back if no value is entered&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Item&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;name&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Name&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;The name of the item&amp;quot;,&lt;br /&gt;
            &amp;quot;default&amp;quot;: &amp;quot;John Doe&amp;quot;,    &lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }  &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Selected Types==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Integer ==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot; - analogous to int [https://json-schema.org/understanding-json-schema/reference/numeric.html#integer]&lt;br /&gt;
** OK: 42&lt;br /&gt;
**OK: -1&lt;br /&gt;
**OK: 1.0 - Numbers with a zero fractional part are considered integers&lt;br /&gt;
**XX: 3.1415926 - Floating point numbers are rejected&lt;br /&gt;
**XX: &amp;quot;42&amp;quot; - Numbers as strings are rejected&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Number (1)==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot; - analogous to float [https://json-schema.org/understanding-json-schema/reference/numeric.html#number]&lt;br /&gt;
** OK: all of the &amp;quot;integer&amp;quot; valid values&lt;br /&gt;
**OK: 3.1415926 - Floating point numbers&lt;br /&gt;
**OK: 2.99792458e8 - Exponential notation&lt;br /&gt;
**XX: &amp;quot;42&amp;quot; - Numbers as strings are rejected&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Number (2)==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot; - analogous to float&lt;br /&gt;
** Multiples [https://json-schema.org/understanding-json-schema/reference/numeric.html#multiples]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
    &amp;quot;multipleOf&amp;quot; : 10&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JSON-SCHEMA: Number (3) ==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot; - analogous to float&lt;br /&gt;
**Multiples&lt;br /&gt;
** Range [https://json-schema.org/understanding-json-schema/reference/numeric.html#range]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
    &amp;quot;minimum&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;exclusiveMaximum&amp;quot;: 100&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: String  ==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; - analogous to str [https://json-schema.org/understanding-json-schema/reference/string.html#string]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: String Length==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; - analogous to str&lt;br /&gt;
**Length [https://json-schema.org/understanding-json-schema/reference/string.html#length]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;minLength&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;maxLength&amp;quot;: 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: String Pattern==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; - analogous to str&lt;br /&gt;
**Length&lt;br /&gt;
** Regular expressions - the &amp;quot;pattern&amp;quot; keyword [https://json-schema.org/understanding-json-schema/reference/string.html#regular-expressions]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;pattern&amp;quot;: &amp;quot;^(\\([0-9]{3}\\))?[0-9]{3}-[0-9]{4}$&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: String Format (1)==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; - analogous to str&lt;br /&gt;
**Length&lt;br /&gt;
**Regular expressions&lt;br /&gt;
**Format - the &amp;quot;format&amp;quot; keyword [https://json-schema.org/understanding-json-schema/reference/string.html#format]&lt;br /&gt;
***&amp;quot;email&amp;quot;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;format&amp;quot;: &amp;quot;email&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JSON-SCHEMA: String Format (2) ==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot; &lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot; - analogous to str&lt;br /&gt;
**Length&lt;br /&gt;
**Regular expressions&lt;br /&gt;
**Format - the &amp;quot;format&amp;quot; keyword, some examples:&lt;br /&gt;
***&amp;quot;email&amp;quot;&lt;br /&gt;
***&amp;quot;date-time&amp;quot;&lt;br /&gt;
***&amp;quot;time&amp;quot;&lt;br /&gt;
*** &amp;quot;date&amp;quot;&lt;br /&gt;
***&amp;quot;duration&amp;quot;&lt;br /&gt;
***&amp;quot;ipv4&amp;quot;&lt;br /&gt;
*** &amp;quot;uuid&amp;quot;&lt;br /&gt;
***&amp;quot;uri&amp;quot; - e.g., an URL&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {        &lt;br /&gt;
        &amp;quot;image&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Image&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;uri&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Array (1)==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; - analogous to list [https://json-schema.org/understanding-json-schema/reference/array.html#array]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Array (2)==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; - analogous to list&lt;br /&gt;
** OK: [1, 2, 3, 4, 5] - items of one type&lt;br /&gt;
**OK: [3, &amp;quot;different&amp;quot;, { &amp;quot;types&amp;quot; : &amp;quot;of values&amp;quot; }] - items of different types&lt;br /&gt;
** XX: {&amp;quot;Not&amp;quot;: &amp;quot;an array&amp;quot;}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Array Item==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; - analogous to list&lt;br /&gt;
**Specifying types for items - the &amp;quot;items&amp;quot; keyword [https://json-schema.org/understanding-json-schema/reference/array.html#items]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;items&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== JSON-SCHEMA: Array Length==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; - analogous to list&lt;br /&gt;
** Specifying types for items  - the &amp;quot;items&amp;quot; keyword&lt;br /&gt;
**Length [https://json-schema.org/understanding-json-schema/reference/array.html#length]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;minItems&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;maxItems&amp;quot;: 3&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Array Unique==&lt;br /&gt;
Some selected property types and formats&lt;br /&gt;
* &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
*&amp;quot;type&amp;quot;: &amp;quot;array&amp;quot; - analogous to list&lt;br /&gt;
**Specifying types for items&lt;br /&gt;
**Length&lt;br /&gt;
**Uniqueness [https://json-schema.org/understanding-json-schema/reference/array.html#uniqueness]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;array&amp;quot;,&lt;br /&gt;
    &amp;quot;uniqueItems&amp;quot;: true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Go-To Patterns==&lt;br /&gt;
Some JSON-SCHEMA go-to patterns&lt;br /&gt;
&lt;br /&gt;
== JSON-SCHEMA: Required==&lt;br /&gt;
Some JSON-SCHEMA go-to patterns&lt;br /&gt;
*Forcing the user to enter a value for a certain property - the &amp;quot;required&amp;quot; keyword&lt;br /&gt;
&amp;lt;div style=&amp;quot; column-count: 2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Schema&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Entity&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;required&amp;quot;: [&lt;br /&gt;
        &amp;quot;label&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;label&amp;quot;: {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
        }    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Item&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Autogeneration ==&lt;br /&gt;
Some JSON-SCHEMA go-to patterns&lt;br /&gt;
*Forcing the user to enter a value for a certain property - the &amp;quot;required&amp;quot; keyword&lt;br /&gt;
*Automatically generating a value, e.g., for a uuid&lt;br /&gt;
&amp;lt;div style=&amp;quot; column-count: 2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Schema&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Entity&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;object&amp;quot;,&lt;br /&gt;
    &amp;quot;required&amp;quot;: [&lt;br /&gt;
        &amp;quot;label&amp;quot;,&lt;br /&gt;
        &amp;quot;uuid&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;uuid&amp;quot;: {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;UUID&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;uuid&amp;quot;,&lt;br /&gt;
            &amp;quot;options&amp;quot;: {&lt;br /&gt;
                &amp;quot;hidden&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;JSON Data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Item&amp;quot;,&lt;br /&gt;
    &amp;quot;uuid&amp;quot;: &amp;quot;ae7e1570-80c2-4476-8e68-bbd3063ba085&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Options (1)==&lt;br /&gt;
Some JSON-SCHEMA go-to patterns&lt;br /&gt;
*Allowing more than one valid option - the &amp;quot;anyOf&amp;quot; keyword &lt;br /&gt;
*Allowing exactly one valid option - the &amp;quot;oneOf&amp;quot; keyword&lt;br /&gt;
&amp;lt;div&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Identifier&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;oneOf&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;UUID&amp;quot;,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;uuid&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;URI or URL&amp;quot;,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;uri&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Options (2)==&lt;br /&gt;
Some JSON-SCHEMA go-to patterns&lt;br /&gt;
*Allowing more than one valid option - the &amp;quot;anyOf&amp;quot; keyword &lt;br /&gt;
*Allowing exactly one valid option - the &amp;quot;oneOf&amp;quot; keyword&lt;br /&gt;
*Validating against several options - the &amp;quot;allOf&amp;quot; keyword&lt;br /&gt;
&amp;lt;div&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Abbreviation&amp;quot;,    &lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
    &amp;quot;allOf&amp;quot;: [&lt;br /&gt;
        &amp;quot;minLength&amp;quot;: 2,&lt;br /&gt;
        &amp;quot;maxLength&amp;quot;: 5,&lt;br /&gt;
        &amp;quot;pattern&amp;quot;: &amp;quot;[A-Z]&amp;quot;&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON-SCHEMA: Options(3)==&lt;br /&gt;
Some JSON-SCHEMA go-to patterns&lt;br /&gt;
*Allowing more than one valid option - the &amp;quot;anyOf&amp;quot; keyword &lt;br /&gt;
*Allowing exactly one valid option - the &amp;quot;oneOf&amp;quot; keyword&lt;br /&gt;
*Validating against several options - the &amp;quot;allOf&amp;quot; keyword&lt;br /&gt;
*Excluding one option  - the &amp;quot;not&amp;quot; keyword&lt;br /&gt;
&amp;lt;div&amp;gt; &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Abbreviation&amp;quot;,    &lt;br /&gt;
    &amp;quot;not&amp;quot;: [&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;integer&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;null&amp;quot;,&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;  &lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==JSON Documents: Next==&lt;br /&gt;
*[[Item:OSW911488771ea449a6a34051f8213d7f2f]] [{{fullurl:Item:OSW911488771ea449a6a34051f8213d7f2f&lt;br /&gt;
|reveal=true&lt;br /&gt;
}} Slideshow]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>