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