You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a toggleable editor mode, that when turned on,
Highlights, in pale red, all LDS syntax errors (violations of the rules defined below). All items contributing to an error should be highlighted.
When an item contributing to an error is clicked,
a message should appear explaining all syntax errors on that item.
it should visibly bolden in a brighter red, along with the other items that contribute to the same error.
If an item contributes to more than one syntax error, the first in priority order (as in the list below) will be the one that causes other elements to bolden.
A graph can be saved regardless of whether it has syntax errors.
Rules:
Each entity, attribute, relationship, and link has an official name that is unique. (Ignore the relationship naming until that is a feature.)
Identifiers:
Each entity has at least one identifier (in its attributes, or on one of its endpoints, there should be at least one bar).
There cannot be any cycles of identification dependency.
This happens if there is a barred link from A to B, and another from B to C, and a third from C back to A.
Both ends of a relationship cannot contribute to an identifier. This is a special case where A depends on B, and B in turn also depends on A.
A reflexive relationship cannot contribute to an identifier. This is a special case where A depends on itself.
There cannot be a bar and a chicken foot connected to an entity that has no other bars.
There cannot be a bar and no chicken foot connected to an entity that does have other bars.
There cannot be a bar opposite a chicken foot, unless the bar connects to an entity with no other bars.
No identifier can be a strict subset of another. If the secondary "squiggle"-type identifier is implemented, this becomes a possibility. On an entity, the items with squiggles cannot be a strict subset of the items with bars, or vice-versa.
Labels:
A relationship has either zero or two labels.
All 1:1 relationships have labels.
All reflexive relationships have labels.
Between any pair of entities, there is at most one unlabeled relationship.
"To-be" relationships (labeled "be" at both ends):
They are all or nothing: you cannot label one end of a relationship "be" and the other end with anything other than "be".
They can only be on 1:1 relationships.
They cannot be on reflexive relationships.
Between any pair of entities, there is at most one "to-be" relationship.
These rules should be made into individual feature issues, once a an architecture is defined that will ultimately enable all of these to work.
The text was updated successfully, but these errors were encountered:
This is a toggleable editor mode, that when turned on,
A graph can be saved regardless of whether it has syntax errors.
Rules:
These rules should be made into individual feature issues, once a an architecture is defined that will ultimately enable all of these to work.
The text was updated successfully, but these errors were encountered: