linked-rolls 0.60.0 → 0.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,22 +60,52 @@ export interface Inference extends Argumentation<'inference'> {
60
60
  /**
61
61
  * A belief adoption adopts someone else's belief. This type is used
62
62
  * to indicate e.g. knowledge through private communication or
63
- * from secondary literature.
63
+ * from secondary literature, or a belief published elsewhere under
64
+ * an IRI of its own, such as a premise from a catalogue of premises.
64
65
  * @see crminf:I7 Belief Adoption
65
66
  */
66
67
  export interface BeliefAdoption extends Argumentation<'beliefAdoption'> {
67
68
  /**
68
69
  * A note describing the source of the adopted belief,
69
70
  * e.g. a bibliographic reference or personal communication.
71
+ * Where the belief is adopted by its IRI, the note says in which
72
+ * state it was taken over, since a belief published elsewhere may
73
+ * move after the edition has taken it.
70
74
  * @see crm:P3 has note
71
75
  */
72
76
  note: string;
77
+ /**
78
+ * The beliefs this adoption takes over, by IRI, where they are
79
+ * published with one. An inference that uses such a belief names it
80
+ * among its premises by the same IRI; the adoption says where it
81
+ * comes from.
82
+ * @see crminf:J6 adopted
83
+ */
84
+ adopted?: string[];
85
+ }
86
+ /**
87
+ * A measurement takes a value off an object by a stated procedure: the
88
+ * period the slot lengths of a copy keep, the median pitch of its held
89
+ * notes. It concludes the belief in that value by itself, with no
90
+ * premises. CRMinf counts observations, and a measurement is one, among
91
+ * the ways a belief comes about, so the value does not have to be
92
+ * passed off as an inference.
93
+ * @see crmsci:S21 Measurement
94
+ */
95
+ export interface Measurement extends Argumentation<'measurement'> {
96
+ /**
97
+ * References (by `@id` or URL) to what the measurement was taken on
98
+ * or with, such as the scan, the analysis output or the script.
99
+ * @see crm:P16 used specific object
100
+ */
101
+ used?: string[];
73
102
  }
74
103
  /**
75
104
  * An argumentation can be either a plain argumentation, a
76
- * meaning comprehension, an inference, or a belief adoption.
105
+ * meaning comprehension, an inference, a belief adoption or a
106
+ * measurement.
77
107
  */
78
- export type AnyArgumentation = MeaningComprehension | Inference | BeliefAdoption | Argumentation;
108
+ export type AnyArgumentation = MeaningComprehension | Inference | BeliefAdoption | Measurement | Argumentation;
79
109
  /**
80
110
  * A belief is a temporal object and associates a proposition (i.e.
81
111
  * a statement) with a certainty. It comes into existence through
@@ -143,21 +173,39 @@ export type ObjectAssumption<O extends object> = Assumption & O;
143
173
  * annotated with a belief about its certainty.
144
174
  */
145
175
  export type ActorAssignment = ObjectAssumption<Person>;
176
+ /** The day an event falls within. */
177
+ interface DateWithin {
178
+ /**
179
+ * The day the event falls within.
180
+ * @format date
181
+ * @see crm:P82 at some time within
182
+ */
183
+ within: Date;
184
+ }
185
+ /** The bounds an event lies between. */
186
+ interface DateBounds {
187
+ /**
188
+ * The earliest day the event can have happened on: it did not
189
+ * happen before it.
190
+ * @format date
191
+ * @see crm:P82a begin of the begin
192
+ */
193
+ after: Date;
194
+ /**
195
+ * The latest day the event can have happened on: it did not
196
+ * happen after it.
197
+ * @format date
198
+ * @see crm:P82b end of the end
199
+ */
200
+ before: Date;
201
+ }
146
202
  /**
147
203
  * When something happened, as far as the edition can state it: the day
148
204
  * it falls `within`, or the bounds it lies between. A bound nobody can
149
205
  * give is left out, so `after` alone says "not before".
150
206
  * @see crm:E52 Time-Span
151
207
  */
152
- export type DateAssignment = Assumption & ({
153
- within: Date;
154
- } | {
155
- after: Date;
156
- before?: Date;
157
- } | {
158
- before: Date;
159
- after?: Date;
160
- });
208
+ export type DateAssignment = Assumption & (DateWithin | (Pick<DateBounds, 'after'> & Partial<Pick<DateBounds, 'before'>>) | (Pick<DateBounds, 'before'> & Partial<Pick<DateBounds, 'after'>>));
161
209
  export declare function valueOf<ValueT>(assumption: ValueAssumption<ValueT>): ValueT;
162
210
  export declare function valuesOf<ValueT>(assumptions: ValueAssumption<ValueT>[]): ValueT[];
163
211
  export declare function idOf(assumption: ReferenceAssumption): string;
@@ -177,3 +225,4 @@ export declare const dateOf: (assignment: DateAssignment) => Date | undefined;
177
225
  export declare const earliestOf: (assignment: DateAssignment) => Date | undefined;
178
226
  /** The latest the event can have happened, as far as the edition states it. */
179
227
  export declare const latestOf: (assignment: DateAssignment) => Date | undefined;
228
+ export {};
@@ -1,13 +1,7 @@
1
1
  import { Assumption } from "./Assumption.js";
2
2
  import { AnySymbol } from "./Symbol.js";
3
3
  import { WithId } from "../shared/utils.js";
4
- export declare const editTypes: readonly [
5
- /**
6
- * An additional accent that can only be encoded with
7
- * sforzando on/off due to the short space left between
8
- * the notes to be differentiated.
9
- */
10
- 'short-dynamic-differentation', 'additional-accent', 'add-redundancy', 'remove-redundancy',
4
+ export declare const editTypes: readonly ['additional-accent', 'add-redundancy', 'remove-redundancy',
11
5
  /**
12
6
  * Carries the text into another reproducing system's coding: a
13
7
  * latched pair of one system giving way to the other's held command,
package/lib/model/Edit.js CHANGED
@@ -1,10 +1,4 @@
1
1
  export const editTypes = [
2
- /**
3
- * An additional accent that can only be encoded with
4
- * sforzando on/off due to the short space left between
5
- * the notes to be differentiated.
6
- */
7
- 'short-dynamic-differentation',
8
2
  'additional-accent',
9
3
  'add-redundancy',
10
4
  'remove-redundancy',
@@ -85,15 +85,19 @@ export type ScaleReading = {
85
85
  export interface ProductionEvent {
86
86
  /**
87
87
  * The company that produced the roll copy
88
- * (e.g. "M. Welte & Söhne").
88
+ * (e.g. "M. Welte & Söhne"). An object assumption, so that a
89
+ * company read off a box label or adopted from a letter can say
90
+ * where it comes from.
89
91
  * @see crm:P14 carried out by
90
92
  */
91
- company?: Agent;
93
+ company?: ObjectAssumption<Agent>;
92
94
  /**
93
- * The paper the roll copy was cut on.
95
+ * The paper the roll copy was cut on. An object assumption, so that
96
+ * what the paper is taken to be can say how that was found and serve
97
+ * as a premise, e.g. of a dating.
94
98
  * @see crm:P126 employed
95
99
  */
96
- paper?: Concept;
100
+ paper?: ObjectAssumption<Concept>;
97
101
  /**
98
102
  * The date of production, if known.
99
103
  * @see crm:P4 has time-span
@@ -350,6 +354,15 @@ export interface RollCopy extends WithType<'RollCopy'>, WithId {
350
354
  * @see crm:P50 has current keeper
351
355
  */
352
356
  keeper?: KeeperAssignment;
357
+ /**
358
+ * The same copy as others name it: the record its keeper gives it,
359
+ * such as Stanford's PURL for a copy of the Condon collection. It
360
+ * names the copy as the GND names a pianist, and takes over nothing
361
+ * the record says about it; what the edition holds of the copy it
362
+ * states itself.
363
+ * @see owl:sameAs
364
+ */
365
+ sameAs?: string[];
353
366
  /**
354
367
  * @see crm:P31i was modified by
355
368
  */
package/lib/schema.json CHANGED
@@ -69,11 +69,14 @@
69
69
  {
70
70
  "$ref": "#/definitions/BeliefAdoption"
71
71
  },
72
+ {
73
+ "$ref": "#/definitions/Measurement"
74
+ },
72
75
  {
73
76
  "$ref": "#/definitions/Argumentation"
74
77
  }
75
78
  ],
76
- "description": "An argumentation can be either a plain argumentation, a meaning comprehension, an inference, or a belief adoption."
79
+ "description": "An argumentation can be either a plain argumentation, a meaning comprehension, an inference, a belief adoption or a measurement."
77
80
  },
78
81
  "AnyFeature": {
79
82
  "anyOf": [
@@ -166,15 +169,23 @@
166
169
  "ontology": "crminf:I2 Belief"
167
170
  },
168
171
  "BeliefAdoption": {
169
- "description": "A belief adoption adopts someone else's belief. This type is used to indicate e.g. knowledge through private communication or from secondary literature.",
172
+ "description": "A belief adoption adopts someone else's belief. This type is used to indicate e.g. knowledge through private communication or from secondary literature, or a belief published elsewhere under an IRI of its own, such as a premise from a catalogue of premises.",
170
173
  "properties": {
171
174
  "actor": {
172
175
  "$ref": "#/definitions/Person",
173
176
  "description": "The person who carried out this activity.",
174
177
  "ontology": "crm:P14 carried out by"
175
178
  },
179
+ "adopted": {
180
+ "description": "The beliefs this adoption takes over, by IRI, where they are published with one. An inference that uses such a belief names it among its premises by the same IRI; the adoption says where it comes from.",
181
+ "items": {
182
+ "type": "string"
183
+ },
184
+ "type": "array",
185
+ "ontology": "crminf:J6 adopted"
186
+ },
176
187
  "note": {
177
- "description": "A note describing the source of the adopted belief, e.g. a bibliographic reference or personal communication.",
188
+ "description": "A note describing the source of the adopted belief, e.g. a bibliographic reference or personal communication. Where the belief is adopted by its IRI, the note says in which state it was taken over, since a belief published elsewhere may move after the edition has taken it.",
178
189
  "type": "string",
179
190
  "ontology": "crm:P3 has note"
180
191
  },
@@ -316,8 +327,10 @@
316
327
  "type": "object"
317
328
  },
318
329
  "within": {
330
+ "description": "The day the event falls within.",
319
331
  "format": "date",
320
- "type": "string"
332
+ "type": "string",
333
+ "ontology": "crm:P82 at some time within"
321
334
  }
322
335
  },
323
336
  "required": [
@@ -347,12 +360,16 @@
347
360
  "type": "object"
348
361
  },
349
362
  "after": {
363
+ "description": "The earliest day the event can have happened on: it did not happen before it.",
350
364
  "format": "date",
351
- "type": "string"
365
+ "type": "string",
366
+ "ontology": "crm:P82a begin of the begin"
352
367
  },
353
368
  "before": {
369
+ "description": "The latest day the event can have happened on: it did not happen after it.",
354
370
  "format": "date",
355
- "type": "string"
371
+ "type": "string",
372
+ "ontology": "crm:P82b end of the end"
356
373
  }
357
374
  },
358
375
  "required": [
@@ -382,12 +399,16 @@
382
399
  "type": "object"
383
400
  },
384
401
  "after": {
402
+ "description": "The earliest day the event can have happened on: it did not happen before it.",
385
403
  "format": "date",
386
- "type": "string"
404
+ "type": "string",
405
+ "ontology": "crm:P82a begin of the begin"
387
406
  },
388
407
  "before": {
408
+ "description": "The latest day the event can have happened on: it did not happen after it.",
389
409
  "format": "date",
390
- "type": "string"
410
+ "type": "string",
411
+ "ontology": "crm:P82b end of the end"
391
412
  }
392
413
  },
393
414
  "required": [
@@ -512,7 +533,6 @@
512
533
  "EditType": {
513
534
  "description": "The type of editorial change applied to a symbol or set of symbols. Classifies the nature of the edit, e.g. whether it corrects an error, adds an accent, shifts a note, or shortens/prolongs a perforation.",
514
535
  "enum": [
515
- "short-dynamic-differentation",
516
536
  "additional-accent",
517
537
  "add-redundancy",
518
538
  "remove-redundancy",
@@ -1138,6 +1158,40 @@
1138
1158
  "type": "object",
1139
1159
  "ontology": "crm:E54 Dimension"
1140
1160
  },
1161
+ "Measurement": {
1162
+ "description": "A measurement takes a value off an object by a stated procedure: the period the slot lengths of a copy keep, the median pitch of its held notes. It concludes the belief in that value by itself, with no premises. CRMinf counts observations, and a measurement is one, among the ways a belief comes about, so the value does not have to be passed off as an inference.",
1163
+ "properties": {
1164
+ "actor": {
1165
+ "$ref": "#/definitions/Person",
1166
+ "description": "The person who carried out this activity.",
1167
+ "ontology": "crm:P14 carried out by"
1168
+ },
1169
+ "note": {
1170
+ "description": "A free-text note providing additional context.",
1171
+ "type": "string",
1172
+ "ontology": "crm:P3 has note"
1173
+ },
1174
+ "used": {
1175
+ "description": "References (by `@id` or URL) to what the measurement was taken on or with, such as the scan, the analysis output or the script.",
1176
+ "items": {
1177
+ "type": "string"
1178
+ },
1179
+ "type": "array",
1180
+ "ontology": "crm:P16 used specific object"
1181
+ },
1182
+ "@type": {
1183
+ "const": "measurement",
1184
+ "type": "string",
1185
+ "description": "The type discriminator for this object.",
1186
+ "ontology": "rdf:type"
1187
+ }
1188
+ },
1189
+ "required": [
1190
+ "@type"
1191
+ ],
1192
+ "type": "object",
1193
+ "ontology": "crmsci:S21 Measurement"
1194
+ },
1141
1195
  "Medium": {
1142
1196
  "description": "What a trace was put on with.",
1143
1197
  "enum": [
@@ -1924,6 +1978,106 @@
1924
1978
  ],
1925
1979
  "type": "object"
1926
1980
  },
1981
+ "ObjectAssumption<Concept>": {
1982
+ "anyOf": [
1983
+ {
1984
+ "properties": {
1985
+ "@annotation": {
1986
+ "description": "An optional annotation expressing a belief about this assumption. Uses the JSON-LD-star `@annotation` mechanism to attach epistemic metadata (certainty and reasons) to any triple.",
1987
+ "properties": {
1988
+ "belief": {
1989
+ "$ref": "#/definitions/Belief",
1990
+ "description": "The belief held about the annotated statement.",
1991
+ "ontology": "crminf:J4i is subject of"
1992
+ },
1993
+ "@id": {
1994
+ "description": "A unique identifier for this object.",
1995
+ "type": "string"
1996
+ }
1997
+ },
1998
+ "required": [
1999
+ "belief",
2000
+ "@id"
2001
+ ],
2002
+ "type": "object"
2003
+ },
2004
+ "name": {
2005
+ "description": "The name, e.g. \"Grünfeld, Alfred\", \"Wien\", \"M. Welte & Söhne\".",
2006
+ "type": "string",
2007
+ "ontology": "rdfs:label"
2008
+ },
2009
+ "sameAs": {
2010
+ "description": "Authority records for the same thing: GND, Wikidata, geonames or similar.",
2011
+ "examples": [
2012
+ "https://d-nb.info/gnd/116888652"
2013
+ ],
2014
+ "items": {
2015
+ "type": "string"
2016
+ },
2017
+ "type": "array",
2018
+ "ontology": "owl:sameAs"
2019
+ },
2020
+ "@id": {
2021
+ "description": "A unique identifier for this object.",
2022
+ "type": "string"
2023
+ }
2024
+ },
2025
+ "required": [
2026
+ "@id"
2027
+ ],
2028
+ "type": "object"
2029
+ },
2030
+ {
2031
+ "properties": {
2032
+ "@annotation": {
2033
+ "description": "An optional annotation expressing a belief about this assumption. Uses the JSON-LD-star `@annotation` mechanism to attach epistemic metadata (certainty and reasons) to any triple.",
2034
+ "properties": {
2035
+ "belief": {
2036
+ "$ref": "#/definitions/Belief",
2037
+ "description": "The belief held about the annotated statement.",
2038
+ "ontology": "crminf:J4i is subject of"
2039
+ },
2040
+ "@id": {
2041
+ "description": "A unique identifier for this object.",
2042
+ "type": "string"
2043
+ }
2044
+ },
2045
+ "required": [
2046
+ "belief",
2047
+ "@id"
2048
+ ],
2049
+ "type": "object"
2050
+ },
2051
+ "name": {
2052
+ "description": "The name, e.g. \"Grünfeld, Alfred\", \"Wien\", \"M. Welte & Söhne\".",
2053
+ "type": "string",
2054
+ "ontology": "rdfs:label"
2055
+ },
2056
+ "sameAs": {
2057
+ "description": "Authority records for the same thing: GND, Wikidata, geonames or similar.",
2058
+ "examples": [
2059
+ "https://d-nb.info/gnd/116888652"
2060
+ ],
2061
+ "items": {
2062
+ "type": "string"
2063
+ },
2064
+ "type": "array",
2065
+ "ontology": "owl:sameAs"
2066
+ },
2067
+ "@id": {
2068
+ "description": "A unique identifier for this object.",
2069
+ "type": "string"
2070
+ }
2071
+ },
2072
+ "required": [
2073
+ "name",
2074
+ "sameAs"
2075
+ ],
2076
+ "type": "object"
2077
+ }
2078
+ ],
2079
+ "description": "An object assumption wraps a complex object with an optional annotation. Used for structured values (e.g. persons, conditions) whose properties may be uncertain."
2080
+ },
1927
2081
  "ObjectAssumption<ConditionState<\"general\">>": {
1928
2082
  "description": "An object assumption wraps a complex object with an optional annotation. Used for structured values (e.g. persons, conditions) whose properties may be uncertain.",
1929
2083
  "properties": {
@@ -2700,8 +2854,8 @@
2700
2854
  "description": "Describes the production of a roll copy: the manufacturer, the paper used, the date, and the system and paper speed the copy was cut for.",
2701
2855
  "properties": {
2702
2856
  "company": {
2703
- "$ref": "#/definitions/Agent",
2704
- "description": "The company that produced the roll copy (e.g. \"M. Welte & Söhne\").",
2857
+ "$ref": "#/definitions/ObjectAssumption%3CAgent%3E",
2858
+ "description": "The company that produced the roll copy (e.g. \"M. Welte & Söhne\"). An object assumption, so that a company read off a box label or adopted from a letter can say where it comes from.",
2705
2859
  "ontology": "crm:P14 carried out by"
2706
2860
  },
2707
2861
  "date": {
@@ -2710,8 +2864,8 @@
2710
2864
  "ontology": "crm:P4 has time-span"
2711
2865
  },
2712
2866
  "paper": {
2713
- "$ref": "#/definitions/Concept",
2714
- "description": "The paper the roll copy was cut on.",
2867
+ "$ref": "#/definitions/ObjectAssumption%3CConcept%3E",
2868
+ "description": "The paper the roll copy was cut on. An object assumption, so that what the paper is taken to be can say how that was found and serve as a premise, e.g. of a dating.",
2715
2869
  "ontology": "crm:P126 employed"
2716
2870
  },
2717
2871
  "perforator": {
@@ -3033,6 +3187,14 @@
3033
3187
  "description": "What this copy's features were read from. A copy that states no source is one whose features reached the edition by a way that was not written down.",
3034
3188
  "ontology": "reo:capture"
3035
3189
  },
3190
+ "sameAs": {
3191
+ "description": "The same copy as others name it: the record its keeper gives it, such as Stanford's PURL for a copy of the Condon collection. It names the copy as the GND names a pianist, and takes over nothing the record says about it; what the edition holds of the copy it states itself.",
3192
+ "items": {
3193
+ "type": "string"
3194
+ },
3195
+ "type": "array",
3196
+ "ontology": "owl:sameAs"
3197
+ },
3036
3198
  "scan": {
3037
3199
  "description": "The scan URL or IIIF URL of the roll.",
3038
3200
  "type": "string",
@@ -9,6 +9,7 @@
9
9
  "crm": "http://www.cidoc-crm.org/cidoc-crm/",
10
10
  "crmdig": "http://www.cidoc-crm.org/extensions/crmdig/",
11
11
  "crminf": "http://www.cidoc-crm.org/extensions/crminf/",
12
+ "crmsci": "http://www.cidoc-crm.org/extensions/crmsci/",
12
13
  "lrmoo": "http://iflastandards.info/ns/lrm/lrmoo/",
13
14
  "reo": "https://w3id.org/reo/",
14
15
  "RollCopy": "reo:RollCopy",
@@ -69,12 +70,28 @@
69
70
  },
70
71
  "beliefAdoption": {
71
72
  "@id": "crminf:I7_Belief_Adoption",
72
- "@context": { "note": "crm:P3_has_note" }
73
+ "@context": {
74
+ "note": "crm:P3_has_note",
75
+ "adopted": {
76
+ "@id": "crminf:J6_adopted",
77
+ "@type": "@id"
78
+ }
79
+ }
73
80
  },
74
81
  "meaningComprehension": {
75
82
  "@id": "crminf:I16_Meaning_Comprehension",
76
83
  "@context": { "note": "crm:P3_has_note" }
77
84
  },
85
+ "measurement": {
86
+ "@id": "crmsci:S21_Measurement",
87
+ "@context": {
88
+ "note": "crm:P3_has_note",
89
+ "used": {
90
+ "@id": "crm:P16_used_specific_object",
91
+ "@type": "@id"
92
+ }
93
+ }
94
+ },
78
95
  "title": "dcterms:title",
79
96
  "license": {
80
97
  "@id": "dcterms:license",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linked-rolls",
3
- "version": "0.60.0",
3
+ "version": "0.62.0",
4
4
  "description": "Digital editions of piano rolls: import, collation, editorial assumptions, JSON-LD export, and emulation through a reproducing system",
5
5
  "license": "MIT",
6
6
  "repository": {