Constraints

In der Konfiguration der Objektarten im Feature-Provider können Schema-Einschränkungen dokumentiert werden. Diese werden z.B. bei der Erzeugung von JSON-Schema-Dokumenten verwendet.

NameDefaultBeschreibungTypSeit
codelist
Identifiziert eine Codelist, die für die Eigenschaft gilt. Nur bei String- oder Integer-Eigenschaften sinnvoll.
string
v2.0
enum
Liste von erlaubten Werten für die Eigenschaft. Nur bei String- oder Integer-Eigenschaften sinnvoll.
array
v2.0
regex
Ein regulärer Ausdruck, der von allen Werten erfüllt werden muss. Nur bei String-Eigenschaften sinnvoll.
string
v2.0
required
Eine Eigenschaft kann als Pflichteigenschaft, die in allen Instanzen gesetzt sein muss, qualifiziert werden.
boolean
v2.0
min
Mindestwert für alle Instanzen. Nur bei numerischen Eigenschaften sinnvoll.
number
v2.0
max
Maximalwert für alle Instanzen. Nur bei numerischen Eigenschaften sinnvoll.
number
v2.0
minOccurrence
Mindestanzahl von Werten für alle Instanzen. Nur bei Array-Eigenschaften sinnvoll.
number
v2.0
maxOccurrence
Maximalanzahl von Werten für alle Instanzen. Nur bei Array-Eigenschaften sinnvoll.
number
v2.0
composite
Indikator, dass alle Einzelgeometrien zusammenhängen. Nur bei MultiLineString- und MultiPolygon-Eigenschaften sinnvoll.
boolean
v2.0
closed
Indikator, dass die Geometrie geschlossen ist. Nur bei Geometrie-Eigenschaften sinnvoll.
boolean
v2.0

Als Beispiel hier die Eigenschaften der Abschnitte/Äste-Featuresopen in new window in der API Straßennetz und Unfälle in NRWopen in new window mit Constraints:


types:
 abschnitteaeste:
   label: Abschnitte und Äste
   sourcePath: /abschnitteaeste
   type: OBJECT
   properties:
     kennung:
       label: Kennung
       description: 16-stellige Kennung des Abschnittes oder Astes
       sourcePath: abs
       type: STRING
       role: ID
       constraints:
         regex: '^[0-9]{7}[A-Z][0-9]{7}[A-Z]$'
     strasse:
       label: Straße
       type: OBJECT
       objectType: Strasse
       properties:
         bez:
           label: Straßenbezeichnung
           sourcePath: strbez
           type: STRING
         klasse:
           label: Straßenklasse
           sourcePath: strkl
           type: STRING
           constraints:
             enum:
             - A
             - B
             - L
             - K
         nummer:
           label: Straßennummer
           sourcePath: strnr
           type: INTEGER
           constraints:
             min: 1
             max: 9999
         zusatz:
           label: Buchstabenzusatz
           description: Buchstabenzusatz zur Straßennummer
           sourcePath: strzus
           type: STRING
           constraints:
             regex: '^[A-Z]$'
     ...
     absast:
       label: Art
       description: Art des Abschnittes oder Astes
       sourcePath: absast
       type: STRING
       constraints:
         enum:
         - Abschnitt
         - Ast
     ...
     laenge_m:
       label: Länge [m]
       description: Länge des Abschnittes oder Astes (m)
       sourcePath: laenge
       type: INTEGER
       constraints:
         min: 0