-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathproperty-tracker.yaml
156 lines (156 loc) · 3.61 KB
/
property-tracker.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
title: PropertyTrackerAPI
version: "0.1"
entities:
PropertyTracker:
allOf:
- $ref: '#/entities/PersistentResource'
properties:
dogs:
description: URL of a Collection of Dogs
format: uri
type: string
relationship:
collectionResource: '#Collection'
entities: '#Dog'
multiplicity: 0:n
people:
description: URL of a Collection of Persons
format: uri
type: string
relationship:
collectionResource: '#Collection'
entities: '#Person'
multiplicity: 0:n
bicycles:
description: URL of a Collection of Bicycles
format: uri
type: string
relationship:
collectionResource: '#Collection'
entities: '#Bicycle'
multiplicity: 0:n
institutions:
description: URL of a Collection of Institutions
format: uri
type: string
relationship:
collectionResource: '#Collection'
entities: '#Institution'
multiplicity: 0:n
wellKnownURLs: /
queryPaths:
- dogs
- "dogs;{name}"
- bicycles
- "bicycles;{name}"
- people
- "people;{name}"
- institutions
- "institutions;{name}"
- "dogs;{name}/owner"
- "bicycles;{name}/owner"
- "institutions;{name}/assets"
- "people;{name}/possessions"
readOnly: true
Dog:
allOf:
- $ref: '#/entities/PersistentResource'
properties:
name:
type: string
birth_date:
type: string
fur_color:
type: string
owner:
description: URL of a Person or Institution
format: uri
type: string
relationship: '#Person #Institution'
Bicycle:
allOf:
- $ref: '#/entities/PersistentResource'
properties:
name:
type: string
purchase_date:
type: string
paint_color:
type: string
owner:
description: URL of a Person or Institution
format: uri
type: string
relationship: '#Person #Institution'
Person:
allOf:
- $ref: '#/entities/PersistentResource'
properties:
name:
type: string
birth-date:
type: string
possessions:
description: URL of a Collection of Dogs and Bicycles
format: uri
type: string
relationship:
collectionResource: '#Collection'
entities: '#Dog #Bicycle'
multiplicity: 0:n
Institution:
allOf:
- $ref: '#/entities/PersistentResource'
properties:
name:
type: string
foundation-date:
type: string
assets:
description: URL of a Collection of Dogs and Bicycles
format: uri
type: string
relationship:
collectionResource: '#Collection'
entities: '#Dog #Bicycle'
multiplicity: 0:n
Resource:
type: object
properties:
_self:
type: string
readOnly: true
kind:
type: string
PersistentResource:
allOf:
- $ref: '#/entities/Resource'
properties:
created:
type: string
format: date-time
readOnly: true
creator:
type: string
format: URL
readOnly: true
modified:
type: string
format: date-time
readOnly: true
modifier:
type: string
format: date-time
readOnly: true
Collection:
allOf:
- $ref: '#/entities/Resource'
properties:
kind:
type: string
enum: [Collection]
items:
type: array
items:
type: object
readOnly: true