227
edits
Line 73: | Line 73: | ||
** SocialUnionTypes(<u>Id</u>, Label, Style) | ** SocialUnionTypes(<u>Id</u>, Label, Style) | ||
** SocialUnionMembers(RelationId, MemberId, UnionId) | ** SocialUnionMembers(RelationId, MemberId, UnionId) | ||
; FamilyRelations | ; FamilyRelations | ||
Line 89: | Line 90: | ||
: If necessary add a Type field to describe directional relations (i.e. (King, Mistress) vs (Queen, Lover or whatever the equivalent for Male Mistress is)) | : If necessary add a Type field to describe directional relations (i.e. (King, Mistress) vs (Queen, Lover or whatever the equivalent for Male Mistress is)) | ||
: Redundant? When character A has child B (FamilyRelations) and forms a relationship with character C (SocialUnionMembers). Force add FamilyRelations entry between B and C? | : Redundant? When character A has child B (FamilyRelations) and forms a relationship with character C (SocialUnionMembers). Force add FamilyRelations entry between B and C? | ||
* Almost all (if not all) social relations can be derived from those tables | |||
** Brothers = GetBrothers(Sister) = {Brother ∈ Characters | isMale Brother && ∀ Parent ∈ Characters( Sister isChildOf Parent && Brother isChildOf Parent ) } | |||
** Aunt = GetAunts(NephewOrNiece) = { Aunt ∈ Characters | isFemale Aunt && ∃ Parent ∈ Characters ( NephewOrNiece isChildOf Parent && (Parent isSiblingOf Aunt || Parent isSiblingInLawOf Aunt) ) } | |||
** etc. | |||
; Example | ; Example |
edits