| /* Copyright 2008 Google Inc. | |
| This work is licensed under a Creative Commons Attribution 2.5 License. | |
| For information, see: | |
| http://creativecommons.org/licenses/by/2.5/ | |
| For the actual license text, see: | |
| http://creativecommons.org/licenses/by/2.5/legalcode | |
| */ | |
| digraph GroupModels { | |
| /* 11 inches x 96 DPI is 1056 pixels wide */ | |
| size="11,11"; | |
| edge [fontsize=10.0 len=1.5 arrowhead=none labeldistance=1.5] | |
| node [shape=plaintext]; | |
| root = Organization; | |
| rankdir = "BT"; | |
| /* Organization -> User */ | |
| User | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD>User</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="orgs"><FONT POINT-SIZE="10.0">(orgs)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| Organization | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0" BGCOLOR="white"> | |
| <TR> | |
| <TD COLSPAN="6" PORT="founder"><FONT POINT-SIZE="10.0">founder</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD COLSPAN="6">Organization</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="school"><FONT POINT-SIZE="10.0">(school)</FONT></TD> | |
| <TD PORT="club"><FONT POINT-SIZE="10.0">(club)</FONT></TD> | |
| <TD PORT="sponsor"><FONT POINT-SIZE="10.0">(sponsor)</FONT></TD> | |
| <TD PORT="admins"><FONT POINT-SIZE="10.0">(admins)</FONT></TD> | |
| <TD PORT="authors"><FONT POINT-SIZE="10.0">(authors)</FONT></TD> | |
| <TD PORT="reviewers"><FONT POINT-SIZE="10.0">(reviewers)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgsFounder | |
| [shape=diamond label="founder-(orgs)" fontsize=10.0 style=dotted]; | |
| Organization:founder -> OrgsFounder | |
| [taillabel="1" style=dotted]; | |
| OrgsFounder -> User:orgs | |
| [headlabel="1" style=dotted]; | |
| /* School -> Organization */ | |
| School | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>School</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="students"><FONT POINT-SIZE="10.0">(students)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgSchool | |
| [shape=diamond label="org-(school)" fontsize=10.0 style=filled]; | |
| School:org -> OrgSchool | |
| [taillabel="1"]; | |
| OrgSchool -> Organization:school | |
| [headlabel="0/1" style=dashed]; | |
| /* Student -> School */ | |
| Student | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="school"><FONT POINT-SIZE="10.0">school</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Student</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="person"><FONT POINT-SIZE="10.0">person</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| SchoolStudents | |
| [shape=diamond label="school-(students)" fontsize=10.0 style=filled]; | |
| Student:school -> SchoolStudents | |
| [taillabel="1"]; | |
| SchoolStudents -> School:students | |
| [headlabel="N" style=dashed]; | |
| /* Student -> Person */ | |
| Person | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="student"><FONT POINT-SIZE="10.0">(student)</FONT></TD> | |
| <TD PORT="member"><FONT POINT-SIZE="10.0">(member)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD COLSPAN="2">Person</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| PersonStudent | |
| [shape=diamond label="person-(student)" fontsize=10.0 style=dotted]; | |
| Person:student -> PersonStudent | |
| [taillabel="1" style=dotted]; | |
| PersonStudent -> Student:person | |
| [headlabel="1" style=dotted]; | |
| /* Club -> Organization */ | |
| Club | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Club</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="members"><FONT POINT-SIZE="10.0">(members)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgClub | |
| [shape=diamond label="org-(club)" fontsize=10.0 style=filled]; | |
| Club:org -> OrgClub | |
| [taillabel="1"]; | |
| OrgClub -> Organization:club | |
| [headlabel="0/1" style=dashed]; | |
| /* Member -> Club */ | |
| Member | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="club"><FONT POINT-SIZE="10.0">club</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Member</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="person"><FONT POINT-SIZE="10.0">person</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| ClubMembers | |
| [shape=diamond label="club-(members)" fontsize=10.0 style=filled]; | |
| Member:club -> ClubMembers | |
| [taillabel="1"]; | |
| ClubMembers -> Club:members | |
| [headlabel="N" style=dashed]; | |
| /* Member -> Person */ | |
| PersonMember | |
| [shape=diamond label="person-(member)" fontsize=10.0 style=dotted]; | |
| Person:member -> PersonMember | |
| [taillabel="1" style=dotted]; | |
| PersonMember -> Member:person | |
| [headlabel="1" style=dotted]; | |
| /* Sponsor -> Organization */ | |
| Sponsor | |
| [label=< | |
| <TABLE BORDER="2" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Sponsor</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="hosts"><FONT POINT-SIZE="10.0">(hosts)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgSponsor | |
| [shape=diamond label="org-(sponsor)" fontsize=10.0 style=filled]; | |
| Sponsor:org -> OrgSponsor | |
| [taillabel="1"]; | |
| OrgSponsor -> Organization:sponsor | |
| [headlabel="0/1" style=dashed]; | |
| /* Administrator -> Organization */ | |
| Administrator | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Administrator</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="host"><FONT POINT-SIZE="10.0">(host)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgAdministrators | |
| [shape=diamond label="org-(admins)" fontsize=10.0 style=filled]; | |
| Administrator:org -> OrgAdministrators | |
| [taillabel="1"]; | |
| OrgAdministrators -> Organization:admins | |
| [headlabel="N" style=dashed]; | |
| /* Host -> Organization */ | |
| Host | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="sponsor"><FONT POINT-SIZE="10.0">sponsor</FONT></TD> | |
| <TD PORT="admin"><FONT POINT-SIZE="10.0">admin</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD COLSPAN="2">Host</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| SponsorHosts | |
| [label="sponsor-(hosts)" shape=diamond fontsize=10.0 style=filled]; | |
| Host:sponsor -> SponsorHosts | |
| [taillabel="1" labelangle=60.0]; | |
| SponsorHosts -> Sponsor:hosts | |
| [headlabel="N" style=dashed]; | |
| /* Host -> Administrator */ | |
| HostAdministrator | |
| [shape=diamond label="admin-(host)" fontsize=10.0 style=dotted]; | |
| Host:admin -> HostAdministrator | |
| [taillabel="1" style=dotted]; | |
| HostAdministrator -> Administrator:host | |
| [headlabel="1" style=dotted]; | |
| /* Author -> Organization */ | |
| Author | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Author</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="works"><FONT POINT-SIZE="10.0">(works)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgAuthors | |
| [shape=diamond label="org-(authors)" fontsize=10.0 style=filled]; | |
| Author:org -> OrgAuthors | |
| [taillabel="1"]; | |
| OrgAuthors -> Organization:authors | |
| [headlabel="N" style=dashed labelangle=75.0]; | |
| /* Work <-> Author */ | |
| Work | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="authors"><FONT POINT-SIZE="10.0">(authors)</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Work</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| WorksAuthors | |
| [label="WorksAuthors" shape=diamond fontsize=10.0 style=dotted]; | |
| Work:authors -> WorksAuthors | |
| [taillabel="N" style=dotted]; | |
| WorksAuthors -> Author:works | |
| [headlabel="N" style=dotted]; | |
| /* Reviewer -> Organization */ | |
| Reviewer | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="org"><FONT POINT-SIZE="10.0">org</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Reviewer</TD> | |
| </TR> | |
| <TR> | |
| <TD PORT="reviews"><FONT POINT-SIZE="10.0">(reviews)</FONT></TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| OrgReviewers | |
| [shape=diamond label="org-(reviewers)" fontsize=10.0 style=filled]; | |
| Reviewer:org -> OrgReviewers | |
| [taillabel="1"]; | |
| OrgReviewers -> Organization:reviewers | |
| [headlabel="N" style=dashed labelangle=75.0]; | |
| /* Review -> Reviewer */ | |
| Review | |
| [label=< | |
| <TABLE BORDER="1" CELLBORDER="0"> | |
| <TR> | |
| <TD PORT="reviewer"><FONT POINT-SIZE="10.0">reviewer</FONT></TD> | |
| </TR> | |
| <TR> | |
| <TD>Review</TD> | |
| </TR> | |
| </TABLE> | |
| >]; | |
| ReviewerReviews | |
| [label="reviewer-(reviews)" shape=diamond fontsize=10.0 | |
| style=dotted]; | |
| Review:reviewer -> ReviewerReviews | |
| [taillabel="1" style=dotted]; | |
| ReviewerReviews -> Reviewer:reviews | |
| [headlabel="N" style=dotted]; | |
| } |