# Or-not-constraint

**URL:** <https://interlis.discourse.group/t/or-not-constraint/353>\
**Category:** Sprache INTERLIS\
**Created:** [17. Februar 2025 um 08:13 UTC](https://interlis.discourse.group/t/or-not-constraint/353 "2025-02-17T08:13:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![peterstaub](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/peterstaub/32/8_2.png) [@peterstaub](https://interlis.discourse.group/u/peterstaub)\
**Post date:** [17. Februar 2025 um 08:13 UTC](https://interlis.discourse.group/t/or-not-constraint/353/1 "2025-02-17T08:13:23Z")

</div>

Wie ist eine Konistenzbedingung der Form

```auto
MANDATORY CONSTRAINT DEFINED (xyz) OR NOT (DEFINED (xyz));

```

zu verstehen??? Macht für mein beschränktes Verständnis wenig Sinn… Gesehen im MGDM 113, [https://models.geo.admin.ch/BAFU/ERKAS\_Strassen\_V2\_0.ili](https://models.geo.admin.ch/BAFU/ERKAS_Strassen_V2_0.ili), Zeile 43.

---

<div class="post-metadata">

**Author:** ![olivergrimm](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/olivergrimm/32/147_2.png) [@olivergrimm](https://interlis.discourse.group/u/olivergrimm)\
**Post date:** [17. Februar 2025 um 09:21 UTC](https://interlis.discourse.group/t/or-not-constraint/353/2 "2025-02-17T09:21:08Z")

</div>

Aus meiner Sicht würde der Constraint auch nie failen. @peterstaub Aber auf welchen konkreten Constraint beziehst Du Deine Frage? Ich entdecke in diesem MGDM keinen, der diesem Muster entspricht.

---

<div class="post-metadata">

**Author:** ![peterstaub](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/peterstaub/32/8_2.png) [@peterstaub](https://interlis.discourse.group/u/peterstaub)\
**Post date:** [17. Februar 2025 um 09:37 UTC](https://interlis.discourse.group/t/or-not-constraint/353/3 "2025-02-17T09:37:29Z")

</div>

My bad – habe das falsche Modell angegeben!  
[https://models.geo.admin.ch/BAFU/ERKAS\_Betriebe\_V2\_0.ili](https://models.geo.admin.ch/BAFU/ERKAS_Betriebe_V2_0.ili), Zeile 43.

---

<div class="post-metadata">

**Author:** ![edigonzales](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/edigonzales/32/4_2.png) [@edigonzales](https://interlis.discourse.group/u/edigonzales)\
**Post date:** [17. Februar 2025 um 09:57 UTC](https://interlis.discourse.group/t/or-not-constraint/353/4 "2025-02-17T09:57:54Z")

</div>

Da kann man nur mutmassen: Tippfehler oder jemand meint, dass man „OPTIONAL“ nochmals explizit mit Constraints expliziter machen sollte. Who knows.

---

<div class="post-metadata">

**Author:** ![olivergrimm](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/olivergrimm/32/147_2.png) [@olivergrimm](https://interlis.discourse.group/u/olivergrimm)\
**Post date:** [17. Februar 2025 um 10:46 UTC](https://interlis.discourse.group/t/or-not-constraint/353/5 "2025-02-17T10:46:50Z")

</div>

Für mich ist entweder das vor oder nach dem OR stets TRUE und darum der Constraint so stets erfüllt.

---

<div class="post-metadata">

**Author:** ![el-wiss](https://yyz2.discourse-cdn.com/free1/user_avatar/interlis.discourse.group/el-wiss/32/209_2.png) [@el-wiss](https://interlis.discourse.group/u/el-wiss)\
**Post date:** [17. Februar 2025 um 16:01 UTC](https://interlis.discourse.group/t/or-not-constraint/353/6 "2025-02-17T16:01:42Z")

</div>

da fehlt wohl einfach eine zusätzliche Bedingung, z.B.  
MANDATORY CONSTRAINT (DEFINED (xyz) AND DEFINED (abc)) OR NOT (DEFINED (xyz));

Müsste aber bei einem Review schon auffallen.

---

<div class="post-metadata">

**Author:** ![Philippluca](https://avatars.discourse-cdn.com/v4/letter/p/59ef9b/32.png) [@Philippluca](https://interlis.discourse.group/u/Philippluca)\
**Post date:** [28. März 2025 um 10:03 UTC](https://interlis.discourse.group/t/or-not-constraint/353/7 "2025-03-28T10:03:24Z")

</div>

@el-wiss in INTERLIS 2.4 könnte der Constraint mit der Implikation noch einiges einfacher und verständlicher definiert werden.

```auto
MANDATORY CONSTRAINT DEFINED (xyz) => DEFINED(abc);

```
