Skip to content

Commit fe461bb

Browse files
committed
GraphQL is the source of data mode truth
- add landscape-graph-core-schema.gql = put in place sgp extensibility mechanism * #4 * #2 * #42 Signed-off-by: Matt Young <[email protected]>
1 parent 843b8e1 commit fe461bb

10 files changed

+1082
-754
lines changed

db/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Graph Data Model
Loading
499 KB
Loading

db/core/generated/landscape-graph-core.svg

+1
Loading
+209
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
type Card {
2+
name: someCard
3+
isAProject: Project @relationship(type: "IS_A", direction: OUT)
4+
isAMember: Member @relationship(type: "IS_A", direction: OUT)
5+
inCatCategory: Category @relationship(type: "IN_CAT", direction: OUT)
6+
}
7+
8+
type Project {
9+
name: someProject
10+
cardIsA: Card @relationship(type: "IS_A", direction: IN)
11+
usesLicense: License @relationship(type: "USES", direction: OUT)
12+
usesLanguage: Language @relationship(type: "USES", direction: OUT)
13+
ownsGitrepo: GitRepo @relationship(type: "OWNS", direction: OUT)
14+
inScopeTagrp: TAGrp @relationship(type: "IN_SCOPE", direction: OUT)
15+
isPlvlPlvl: PLvl @relationship(type: "IS_PLVL", direction: OUT)
16+
inCatCategory: Category @relationship(type: "IN_CAT", direction: OUT)
17+
projroleServed: ProjRole @relationship(type: "SERVED", direction: IN)
18+
}
19+
20+
type Member {
21+
name: someMember
22+
cardIsA: Card @relationship(type: "IS_A", direction: IN)
23+
isMlvlMlvl: MLvl @relationship(type: "IS_MLVL", direction: OUT)
24+
memberOfEugrp: EUGrp @relationship(type: "MEMBER_OF", direction: OUT)
25+
ownsOrganization: Organization @relationship(type: "OWNS", direction: OUT)
26+
inCatCategory: Category @relationship(type: "IN_CAT", direction: OUT)
27+
}
28+
29+
type License {
30+
name: someLicense
31+
projectUses: Project @relationship(type: "USES", direction: IN)
32+
}
33+
34+
type Language {
35+
name: someLanguage
36+
projectUses: Project @relationship(type: "USES", direction: IN)
37+
}
38+
39+
type GitRepo {
40+
name: someGitRepo
41+
projectOwns: Project @relationship(type: "OWNS", direction: IN)
42+
partOfGitorg: GitOrg @relationship(type: "PART_OF", direction: OUT)
43+
personIsMaintainer: Person @relationship(type: "IS_MAINTAINER", direction: IN)
44+
branchPartOf: Branch @relationship(type: "PART_OF", direction: IN)
45+
}
46+
47+
type GitOrg {
48+
name: someGitOrg
49+
gitrepoPartOf: GitRepo @relationship(type: "PART_OF", direction: IN)
50+
}
51+
52+
type TAGrp {
53+
name: someTAGrp
54+
projectInScope: Project @relationship(type: "IN_SCOPE", direction: IN)
55+
tagroleServed: TagRole @relationship(type: "SERVED", direction: IN)
56+
}
57+
58+
type Person {
59+
name: somePerson
60+
isMaintainerGitrepo: GitRepo @relationship(type: "IS_MAINTAINER", direction: OUT)
61+
authoredCommit: Commit @relationship(type: "AUTHORED", direction: OUT)
62+
reviewedPr: PR @relationship(type: "REVIEWED", direction: OUT)
63+
approvedPr: PR @relationship(type: "APPROVED", direction: OUT)
64+
createdPr: PR @relationship(type: "CREATED", direction: OUT)
65+
hasRoleTagrole: TagRole @relationship(type: "HAS_ROLE", direction: OUT)
66+
hasRoleEurole: EuRole @relationship(type: "HAS_ROLE", direction: OUT)
67+
hasRoleProjrole: ProjRole @relationship(type: "HAS_ROLE", direction: OUT)
68+
hasRoleTocrole: TocRole @relationship(type: "HAS_ROLE", direction: OUT)
69+
isBoardOrganization: Organization @relationship(type: "IS_BOARD", direction: OUT)
70+
isEmployeeInvestor: Investor @relationship(type: "IS_EMPLOYEE", direction: OUT)
71+
postedTweet: Tweet @relationship(type: "POSTED", direction: OUT)
72+
postedBlog: Blog @relationship(type: "POSTED", direction: OUT)
73+
postedLipost: LIPost @relationship(type: "POSTED", direction: OUT)
74+
organizationEmployed: Organization @relationship(type: "EMPLOYED", direction: IN)
75+
}
76+
77+
type Commit {
78+
name: someCommit
79+
personAuthored: Person @relationship(type: "AUTHORED", direction: IN)
80+
partOfBranch: Branch @relationship(type: "PART_OF", direction: OUT)
81+
prContains: PR @relationship(type: "CONTAINS", direction: IN)
82+
}
83+
84+
type Branch {
85+
name: someBranch
86+
commitPartOf: Commit @relationship(type: "PART_OF", direction: IN)
87+
partOfGitrepo: GitRepo @relationship(type: "PART_OF", direction: OUT)
88+
prChanged: PR @relationship(type: "CHANGED", direction: IN)
89+
}
90+
91+
type EUGrp {
92+
name: someEUGrp
93+
memberMemberOf: Member @relationship(type: "MEMBER_OF", direction: IN)
94+
euroleServed: EuRole @relationship(type: "SERVED", direction: IN)
95+
}
96+
97+
type PR {
98+
name: somePR
99+
personReviewed: Person @relationship(type: "REVIEWED", direction: IN)
100+
personApproved: Person @relationship(type: "APPROVED", direction: IN)
101+
personCreated: Person @relationship(type: "CREATED", direction: IN)
102+
containsCommit: Commit @relationship(type: "CONTAINS", direction: OUT)
103+
changedBranch: Branch @relationship(type: "CHANGED", direction: OUT)
104+
}
105+
106+
type Category {
107+
name: someCategory
108+
cardInCat: Card @relationship(type: "IN_CAT", direction: IN)
109+
projectInCat: Project @relationship(type: "IN_CAT", direction: IN)
110+
memberInCat: Member @relationship(type: "IN_CAT", direction: IN)
111+
}
112+
113+
type MLvl {
114+
name: someMLvl
115+
memberIsMlvl: Member @relationship(type: "IS_MLVL", direction: IN)
116+
}
117+
118+
type PLvl {
119+
name: somePLvl
120+
projectIsPlvl: Project @relationship(type: "IS_PLVL", direction: IN)
121+
}
122+
123+
type Organization {
124+
name: someOrganization
125+
memberOwns: Member @relationship(type: "OWNS", direction: IN)
126+
personIsBoard: Person @relationship(type: "IS_BOARD", direction: IN)
127+
isSubOrganization: Organization @relationship(type: "IS_SUB", direction: OUT)
128+
organizationIsSub: Organization @relationship(type: "IS_SUB", direction: IN)
129+
operatesInIndustry: Industry @relationship(type: "OPERATES_IN", direction: OUT)
130+
employedPerson: Person @relationship(type: "EMPLOYED", direction: OUT)
131+
hqInCity: City @relationship(type: "HQ_IN", direction: OUT)
132+
fundingFunded: Funding @relationship(type: "FUNDED", direction: IN)
133+
}
134+
135+
type Industry {
136+
name: someIndustry
137+
organizationOperatesIn: Organization @relationship(type: "OPERATES_IN", direction: IN)
138+
}
139+
140+
type Investor {
141+
name: someInvestor
142+
personIsEmployee: Person @relationship(type: "IS_EMPLOYEE", direction: IN)
143+
fundedFunding: Funding @relationship(type: "FUNDED", direction: OUT)
144+
}
145+
146+
type Funding {
147+
name: someFunding
148+
investorFunded: Investor @relationship(type: "FUNDED", direction: IN)
149+
fundedOrganization: Organization @relationship(type: "FUNDED", direction: OUT)
150+
}
151+
152+
type TagRole {
153+
name: someTagRole
154+
personHasRole: Person @relationship(type: "HAS_ROLE", direction: IN)
155+
servedTagrp: TAGrp @relationship(type: "SERVED", direction: OUT)
156+
}
157+
158+
type EuRole {
159+
name: someEuRole
160+
personHasRole: Person @relationship(type: "HAS_ROLE", direction: IN)
161+
servedEugrp: EUGrp @relationship(type: "SERVED", direction: OUT)
162+
}
163+
164+
type ProjRole {
165+
name: someProjRole
166+
personHasRole: Person @relationship(type: "HAS_ROLE", direction: IN)
167+
servedProject: Project @relationship(type: "SERVED", direction: OUT)
168+
}
169+
170+
type TocRole {
171+
name: someTocRole
172+
personHasRole: Person @relationship(type: "HAS_ROLE", direction: IN)
173+
servedToc: TOC @relationship(type: "SERVED", direction: OUT)
174+
}
175+
176+
type TOC {
177+
name: Technical Oversight Committee
178+
tocroleServed: TocRole @relationship(type: "SERVED", direction: IN)
179+
}
180+
181+
type City {
182+
name: someCity
183+
organizationHqIn: Organization @relationship(type: "HQ_IN", direction: IN)
184+
}
185+
186+
type Tweet {
187+
name: someTweet
188+
personPosted: Person @relationship(type: "POSTED", direction: IN)
189+
containsTagHashtag: Hashtag @relationship(type: "CONTAINS_TAG", direction: OUT)
190+
}
191+
192+
type Blog {
193+
name: someBlog
194+
personPosted: Person @relationship(type: "POSTED", direction: IN)
195+
containsTagHashtag: Hashtag @relationship(type: "CONTAINS_TAG", direction: OUT)
196+
}
197+
198+
type LIPost {
199+
name: someLIPost
200+
personPosted: Person @relationship(type: "POSTED", direction: IN)
201+
containsTagHashtag: Hashtag @relationship(type: "CONTAINS_TAG", direction: OUT)
202+
}
203+
204+
type Hashtag {
205+
name: someHashtag
206+
tweetContainsTag: Tweet @relationship(type: "CONTAINS_TAG", direction: IN)
207+
blogContainsTag: Blog @relationship(type: "CONTAINS_TAG", direction: IN)
208+
lipostContainsTag: LIPost @relationship(type: "CONTAINS_TAG", direction: IN)
209+
}

0 commit comments

Comments
 (0)