-
Notifications
You must be signed in to change notification settings - Fork 25
/
types.js
58 lines (53 loc) · 1.69 KB
/
types.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
module.exports = (languages) => `
type Collection implements Node {
type: String,
prefLabel: LanguageMap,
member: [Concept] @link(from: "member___NODE")
}
type ConceptScheme implements Node {
type: String,
title: LanguageMap,
dc_title: LanguageMap,
prefLabel: LanguageMap,
description: LanguageMap,
dc_description: LanguageMap,
hasTopConcept: [Concept] @link(from: "hasTopConcept___NODE"),
languages: [String]
}
type Concept implements Node {
type: String,
prefLabel: LanguageMap,
altLabel: LanguageMapArray,
hiddenLabel: LanguageMapArray,
definition: LanguageMap,
note: LanguageMapArray,
changeNote: LanguageMapArray,
editorialNote: LanguageMapArray,
historyNote: LanguageMapArray,
scopeNote: LanguageMapArray,
notation: [String],
example: LanguageMap,
topConceptOf: [ConceptScheme] @link(from: "topConceptOf___NODE"),
narrower: [Concept] @link(from: "narrower___NODE"),
narrowerTransitive: [Concept] @link(from: "narrowerTransitive___NODE"),
narrowMatch: [Concept],
broader: Concept @link(from: "broader___NODE"),
broaderTransitive: [Concept] @link(from: "broaderTransitive___NODE"),
broadMatch: [Concept],
related: [Concept] @link(from: "related___NODE"),
relatedMatch: [Concept],
closeMatch: [Concept],
exactMatch: [Concept],
inScheme: [ConceptScheme] @link(from: "inScheme___NODE"),
inSchemeAll: [ConceptScheme],
hub: String,
deprecated: Boolean,
isReplacedBy: [Concept]
}
type LanguageMap {
${[...languages].map((l) => `${l}: String`).join(", ")}
}
type LanguageMapArray {
${[...languages].map((l) => `${l}: [String]`).join(", ")}
}
`