forked from biolink/biolink-model
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmeta.yaml
207 lines (176 loc) · 5.26 KB
/
meta.yaml
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
slots:
- name: id
domain: schema definition
primary_key: true
description: >-
a globally unique id or url for the schema
- name: name
domain: element
primary_key: true
description: >-
a unique key that identifies a slot or class in a schema
- name: note
domain: element
description: >-
Notes about an element
- name: imports
domain: string
multivalued: true
description: >-
A list of modules that are imported
- name: apply_to
domain: string
description: >-
A module which the definition is applied to
- name: abstract
description: >-
An abstract class is a high level class that is typically used to group common slots together and is generally
not instantiated.
When generating golr-views, abstract classes are ignored
range: boolean
- name: inlined
description: >-
if true then the value of this slot is inlined (i.e. a nested object) rather linked by key
range: boolean
- name: mixin
description: >-
Similar to abstract
range: boolean
- name: subproperty_of
description: >-
Ontolgy property which this is a subproperty of
range: string
- name: subclass_of
description: >-
Ontolgy property which this is a subclass of.
Not to be confused with is_a which links datamodel classes
range: string
- name: path
description: >-
For any denormalized slot, this represents the tree or graph path used to generate the denormalized form
range: string
- name: multivalued
description: >-
If true slot can have many values
domain: slot definition
range: boolean
- name: required
description: >-
If true slot must have at least one value
domain: slot definition
range: boolean
- name: mappings
multivalued: true
domain: definition
range: string
inlined: false
description: >-
list of equivalent or skos exact mappings to an ontology class
- name: examples
multivalued: true
domain: element
range: example
inlined: true
description: >-
Example of usage for a slot or class
- name: slots
multivalued: true
domain: class
range: slot definition
inlined: false
description: >-
list of slot names that are applicable to a class. slots are by default inherited over is_a and mixins.
- name: slot_usage
multivalued: true
domain: class definition
range: slot usage definition
description: >-
Additional info on how a slot is used in the context of a class.
Many slots may be re-used across different classes, but the meaning of the slot may be refined by context.
For example, a generic association model may use slots subject/predicate/object with generic semantics and
minimal constraints. When this is subclasses, e.g. to disease-phenotype associations then slot_usage may
specify both local naming (e.g. subject=disease) and local constraints
- name: is_a
multivalued: false
domain: class definition
range: class definition
description: >-
specifies single-inheritance between classes.
While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing.
The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI
framework (e.g. java classes, python classes) then is_a is used.
When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is_a and mixins
are recursively unfolded
- name: mixins
multivalued: true
domain: class definition
range: class definition
description: >-
see is_a
- name: defining_slots
multivalued: true
domain: class definition
range: slot definition
description: >-
The combination of is_a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient
conditions that can be transformed into an OWL equivalence axiom
classes:
- name: definition
description: "base class"
abstract: true
slots:
- name
- singular name
- is_a
- description
- note
- abstract
- mappings
- apply_to
- name: slot definition
description: "A property or slot"
is_a: definition
slots:
- mixin
- mixins
- identifier
- domain
- range
- multivalued
- required
- path
- subproperty_of
- examples
- name: slot usage definition
description: "A usage of slot in the context of a class"
is_a: slot definition
slots: []
- name: class definition
description: "A class or interface"
is_a: definition
slots:
- defining slots
- subclass_of
- mixin
- mixins
- slots
- slot_usage
- name: type definition
description: "A type definition"
is_a: definition
slots:
- mixins
- name: schema definition
description: "A collection of definitions"
is_a: definition
slots:
- id
- slots
- classes
- types
- imports
- name: example
description: "example of usage"
slots:
- value
- description