<?xml version="1.0" encoding="UTF-8"?>
<!--
  ****************************************************************
ERmodel_v1.2/instances/catalogue/src/conceptualModels/2RegularHypergraph.xml 
****************************************************************

Copyright 2016, 2107 Cyprotex Discovery Ltd.

This file is part of the the ERmodel suite of models and transforms.

The ERmodel suite is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

ERmodel suite is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
****************************************************************
-->
<entity_model xmlns="http://www.entitymodelling.org/ERmodel">
   <presentation>
      <diagram>
         <deltaw>0.9</deltaw>
      </diagram>
   </presentation>
   <absolute>
      <name>entity_model</name>
      <composition>
         <type>entity type</type>
         <cardinality>
            <ZeroOneOrMore/>
         </cardinality>
         <diagram>
            <path>
               <destattach>0.66</destattach>
            </path>
         </diagram>
      </composition>
   </absolute>
   <entity_type>
      <name>entity type</name>
      <presentation>
         <x>4.7</x>
         <y>1.0</y>
         <w>4.0</w>
         <h>1.0</h>
      </presentation>
      <attribute xmlns:era="http://www.entitymodelling.org/ERmodel">
         <name>name</name>
         <type>
            <string/>
         </type>
         <identifying/>
      </attribute>
      <composition>
         <cardinality>
            <ZeroOneOrMore/>
         </cardinality>
         <type>entity type</type>
         <diagram>
            <path>
               <srcattach>0.33</srcattach>
               <destattach>0.33</destattach>
               <hstep>
                  <absdim>
                     <src>-2.0</src>
                  </absdim>
               </hstep>
            </path>
         </diagram>
      </composition>
      <composition>
         <cardinality>
            <ZeroOneOrMore/>
         </cardinality>
         <type>attribute</type>
         <identifying/>
         <diagram>
            <path>
               <srcarmlen>0.4</srcarmlen>
            </path>
         </diagram>
      </composition>
      <composition>
         <cardinality>
            <ZeroOneOrMore/>
         </cardinality>
         <type>expressible relationship</type>
         <identifying/>
         <diagram>
            <path>
               <align>
                  <ToSrc/>
               </align>
            </path>
         </diagram>
      </composition>
   </entity_type>
   <group>
      <name>entity_type_children</name>
      <presentation>
         <below>entity type</below>
      </presentation>
      <entity_type>
         <name>attribute</name>
         <presentation>
            <y>0.2</y>
         </presentation>
         <attribute xmlns:era="http://www.entitymodelling.org/ERmodel">
            <name>name</name>
            <type>
               <string/>
            </type>
            <identifying/>
         </attribute>
         <attribute xmlns:era="http://www.entitymodelling.org/ERmodel">
            <name>isIdentifying</name>
            <type>
               <string/>
            </type>
            <identifying/>
         </attribute>
      </entity_type>
      <entity_type>
         <name>expressible relationship</name>
         <presentation>
            <rightOf>attribute</rightOf>
            <deltaw>0.10</deltaw>
         </presentation>
         <entity_type>
            <name>core relationship</name>
            <presentation>
               <deltaw>0.88</deltaw>
            </presentation>
            <entity_type>
               <name>reference</name>
               <presentation>
                  <x>3.2</x>
                  <h>2.0</h>
               </presentation>
               <reference>
                  <name>inverse</name>
                  <cardinality>
                     <ZeroOrOne/>
                  </cardinality>
                  <type>reference</type>
                  <inverse>inverse</inverse>
                  <diagram>
                     <path>
                        <srcattach>0.2</srcattach>
                        <destattach>0.2</destattach>
                     </path>
                  </diagram>
               </reference>
               <reference>
                  <name>scopedBy</name>
                  <cardinality>
                     <ZeroOrOne/>
                  </cardinality>
                  <type>expressible relationship</type>
                  <diagram>
                     <path>
                        <srcattach>0.8</srcattach>
                        <destattach>0.7</destattach>
                        <srcarmlen>0.8</srcarmlen>
                        <destarmlen>0.5</destarmlen>
                        <destsign>-1</destsign>
                        <vstep>
                           <absdim>
                              <src>1.1</src>
                           </absdim>
                        </vstep>
                        <label>
                           <position>
                              <Upside/>
                           </position>
                        </label>
                     </path>
                  </diagram>
               </reference>
            </entity_type>
            <entity_type>
               <name>composition</name>
               <presentation>
                  <w>1.8</w>
               </presentation>
               <reference>
                  <name>inverse</name>
                  <cardinality>
                     <ZeroOrOne/>
                  </cardinality>
                  <type>dependency</type>
                  <inverse>inverse_of</inverse>
                  <diagram>
                     <path>
                        <srcarmlen>1.0</srcarmlen>
                        <destarmlen>1.0</destarmlen>
                        <label>
                           <position>
                              <Downside/>
                           </position>
                        </label>
                     </path>
                  </diagram>
               </reference>
            </entity_type>
            <entity_type>
               <name>dependency</name>
               <presentation>
                  <below>composition</below>
                  <w>1.8</w>
               </presentation>
               <reference>
                  <name>inverse_of</name>
                  <cardinality>
                     <ZeroOrOne/>
                  </cardinality>
                  <type>composition</type>
                  <inverse>inverse</inverse>
               </reference>
            </entity_type>
         </entity_type>
         <group>
            <name>non-core relationships</name>
            <presentation>
               <rightOf>core relationship</rightOf>
               <x>1.0</x>
               <y>-0.5</y>
            </presentation>
            <entity_type>
               <name>identity relationship</name>
               <presentation>
                  <w>1.8</w>
                  <name>
                     <Split/>
                  </name>
               </presentation>
            </entity_type>
            <entity_type>
               <name>constructed relationship</name>
               <presentation>
                  <below>identity relationship</below>
                  <name>
                     <Split/>
                  </name>
               </presentation>
               <reference>
                  <name>inverse</name>
                  <cardinality>
                     <ZeroOrOne/>
                  </cardinality>
                  <type>constructed relationship</type>
                  <inverse>inverse</inverse>
                  <diagram>
                     <path/>
                  </diagram>
               </reference>
               <composition>
                  <type>component</type>
                  <cardinality>
                     <ZeroOneOrMore/>
                  </cardinality>
                  <sequence/>
               </composition>
               <entity_type>
                  <name>join</name>
                  <presentation>
                     <w>1.8</w>
                  </presentation>
                  <attribute xmlns:era="http://www.entitymodelling.org/ERmodel">
                     <name>recurse</name>
                     <type>
                        <string/>
                     </type>
                  </attribute>
               </entity_type>
               <entity_type>
                  <name>aggregate</name>
                  <presentation>
                     <below>join</below>
                     <w>1.8</w>
                  </presentation>
               </entity_type>
            </entity_type>
         </group>
         <reference>
            <cardinality>
               <ExactlyOne/>
            </cardinality>
            <name>type</name>
            <type>entity type</type>
            <identifying/>
            <diagram>
               <path>
                  <srcattach>0.3</srcattach>
                  <destattach>0.8</destattach>
                  <srcarmlen>0.3</srcarmlen>
                  <hstep>
                     <absdim>
                        <src>0.1</src>
                     </absdim>
                  </hstep>
               </path>
            </diagram>
         </reference>
         <composition>
            <type>sequence</type>
            <cardinality>
               <ZeroOrOne/>
            </cardinality>
            <diagram>
               <path>
                  <align>
                     <ToDest/>
                  </align>
               </path>
            </diagram>
         </composition>
         <attribute xmlns:era="http://www.entitymodelling.org/ERmodel">
            <name>name</name>
            <type>
               <string/>
            </type>
            <identifying/>
            <optional/>
         </attribute>
         <choice>
            <name>cardinality</name>
            <from>Cardinality</from>
         </choice>
      </entity_type>
   </group>
   <group>
      <name>entity_type_grandchildren</name>
      <presentation>
         <below>entity_type_children</below>
         <y>0.6</y>
      </presentation>
      <entity_type>
         <name>sequence</name>
         <presentation/>
      </entity_type>
   </group>
   <entity_type>
      <name>component</name>
      <presentation>
         <below>constructed relationship</below>
         <y>1.0</y>
         <w>2.5</w>
         <h>2.0</h>
      </presentation>
      <reference>
         <name>rel</name>
         <type>expressible relationship</type>
         <cardinality>
            <ZeroOrOne/>
         </cardinality>
         <diagram>
            <path>
               <destattach>0.75</destattach>
               <srcarmlen>1.3</srcarmlen>
               <hstep>
                  <absdim>
                     <src>0.1</src>
                  </absdim>
               </hstep>
            </path>
         </diagram>
      </reference>
      <reference>
         <name>src</name>
         <type>entity type</type>
         <cardinality>
            <ZeroOrOne/>
         </cardinality>
         <diagram>
            <path>
               <srcsign>1</srcsign>
               <destattach>0.6</destattach>
               <srcarmlen>1.5</srcarmlen>
               <hstep>
                  <absdim>
                     <src>0.1</src>
                  </absdim>
               </hstep>
            </path>
         </diagram>
      </reference>
      <reference>
         <name>dest</name>
         <type>entity type</type>
         <cardinality>
            <ZeroOrOne/>
         </cardinality>
         <diagram>
            <path>
               <srcsign>1</srcsign>
               <destattach>0.4</destattach>
               <srcarmlen>1.7</srcarmlen>
               <hstep>
                  <absdim>
                     <src>0.1</src>
                  </absdim>
               </hstep>
            </path>
         </diagram>
      </reference>
   </entity_type>
   <enumeration_type>
      <name>Cardinality</name>
      <enumeration_value>
         <literal>
          ZeroOrOne
       </literal>
      </enumeration_value>
      <enumeration_value>
         <literal>
          ExactlyOne
       </literal>
      </enumeration_value>
      <enumeration_value>
         <literal>
          ZeroOneOrMore
       </literal>
      </enumeration_value>
      <enumeration_value>
         <literal>
          OneOrMore
       </literal>
      </enumeration_value>
   </enumeration_type>
   <enumeration_type>
      <name>ValueType</name>
      <enumeration_value>
         <literal>
          string
       </literal>
      </enumeration_value>
      <enumeration_value>
         <literal>
          integer
       </literal>
      </enumeration_value>
      <enumeration_value>
         <literal>
          boolean
       </literal>
      </enumeration_value>
      <enumeration_value>
         <literal>
          float
       </literal>
      </enumeration_value>
   </enumeration_type>
</entity_model>
