Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: update explanation

...

Documentation

UML diagram for example edge rule

ExampleEquivalent ExampleExplanation
Code Block
languagejs
titleExample Edge Rule
collapsetrue
{
“from”: “tenant”,
“to”: “vserver”,
“label”: “owns”,
“direction”: “OUT”,
“multiplicity”: “One2Many”,
“contains-other-v”: “${direction}”,
“delete-other-v”: “NONE”,
“SVC-INFRA”: “!${direction}”,
“prevent-delete”: “${direction}”
}
Code Block
languagejs
titleEquivalent
Example
Edge Rule
collapsetrue
{
“from”: “vserver”,
“to”: “tenant”,
“label”: “owns”,
“direction”: “IN”,
“multiplicity”: 
“Many2One”
“One2Many”,
“contains-other-v”: 
“!$
“${direction}”,
“delete-other-v”: “NONE”,
“SVC-INFRA”: 
“$
“!${direction}”,
“prevent-delete”: 
“!$
“${direction}”
}

How to read "from"/"to" and "direction":

  • the "in" node is "vserver"
  • the "out" node is "tenant"

How to read the "label":

  • ("out" node) "label" ("in" node)
    • i.e. tenant "owns" vserver

How to read "multiplicity":

  • ("in" node) cardinality is "one"
    • i.e. Each "tenant" has one "vserver"
  • ("out" node) cardinality is "many"
    • i.e. Each "vserver" has many "tenants"

How to read "contains-other-v":

  • traversal of ("out" node) includes data for ("in" node)
    • i.e. traversal of "tenant" includes data for "vserver"

How to read "delete-other-v":

  • delete of ("out" node) includes does nothing to ("in" node)
    • i.e. delete of "tenant"
cannot be deleted if related
    • includes does nothing to "vserver"

How to read "SVC-INFRA"

if "vserver" is deleted, nothing is done to "tenant

:

  • ?

How to read "prevent-delete":

  • delete of ("out" node) is prevented when related to ("in" node)
    • i.e. delete of "tenant" is prevented when related to "vserver"




General Applicability

  • EdgeRules only apply to "relationship-list" relations in the schema, since the referenced object could be anything
  • EdgeRules do no apply to sub-component relations in the schema, since this is implicit and hard-coded behaviour

...