Skip to content

Commit 91f74d3

Browse files
[feat] Graph Composition (subgraph / supergraph) docs (#91)
* Flat: latest data (2022-07-15T00:05:18.517Z) { "date": "2022-07-15T00:05:18.517Z", "files": [ { "name": "landscape-items-clean.json", "deltaBytes": -415, "source": "https://landscape.cncf.io/data/items.json" }, { "name": "landscape-items.json", "deltaBytes": -209, "source": "https://landscape.cncf.io/data/items.json" } ] } Signed-off-by: Matt Young <[email protected]> * Flat: latest data (2022-07-16T00:05:37.097Z) { "date": "2022-07-16T00:05:37.097Z", "files": [ { "name": "landscape-items-clean.json", "deltaBytes": 10943, "source": "https://landscape.cncf.io/data/items.json" }, { "name": "landscape-items.json", "deltaBytes": 9687, "source": "https://landscape.cncf.io/data/items.json" } ] } Signed-off-by: Matt Young <[email protected]> * Flat: latest data (2022-07-17T00:04:46.190Z) { "date": "2022-07-17T00:04:46.190Z", "files": [ { "name": "landscape-items-clean.json", "deltaBytes": 248, "source": "https://landscape.cncf.io/data/items.json" }, { "name": "landscape-items.json", "deltaBytes": 54, "source": "https://landscape.cncf.io/data/items.json" } ] } Signed-off-by: Matt Young <[email protected]> * Flat: latest data (2022-07-18T00:04:51.054Z) { "date": "2022-07-18T00:04:51.054Z", "files": [ { "name": "landscape-items-clean.json", "deltaBytes": 240, "source": "https://landscape.cncf.io/data/items.json" }, { "name": "landscape-items.json", "deltaBytes": 176, "source": "https://landscape.cncf.io/data/items.json" } ] } Signed-off-by: Matt Young <[email protected]> * 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]> * Sub-Graph Packs: data model extensibility Related to: #2 #4 Signed-off-by: Matt Young <[email protected]> * resources: grandstack blogs Signed-off-by: Matt Young <[email protected]> * resources: Cloud Native Application Bundles Related to https://github.com/cncf/landscape-graph/issues/42∑ Signed-off-by: Matt Young <[email protected]> * sgp --> sgm, misc docs Signed-off-by: Matt Young <[email protected]> * apps/panorama: initial project creation Signed-off-by: Matt Young <[email protected]> * apps/panorama: WIP Signed-off-by: Matt Young <[email protected]> * apps/panorama: WIP Signed-off-by: Matt Young <[email protected]> * add: github.com GraphQL schema SDL octokit/graphql-schema@34d7f06 Signed-off-by: Matt Young <[email protected]> * [chore] Basic fed2 boilerplate example, references Signed-off-by: Matt Young <[email protected]> * [chore] remove Angular sample app prototype Signed-off-by: Matt Young <[email protected]> Co-authored-by: flat-data <[email protected]>
1 parent fa827a7 commit 91f74d3

14 files changed

+61107
-8997
lines changed

db/A/A.graphql

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
type Query {
2+
a: A!
3+
}
4+
5+
type A @key(fields: "k") {
6+
k: Int
7+
v1: Int
8+
v2: String
9+
}

db/B/B.graphql

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
type A @key(fields: "k") {
2+
k: Int
3+
v1: Int!
4+
v3: Int
5+
}
+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: TOC
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+
}

db/query.graphql

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
a {
3+
__typename
4+
v1
5+
v2
6+
v3
7+
}
8+
}

0 commit comments

Comments
 (0)