@yottagraph-app/data-model-skill 0.0.34 → 0.0.36

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yottagraph-app/data-model-skill",
3
- "version": "0.0.34",
3
+ "version": "0.0.36",
4
4
  "description": "Data model skill documentation for AI agents - entity types, properties, and schemas from Lovelace fetch sources",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,389 @@
1
+ # Data Dictionary: BLS CEW (QCEW)
2
+
3
+ ## Purpose
4
+
5
+ This dictionary documents the entity types, properties, and attributes
6
+ that the BLS Quarterly Census of Employment and Wages (QCEW) source
7
+ contributes to the Lovelace knowledge graph. It is the contract between
8
+ the source and downstream consumers (ingest, query server, UI).
9
+
10
+ QCEW is a quarterly count of employment and wages reported by employers,
11
+ covering more than 95 % of US jobs. It is published by the U.S. Bureau
12
+ of Labor Statistics for every state, MSA, and county, broken out by
13
+ ownership (federal/state/local/private) and by industry (NAICS), at the
14
+ sector / 3-digit / 4-digit / 5-digit / 6-digit detail levels. The
15
+ Lovelace QCEW source ingests the published quarterly data slices —
16
+ specifically the by-area CSV slices for the United States as a whole
17
+ plus all 50 states and DC — and emits one record per area × ownership ×
18
+ industry × quarter combination.
19
+
20
+ **Pipeline:** Download → Extract → Atomize.
21
+ - Download fetches the per-area CSV slice for each (area, year, quarter)
22
+ from `https://data.bls.gov/cew/data/api/{year}/{quarter}/area/{area_fips}.csv`.
23
+ - Extract is a pass-through (the raw CSV is the structured input).
24
+ - Atomize parses each CSV row into KG records.
25
+
26
+ **Cadence:** BLS publishes each quarter's QCEW release roughly 5–7
27
+ months after the close of the quarter (Q1 in late Aug/Sep, Q2 in late
28
+ Nov/Dec, Q3 in early Mar of the next year, Q4 in early Jun). The
29
+ streamer polls weekly; new quarters are detected and atomized when they
30
+ appear.
31
+
32
+ **Disclosure suppression.** Rows with `disclosure_code == "N"` are
33
+ withheld by BLS to protect employer confidentiality (typically when an
34
+ industry has very few establishments in an area). All numeric values on
35
+ those rows are zero. The atomizer drops "N"-disclosed rows entirely so
36
+ the KG never contains zero-valued QCEW observations that would be
37
+ mistaken for real data.
38
+
39
+ **Series identity.** A QCEW "series" is uniquely identified by the
40
+ 4-tuple (area_fips, own_code, industry_code, agglvl_code). The atomizer
41
+ constructs a synthetic series id of the form
42
+ `{area_fips}.{own_code}.{industry_code}.{agglvl_code}` and emits this
43
+ as the `cew_series_id` strong id on a `cew_series` entity. `size_code`
44
+ is always `0` for the quarterly area slices ingested today (size-class
45
+ slices are an annual-only artifact and are out of scope for v1).
46
+
47
+ **Source name:** `blscew-source`
48
+
49
+ ---
50
+
51
+ ## Entity Types
52
+
53
+ ### `cew_series`
54
+
55
+ A single QCEW time series — the unique combination of geographic area,
56
+ ownership, industry, and aggregation level — that carries quarterly
57
+ employment, wages, and establishment metrics over time.
58
+
59
+ - Primary key: `cew_series_id` (synthetic id, see above) used as the
60
+ strong id for resolution.
61
+ - Entity resolver: named entity, NOT_MERGEABLE. The strong id is
62
+ `cew_series_id`. The disambiguation snippet includes area title,
63
+ ownership title, industry title, and aggregation level title.
64
+ - Source: `blscew-source`
65
+ - Examples produced: `US000.0.10.10` (US national, total ownership, all
66
+ industries), `06000.5.31-33.55` (California, private ownership,
67
+ Manufacturing supersector), `06037.0.5111.74` (Los Angeles County,
68
+ total ownership, NAICS 5111 Newspaper / Periodical Publishers).
69
+
70
+ ### `location`
71
+
72
+ A US geographic area (national, state, MSA, or county) for which BLS
73
+ publishes QCEW data, identified by its FIPS-based `area_fips` code.
74
+
75
+ - Primary key: `area_fips` strong id.
76
+ - Entity resolver: named entity, NOT_MERGEABLE. Strong id is
77
+ `area_fips`. Snippet includes the area title and the area type
78
+ (national / statewide / MSA / county).
79
+ - Source: `blscew-source`
80
+ - Examples produced: `US000` (U.S. TOTAL), `06000` (California -- Statewide),
81
+ `06037` (Los Angeles County, California), `C1018` (Albany-Schenectady-Troy,
82
+ NY MSA).
83
+
84
+ ### `industry`
85
+
86
+ An economic activity category from the North American Industry
87
+ Classification System (NAICS), or a BLS-defined supersector that rolls
88
+ up multiple NAICS sectors.
89
+
90
+ - Primary key: `naics_code` strong id (the BLS QCEW `industry_code`,
91
+ which can be a NAICS sector / 3-digit / 4-digit / 5-digit / 6-digit
92
+ code, a 2-digit BLS supersector aggregate (e.g. `31-33` for
93
+ Manufacturing), or the special aggregate `10` meaning "Total, all
94
+ industries").
95
+ - Entity resolver: named entity, NOT_MERGEABLE. Strong id is
96
+ `naics_code`. Snippet includes the industry title.
97
+ - Source: `blscew-source`
98
+ - Examples produced: `10` (Total, all industries), `31-33`
99
+ (Manufacturing), `5111` (Newspaper, Periodical, Book, and Directory
100
+ Publishers), `541` (Professional, Scientific, and Technical Services).
101
+
102
+ ---
103
+
104
+ ## Properties
105
+
106
+ ### Identity & Metadata Properties (cew_series)
107
+
108
+ These atoms appear once per series, timestamped at the first quarter
109
+ the series is observed in the current run.
110
+
111
+ * `cew_series_id`
112
+ * Definition: synthetic identifier for a QCEW series, built by
113
+ joining the area, ownership, industry, and aggregation-level codes
114
+ with dots.
115
+ * Examples: `"US000.0.10.10"`, `"06000.5.31-33.55"`,
116
+ `"06037.0.5111.74"`
117
+ * Derivation: built by the atomizer from the QCEW `area_fips`,
118
+ `own_code`, `industry_code`, and `agglvl_code` fields of each CSV
119
+ row.
120
+
121
+ * `name`
122
+ * Definition: human-readable label for the series, combining area,
123
+ ownership, and industry titles.
124
+ * Examples: `"U.S. TOTAL · Total Covered · Total, all industries"`,
125
+ `"California · Private · Manufacturing"`
126
+ * Derivation: built from the `area_title`, `own_title`, and
127
+ `industry_title` fields on the CSV row.
128
+
129
+ * `area_fips`
130
+ * Definition: BLS-assigned 5-character area identifier (FIPS-based).
131
+ Acts as strong id on the `location` entity that the series points
132
+ to.
133
+ * Examples: `"US000"`, `"06000"`, `"06037"`, `"C1018"`
134
+ * Derivation: `area_fips` field of the CSV row.
135
+
136
+ * `area_title`
137
+ * Definition: human-readable title for the geographic area.
138
+ * Examples: `"U.S. TOTAL"`, `"California -- Statewide"`,
139
+ `"Los Angeles County, California"`,
140
+ `"Albany-Schenectady-Troy, NY MSA"`
141
+ * Derivation: `area_title` field of the CSV row.
142
+
143
+ * `ownership_code`
144
+ * Definition: BLS one-character code identifying the ownership
145
+ sector covered by the series.
146
+ * Examples: `"0"` (Total Covered), `"1"` (Federal Government),
147
+ `"2"` (State Government), `"3"` (Local Government),
148
+ `"5"` (Private)
149
+ * Derivation: `own_code` field of the CSV row.
150
+
151
+ * `ownership_title`
152
+ * Definition: human-readable label for the ownership sector.
153
+ * Examples: `"Total Covered"`, `"Federal Government"`,
154
+ `"State Government"`, `"Local Government"`, `"Private"`
155
+ * Derivation: `own_title` field of the CSV row.
156
+
157
+ * `naics_code`
158
+ * Definition: industry code used by BLS — NAICS at varying levels of
159
+ aggregation, plus BLS supersector aggregates and the special
160
+ "Total, all industries" code `10`. Acts as strong id on the
161
+ `industry` entity that the series points to.
162
+ * Examples: `"10"`, `"31-33"`, `"5111"`, `"541211"`
163
+ * Derivation: `industry_code` field of the CSV row.
164
+
165
+ * `naics_description`
166
+ * Definition: human-readable name of the industry / supersector.
167
+ * Examples: `"Total, all industries"`, `"Manufacturing"`,
168
+ `"Newspaper, periodical, book and directory publishers"`
169
+ * Derivation: `industry_title` field of the CSV row.
170
+
171
+ * `aggregation_level_code`
172
+ * Definition: BLS two-character code describing the geographic and
173
+ industry aggregation level the series represents (e.g. national
174
+ total, statewide ownership × supersector, county × 6-digit NAICS).
175
+ * Examples: `"10"` (national, by ownership × total), `"55"`
176
+ (statewide, by ownership × supersector),
177
+ `"74"` (county, by ownership × 5-digit NAICS),
178
+ `"78"` (county, by ownership × 6-digit NAICS)
179
+ * Derivation: `agglvl_code` field of the CSV row.
180
+
181
+ * `aggregation_level_title`
182
+ * Definition: human-readable description of the aggregation level.
183
+ * Examples: `"National, by ownership sector"`,
184
+ `"Statewide, by ownership sector and supersector"`,
185
+ `"County, by ownership sector and 6-digit NAICS"`
186
+ * Derivation: `agglvl_title` field of the CSV row.
187
+
188
+ * `area_type`
189
+ * Definition: classification of the area as one of `national`,
190
+ `statewide`, `msa`, or `county` derived from the leading characters
191
+ of `area_fips` and the trailing zeros pattern.
192
+ * Examples: `"national"`, `"statewide"`, `"county"`, `"msa"`
193
+ * Derivation: heuristic on `area_fips`: `US000` → national; FIPS
194
+ starting with `C` → MSA; 5-digit ending in `000` → statewide; any
195
+ other 5-digit code → county.
196
+
197
+ * `naics_level`
198
+ * Definition: granularity of the NAICS code on this row, where
199
+ higher values are more specific. Stored as a float to keep with
200
+ the schema's float-for-numeric convention.
201
+ * Examples: `2.0` (sector or supersector), `3.0` (subsector),
202
+ `4.0` (industry group), `5.0` (NAICS industry), `6.0` (national
203
+ industry).
204
+ * Derivation: length of the `industry_code` string, with the special
205
+ case `10` (Total) and any 2-character supersector code mapped to
206
+ `2.0`.
207
+
208
+ * `publisher`
209
+ * Definition: organization that publishes the data (always BLS).
210
+ * Examples: `"U.S. Bureau of Labor Statistics"`
211
+ * Derivation: hard-coded constant; QCEW is exclusively a BLS product.
212
+
213
+ ### Quarterly Observation Properties (cew_series)
214
+
215
+ These atoms appear on the per-quarter observation records, timestamped
216
+ at the last day of the quarter (e.g. 2024-03-31 for Q1 2024).
217
+
218
+ * `establishment_count`
219
+ * Definition: count of establishments (physical locations of
220
+ employers) covered by the series in the quarter.
221
+ * Examples: `11907855` (US total Q1 2024), `61375` (US Federal
222
+ Government total Q1 2024)
223
+ * Derivation: `qtrly_estabs` field of the CSV row.
224
+
225
+ * `monthly_employment_m1`, `monthly_employment_m2`, `monthly_employment_m3`
226
+ * Definition: number of employees on payrolls covered in the first /
227
+ second / third month of the quarter (BLS uses the pay period
228
+ including the 12th of the month).
229
+ * Examples (US Q1 2024 total): `152393725`, `153129544`, `153848430`
230
+ * Derivation: `month1_emplvl`, `month2_emplvl`, `month3_emplvl`
231
+ fields of the CSV row.
232
+
233
+ * `employment_level`
234
+ * Definition: representative quarterly employment level for the
235
+ series, taken as the third-month employment (final month of the
236
+ quarter), aligned to the way QCEW publications report "QCEW
237
+ employment".
238
+ * Examples: `153848430` (US Q1 2024 total)
239
+ * Derivation: `month3_emplvl` field of the CSV row.
240
+
241
+ * `total_quarterly_wages`
242
+ * Definition: total wages paid (in current US dollars) to all covered
243
+ workers during the quarter.
244
+ * Examples: `3037790324790` (US Q1 2024 total = $3.04 trillion)
245
+ * Derivation: `total_qtrly_wages` field of the CSV row.
246
+
247
+ * `taxable_quarterly_wages`
248
+ * Definition: portion of total quarterly wages subject to UI tax
249
+ contributions (in current US dollars). Always 0 for federal
250
+ government employment, which is not subject to UI tax.
251
+ * Examples: `1151875077520` (US Q1 2024 total)
252
+ * Derivation: `taxable_qtrly_wages` field of the CSV row.
253
+
254
+ * `quarterly_contributions`
255
+ * Definition: total UI tax contributions (in current US dollars)
256
+ associated with this employment in the quarter.
257
+ * Examples: `19555346530` (US Q1 2024 total)
258
+ * Derivation: `qtrly_contributions` field of the CSV row.
259
+
260
+ * `avg_weekly_wage`
261
+ * Definition: average weekly wage (in current US dollars) per
262
+ employee covered in the quarter, computed by BLS as
263
+ `total_qtrly_wages / (avg_emplvl × 13)`.
264
+ * Examples: `1526` (US Q1 2024 total = $1,526/week)
265
+ * Derivation: `avg_wkly_wage` field of the CSV row.
266
+
267
+ ### Year-over-Year Change Properties (cew_series)
268
+
269
+ BLS pre-computes over-the-year (OTY) absolute and percent changes for
270
+ each quarterly metric, comparing the current quarter to the same quarter
271
+ of the prior year. The atomizer emits the percent-change variants as
272
+ their own atoms so downstream consumers can directly query
273
+ "Employment growth YoY" without recomputing it from observation history.
274
+
275
+ * `employment_yoy_pct_chg`
276
+ * Definition: year-over-year percent change in the canonical
277
+ `employment_level` (= third-month / end-of-quarter snapshot).
278
+ * Examples: `1.5` (US total Q1 2024 vs Q1 2023 = +1.5 %)
279
+ * Derivation: `oty_month3_emplvl_pct_chg` field of the CSV row. We
280
+ intentionally do *not* also emit `monthly_employment_m3_yoy_pct_chg`
281
+ -- it would duplicate this number under a redundant property name.
282
+
283
+ * `monthly_employment_m1_yoy_pct_chg`, `monthly_employment_m2_yoy_pct_chg`
284
+ * Definition: year-over-year percent change in mid-quarter monthly
285
+ employment (the M1 and M2 snapshots that have no canonical alias;
286
+ the M3 snapshot is exposed as `employment_yoy_pct_chg` above).
287
+ * Examples (US Q1 2024 total): `1.4`, `1.4`
288
+ * Derivation: `oty_month1_emplvl_pct_chg`, `oty_month2_emplvl_pct_chg`,
289
+ `oty_month3_emplvl_pct_chg` fields of the CSV row.
290
+
291
+ * `establishments_yoy_pct_chg`
292
+ * Definition: year-over-year percent change in the count of
293
+ establishments.
294
+ * Examples: `1.2` (US Q1 2024 total = +1.2 %)
295
+ * Derivation: `oty_qtrly_estabs_pct_chg` field of the CSV row.
296
+
297
+ * `total_quarterly_wages_yoy_pct_chg`
298
+ * Definition: year-over-year percent change in total quarterly
299
+ wages.
300
+ * Examples: `5.7` (US Q1 2024 total = +5.7 %)
301
+ * Derivation: `oty_total_qtrly_wages_pct_chg` field of the CSV row.
302
+
303
+ * `avg_weekly_wage_yoy_pct_chg`
304
+ * Definition: year-over-year percent change in the average weekly
305
+ wage.
306
+ * Examples: `4.2` (US Q1 2024 total = +4.2 %)
307
+ * Derivation: `oty_avg_wkly_wage_pct_chg` field of the CSV row.
308
+
309
+ * `taxable_quarterly_wages_yoy_pct_chg`
310
+ * Definition: year-over-year percent change in taxable quarterly
311
+ wages.
312
+ * Examples: `3.3`
313
+ * Derivation: `oty_taxable_qtrly_wages_pct_chg` field of the CSV row.
314
+
315
+ * `quarterly_contributions_yoy_pct_chg`
316
+ * Definition: year-over-year percent change in UI contributions.
317
+ * Examples: `4.3`
318
+ * Derivation: `oty_qtrly_contributions_pct_chg` field of the CSV row.
319
+
320
+ ### Location Properties (location)
321
+
322
+ * `area_fips`
323
+ * Definition: BLS-assigned area identifier (FIPS-based) used as the
324
+ location's strong id.
325
+ * Examples: `"US000"`, `"06000"`, `"06037"`, `"C1018"`
326
+ * Derivation: `area_fips` field of the CSV row.
327
+
328
+ * `name`
329
+ * Definition: human-readable name of the geographic area.
330
+ * Examples: `"U.S. TOTAL"`, `"California -- Statewide"`,
331
+ `"Los Angeles County, California"`
332
+ * Derivation: `area_title` field of the CSV row.
333
+
334
+ * `area_type`
335
+ * Definition: classification of the area as `national`, `statewide`,
336
+ `msa`, or `county`.
337
+ * Examples: `"national"`, `"statewide"`, `"county"`, `"msa"`
338
+ * Derivation: heuristic on `area_fips`; see the `cew_series` entry of
339
+ the same name above.
340
+
341
+ ### Industry Properties (industry)
342
+
343
+ * `naics_code`
344
+ * Definition: industry code used by BLS (NAICS at sector / 3-digit /
345
+ 4-digit / 5-digit / 6-digit detail, plus BLS supersector aggregates
346
+ and `10` = Total, all industries). Strong id for `industry`.
347
+ * Examples: `"10"`, `"31-33"`, `"5111"`, `"541211"`
348
+ * Derivation: `industry_code` field of the CSV row.
349
+
350
+ * `naics_description`
351
+ * Definition: human-readable industry name.
352
+ * Examples: `"Total, all industries"`, `"Manufacturing"`,
353
+ `"Newspaper, periodical, book and directory publishers"`
354
+ * Derivation: `industry_title` field of the CSV row.
355
+
356
+ * `naics_level`
357
+ * Definition: granularity of the NAICS code (see the `cew_series`
358
+ entry of the same name above for derivation).
359
+ * Examples: `2.0`, `3.0`, `4.0`, `5.0`, `6.0`
360
+
361
+ ---
362
+
363
+ ## Entity Relationships Summary
364
+
365
+ The QCEW source emits two relationship types — both pointing from the
366
+ real-world contextual entity (a US area or an industry) to the
367
+ `cew_series` it appears in. This mirrors the FRED source's
368
+ `appears_in_fred_series` pattern.
369
+
370
+ ```
371
+ location ──[appears_in_cew_series]──→ cew_series
372
+ industry ──[appears_in_cew_series]──→ cew_series
373
+ ```
374
+
375
+ * `appears_in_cew_series`
376
+ * Definition: the subject (a US geographic area or an industry)
377
+ appears as the area / industry dimension of a QCEW time series.
378
+ * Domain flavors: `location`, `industry`
379
+ * Target flavor: `cew_series`
380
+ * Derivation: emitted once per series per quarter on the location and
381
+ industry context records.
382
+
383
+ ---
384
+
385
+ ## Attributes
386
+
387
+ None. All quarterly metrics are timestamped scalar atoms; there are no
388
+ per-atom attributes (unit / frequency / etc.) on this source — those are
389
+ carried as atoms on the `cew_series` metadata record.
@@ -0,0 +1,345 @@
1
+ # Dataset schema for BLS QCEW (Quarterly Census of Employment and Wages).
2
+ #
3
+ # Architecture mirrors FRED:
4
+ # For each unique QCEW series — the (area_fips, own_code, industry_code,
5
+ # agglvl_code) tuple — the atomizer emits:
6
+ # 1. A metadata record: subject is the cew_series entity, atoms are
7
+ # identifying metadata (cew_series_id, area_fips, area_title,
8
+ # ownership_code/title, naics_code/description, aggregation level,
9
+ # publisher, etc.). Timestamped at the quarter end date.
10
+ # 2. One quarterly observation record per (series, quarter): subject is
11
+ # the cew_series, atoms are all quarterly metrics — establishment
12
+ # count, employment levels, wages, year-over-year percent changes —
13
+ # all timestamped at the quarter end date.
14
+ # 3. A location context record: subject is the geographic area
15
+ # (location flavor), single appears_in_cew_series atom pointing at
16
+ # the cew_series.
17
+ # 4. An industry context record: subject is the NAICS industry
18
+ # (industry flavor), single appears_in_cew_series atom pointing at
19
+ # the cew_series.
20
+ #
21
+ # All elements are passive — created by the atomizer from QCEW CSV data,
22
+ # not by LLM extraction.
23
+ #
24
+ # Source identifier used on all records: "blscew-source"
25
+ name: "blscew"
26
+ description: "Quarterly Census of Employment and Wages from the U.S. Bureau of Labor Statistics — quarterly establishment counts, employment levels, total and taxable wages, average weekly wages, and BLS-computed year-over-year changes by US area, ownership sector, and NAICS industry"
27
+
28
+ extraction:
29
+ flavors: closed
30
+ properties: closed
31
+ relationships: closed
32
+ attributes: closed
33
+ events: closed
34
+
35
+ flavors:
36
+ - name: "cew_series"
37
+ description: "A QCEW (Quarterly Census of Employment and Wages) time series identified by the unique combination of area, ownership, industry, and aggregation level. The entity carries metadata atoms and per-quarter observations of employment, wages, and establishment counts."
38
+ display_name: "QCEW Series"
39
+ mergeability: not_mergeable
40
+ strong_id_properties: ["cew_series_id"]
41
+ passive: true
42
+
43
+ - name: "location"
44
+ description: "A specific named geographic location such as a city, country, region, or landmark"
45
+ display_name: "Location"
46
+ mergeability: not_mergeable
47
+ strong_id_properties: ["area_fips"]
48
+ passive: true
49
+
50
+ - name: "industry"
51
+ description: "An industry classification of economic activity (e.g. NAICS or SIC) identifying the line of business associated with an organization or award"
52
+ display_name: "Industry"
53
+ mergeability: not_mergeable
54
+ strong_id_properties: ["naics_code"]
55
+ passive: true
56
+
57
+ properties:
58
+ # --- Strong-id properties ---
59
+
60
+ - name: "cew_series_id"
61
+ type: string
62
+ description: "Synthetic identifier for a QCEW series formed by joining area_fips, own_code, industry_code, and agglvl_code with dots. Strong id for cew_series entities."
63
+ display_name: "QCEW Series ID"
64
+ mergeability: not_mergeable
65
+ domain_flavors: ["cew_series"]
66
+ examples: ["US000.0.10.10", "06000.5.31-33.55", "06037.0.5111.74"]
67
+ passive: true
68
+
69
+ - name: "area_fips"
70
+ type: string
71
+ description: "BLS-assigned 5-character QCEW area identifier (FIPS-based). For US states the value is the 2-digit FIPS state code followed by '000' (e.g. '06000' = California). For counties it is the 5-digit county FIPS (e.g. '06037' = Los Angeles County). For MSAs the BLS prefixes a 'C' (e.g. 'C1018' = Albany–Schenectady–Troy MSA). Strong id for the location entity that a cew_series is attached to."
72
+ display_name: "QCEW Area FIPS"
73
+ mergeability: not_mergeable
74
+ domain_flavors: ["cew_series", "location"]
75
+ examples: ["US000", "06000", "06037", "C1018"]
76
+ passive: true
77
+
78
+ - name: "naics_code"
79
+ type: string
80
+ description: "North American Industry Classification System code (typically 6 digits) identifying the industry of work performed under a contract (e.g., \"524114\" for Direct Health and Medical Insurance Carriers)"
81
+ display_name: "NAICS code"
82
+ mergeability: not_mergeable
83
+ domain_flavors: ["cew_series", "industry"]
84
+ examples: ["10", "31-33", "5111", "541211"]
85
+ passive: true
86
+
87
+ # --- Identity / metadata properties on cew_series ---
88
+
89
+ - name: "name"
90
+ type: string
91
+ description: "Display name of the entity"
92
+ display_name: "Name"
93
+ mergeability: not_mergeable
94
+ domain_flavors: ["cew_series", "location"]
95
+ examples: ["California -- Statewide", "U.S. TOTAL · Total Covered · Total, all industries"]
96
+ passive: true
97
+
98
+ - name: "area_title"
99
+ type: string
100
+ description: "Human-readable title for a QCEW geographic area (national, state, MSA, or county) as published by BLS."
101
+ display_name: "QCEW Area Title"
102
+ mergeability: not_mergeable
103
+ domain_flavors: ["cew_series"]
104
+ examples: ["U.S. TOTAL", "California -- Statewide", "Los Angeles County, California", "Albany-Schenectady-Troy, NY MSA"]
105
+ passive: true
106
+
107
+ - name: "ownership_code"
108
+ type: string
109
+ description: "BLS one-character QCEW ownership-sector code: 0 = Total Covered, 1 = Federal Government, 2 = State Government, 3 = Local Government, 5 = Private."
110
+ display_name: "QCEW Ownership Code"
111
+ mergeability: not_mergeable
112
+ domain_flavors: ["cew_series"]
113
+ examples: ["0", "1", "2", "3", "5"]
114
+ passive: true
115
+
116
+ - name: "ownership_title"
117
+ type: string
118
+ description: "Human-readable QCEW ownership-sector title (Total Covered, Federal Government, State Government, Local Government, Private)."
119
+ display_name: "QCEW Ownership Title"
120
+ mergeability: not_mergeable
121
+ domain_flavors: ["cew_series"]
122
+ examples: ["Total Covered", "Federal Government", "State Government", "Local Government", "Private"]
123
+ passive: true
124
+
125
+ - name: "naics_description"
126
+ type: string
127
+ description: "Human-readable name of the NAICS industry (e.g., \"DIRECT HEALTH AND MEDICAL INSURANCE CARRIERS\")"
128
+ display_name: "NAICS description"
129
+ mergeability: not_mergeable
130
+ domain_flavors: ["cew_series", "industry"]
131
+ examples: ["Total, all industries", "Manufacturing", "Newspaper, periodical, book and directory publishers"]
132
+ passive: true
133
+
134
+ - name: "aggregation_level_code"
135
+ type: string
136
+ description: "BLS QCEW two-character aggregation-level code describing the geographic and industry granularity of a series — for example national vs statewide vs county, and total vs supersector vs detailed NAICS."
137
+ display_name: "QCEW Aggregation Level Code"
138
+ mergeability: not_mergeable
139
+ domain_flavors: ["cew_series"]
140
+ examples: ["10", "55", "74", "78"]
141
+ passive: true
142
+
143
+ - name: "aggregation_level_title"
144
+ type: string
145
+ description: "Human-readable description of a QCEW aggregation level (e.g. \"National, by ownership sector\", \"County, by ownership sector and 6-digit NAICS\")."
146
+ display_name: "QCEW Aggregation Level Title"
147
+ mergeability: not_mergeable
148
+ domain_flavors: ["cew_series"]
149
+ examples: ["National, by ownership sector", "Statewide, by ownership sector and supersector", "County, by ownership sector and 6-digit NAICS"]
150
+ passive: true
151
+
152
+ - name: "area_type"
153
+ type: string
154
+ description: "Classification of a QCEW area as one of national, statewide, msa, or county, derived from the shape of the area_fips code."
155
+ display_name: "QCEW Area Type"
156
+ mergeability: not_mergeable
157
+ domain_flavors: ["cew_series", "location"]
158
+ examples: ["national", "statewide", "msa", "county"]
159
+ passive: true
160
+
161
+ - name: "naics_level"
162
+ type: float
163
+ description: "Granularity of the NAICS code on a QCEW series, expressed as the number of digits. 2.0 = sector or BLS supersector aggregate, 3.0 = subsector, 4.0 = industry group, 5.0 = NAICS industry, 6.0 = national industry."
164
+ display_name: "QCEW NAICS Level"
165
+ mergeability: not_mergeable
166
+ domain_flavors: ["cew_series", "industry"]
167
+ examples: [2.0, 3.0, 4.0, 5.0, 6.0]
168
+ passive: true
169
+
170
+ - name: "publisher"
171
+ type: string
172
+ description: "Name of the organization that publishes or maintains the data series, inferred from the release URL domain"
173
+ display_name: "Publisher"
174
+ mergeability: not_mergeable
175
+ domain_flavors: ["cew_series"]
176
+ examples: ["U.S. Bureau of Labor Statistics"]
177
+ passive: true
178
+
179
+ # --- Quarterly observation properties on cew_series ---
180
+
181
+ - name: "establishment_count"
182
+ type: float
183
+ description: "Count of QCEW-covered establishments (physical locations of employers) reported by BLS for the series during the quarter."
184
+ display_name: "QCEW Establishment Count"
185
+ mergeability: not_mergeable
186
+ domain_flavors: ["cew_series"]
187
+ examples: [11907855.0, 61375.0]
188
+ passive: true
189
+
190
+ - name: "monthly_employment_m1"
191
+ type: float
192
+ description: "Number of QCEW-covered employees on payrolls in the first month of the quarter (BLS uses the pay period including the 12th of the month)."
193
+ display_name: "QCEW Employment (Month 1)"
194
+ mergeability: not_mergeable
195
+ domain_flavors: ["cew_series"]
196
+ examples: [152393725.0]
197
+ passive: true
198
+
199
+ - name: "monthly_employment_m2"
200
+ type: float
201
+ description: "Number of QCEW-covered employees on payrolls in the second month of the quarter (pay period including the 12th)."
202
+ display_name: "QCEW Employment (Month 2)"
203
+ mergeability: not_mergeable
204
+ domain_flavors: ["cew_series"]
205
+ examples: [153129544.0]
206
+ passive: true
207
+
208
+ - name: "monthly_employment_m3"
209
+ type: float
210
+ description: "Number of QCEW-covered employees on payrolls in the third month of the quarter (pay period including the 12th)."
211
+ display_name: "QCEW Employment (Month 3)"
212
+ mergeability: not_mergeable
213
+ domain_flavors: ["cew_series"]
214
+ examples: [153848430.0]
215
+ passive: true
216
+
217
+ - name: "employment_level"
218
+ type: float
219
+ description: "Representative quarterly employment level for the series — taken as the third-month employment, matching the convention BLS uses when publishing single-number QCEW employment figures."
220
+ display_name: "QCEW Quarterly Employment Level"
221
+ mergeability: not_mergeable
222
+ domain_flavors: ["cew_series"]
223
+ examples: [153848430.0]
224
+ passive: true
225
+
226
+ - name: "total_quarterly_wages"
227
+ type: float
228
+ description: "Total wages paid (in current US dollars) to all QCEW-covered workers for the series during the quarter."
229
+ display_name: "QCEW Total Quarterly Wages (USD)"
230
+ mergeability: not_mergeable
231
+ domain_flavors: ["cew_series"]
232
+ examples: [3037790324790.0]
233
+ passive: true
234
+
235
+ - name: "taxable_quarterly_wages"
236
+ type: float
237
+ description: "Portion of total quarterly wages (in current US dollars) subject to UI tax contributions. Always 0 for federal-government employment, which is not subject to UI tax."
238
+ display_name: "QCEW Taxable Quarterly Wages (USD)"
239
+ mergeability: not_mergeable
240
+ domain_flavors: ["cew_series"]
241
+ examples: [1151875077520.0]
242
+ passive: true
243
+
244
+ - name: "quarterly_contributions"
245
+ type: float
246
+ description: "Total UI tax contributions (in current US dollars) associated with the series' employment during the quarter."
247
+ display_name: "QCEW Quarterly UI Contributions (USD)"
248
+ mergeability: not_mergeable
249
+ domain_flavors: ["cew_series"]
250
+ examples: [19555346530.0]
251
+ passive: true
252
+
253
+ - name: "avg_weekly_wage"
254
+ type: float
255
+ description: "Average weekly wage (in current US dollars) per QCEW-covered employee for the series during the quarter, computed by BLS as total_qtrly_wages / (avg_emplvl × 13)."
256
+ display_name: "QCEW Average Weekly Wage (USD)"
257
+ mergeability: not_mergeable
258
+ domain_flavors: ["cew_series"]
259
+ examples: [1526.0]
260
+ passive: true
261
+
262
+ # --- BLS-computed year-over-year percent change properties on cew_series ---
263
+
264
+ - name: "employment_yoy_pct_chg"
265
+ type: float
266
+ description: "Year-over-year percent change in third-month employment for the series, computed by BLS by comparing the current quarter against the same quarter of the prior year."
267
+ display_name: "QCEW Employment YoY %"
268
+ mergeability: not_mergeable
269
+ domain_flavors: ["cew_series"]
270
+ examples: [1.5, -0.4]
271
+ passive: true
272
+
273
+ - name: "monthly_employment_m1_yoy_pct_chg"
274
+ type: float
275
+ description: "Year-over-year percent change in first-month employment for the series."
276
+ display_name: "QCEW Employment (Month 1) YoY %"
277
+ mergeability: not_mergeable
278
+ domain_flavors: ["cew_series"]
279
+ examples: [1.4]
280
+ passive: true
281
+
282
+ - name: "monthly_employment_m2_yoy_pct_chg"
283
+ type: float
284
+ description: "Year-over-year percent change in second-month employment for the series."
285
+ display_name: "QCEW Employment (Month 2) YoY %"
286
+ mergeability: not_mergeable
287
+ domain_flavors: ["cew_series"]
288
+ examples: [1.4]
289
+ passive: true
290
+
291
+ - name: "establishments_yoy_pct_chg"
292
+ type: float
293
+ description: "Year-over-year percent change in establishment count for the series."
294
+ display_name: "QCEW Establishments YoY %"
295
+ mergeability: not_mergeable
296
+ domain_flavors: ["cew_series"]
297
+ examples: [1.2]
298
+ passive: true
299
+
300
+ - name: "total_quarterly_wages_yoy_pct_chg"
301
+ type: float
302
+ description: "Year-over-year percent change in total quarterly wages for the series."
303
+ display_name: "QCEW Total Wages YoY %"
304
+ mergeability: not_mergeable
305
+ domain_flavors: ["cew_series"]
306
+ examples: [5.7]
307
+ passive: true
308
+
309
+ - name: "avg_weekly_wage_yoy_pct_chg"
310
+ type: float
311
+ description: "Year-over-year percent change in average weekly wage for the series."
312
+ display_name: "QCEW Avg Weekly Wage YoY %"
313
+ mergeability: not_mergeable
314
+ domain_flavors: ["cew_series"]
315
+ examples: [4.2]
316
+ passive: true
317
+
318
+ - name: "taxable_quarterly_wages_yoy_pct_chg"
319
+ type: float
320
+ description: "Year-over-year percent change in taxable quarterly wages for the series."
321
+ display_name: "QCEW Taxable Wages YoY %"
322
+ mergeability: not_mergeable
323
+ domain_flavors: ["cew_series"]
324
+ examples: [3.3]
325
+ passive: true
326
+
327
+ - name: "quarterly_contributions_yoy_pct_chg"
328
+ type: float
329
+ description: "Year-over-year percent change in quarterly UI contributions for the series."
330
+ display_name: "QCEW UI Contributions YoY %"
331
+ mergeability: not_mergeable
332
+ domain_flavors: ["cew_series"]
333
+ examples: [4.3]
334
+ passive: true
335
+
336
+ relationships:
337
+ - name: "appears_in_cew_series"
338
+ description: "Links a real-world contextual entity (a US geographic area or a NAICS industry) to a QCEW time series whose area or industry dimension is that entity."
339
+ display_name: "Appears in QCEW Series"
340
+ mergeability: not_mergeable
341
+ domain_flavors: ["location", "industry"]
342
+ target_flavors: ["cew_series"]
343
+ passive: true
344
+
345
+ attributes: []
@@ -0,0 +1,178 @@
1
+ # Data Dictionary: FJC IDB (Federal Judicial Center — Civil Cases)
2
+
3
+ Last updated: 2026-05-20
4
+
5
+ ## Source Overview
6
+
7
+ The **Federal Judicial Center Integrated Database (IDB)** provides administrative statistics on civil cases filed in U.S. district courts. Lovelace ingests the **civil SAS extract** published on the FJC site (annual FY files such as `cv26.sas7bdat`), not PACER dockets. Each SAS row is one civil case with coded fields for court location, docket number, party labels, nature of suit, and disposition.
8
+
9
+ The streamer uses a **diffing** pipeline: it materializes the SAS file (HTTP download or local path), parses rows in chunks, stores a normalized JSON snapshot per case under the raw store (`fjcidb/download/{case-id}.json`), and republishes atom batches only when a row’s JSON changes.
10
+
11
+ | Item | Value |
12
+ |------|--------|
13
+ | Stream source constant | `fjcidb-source` |
14
+ | `Record.Source` | `fjcidb` |
15
+ | Default dataset URL | FJC FY civil SAS (see FJC civil cases landing page) |
16
+ | Poll cadence | Configurable (`pollTimeMin`); typical dev runs use a large interval or one-shot via fetcheval |
17
+
18
+ **Data quality notes**
19
+
20
+ - Party fields **PLT** and **DEF** are short text labels (often truncated). They are not full party rosters; numeric values mean “count of plaintiffs/defendants” rather than a name.
21
+ - Person vs organization for textual parties uses **regex heuristics** on the label (see `party_regex.go`), not LLM classification in the default ingest path.
22
+ - Code values (district, disposition, etc.) follow the FJC codebook; this dictionary documents KG mapping, not codebook semantics.
23
+
24
+ ---
25
+
26
+ ## Entity Types
27
+
28
+ ### `legal_case`
29
+
30
+ One civil case in the IDB extract, identified by district, office, docket, and filing year.
31
+
32
+ - **Subject name:** Human-readable label including `fjcidb_case_id`.
33
+ - **Strong id:** `fjcidb_case_id` on the case subject.
34
+ - **Resolver:** `NOT_MERGEABLE` — passive administrative case node.
35
+ - **Timestamp:** Atomization time (microseconds) for the ingest pass.
36
+
37
+ ### `person`
38
+
39
+ An individual named on the plaintiff or defendant side when the IDB field is **textual** (not digits-only) and classified as a person by regex rules.
40
+
41
+ - **Subject name:** Normalized party display (trailing `, ET AL` removed from the raw field).
42
+ - **Property:** `name` (normalized party label from PLT/DEF).
43
+ - **Resolver:** `MERGEABLE` named entity; lawsuit-context snippet on the record (who sues whom; NOS phrase included).
44
+ - **Examples:** `SHANKS`, `BECERRA`, `BIDEN` (with or without `, ET AL`).
45
+
46
+ ### `organization`
47
+
48
+ An institution or collective named on the plaintiff or defendant side when the field is textual and classified as organization (regex), or when classification is ambiguous and defaults to organization.
49
+
50
+ - **Subject name:** Same normalization as person parties.
51
+ - **Property:** `name` (normalized party label from PLT/DEF).
52
+ - **Resolver:** `MERGEABLE` named entity; same lawsuit snippet pattern as person parties.
53
+ - **Examples:** `DEPARTMENT OF DEFENSE`, `CUMMINS INC.`, `INTERNATIONAL UNION OF , ET AL`.
54
+
55
+ ### `nature_of_suit`
56
+
57
+ A federal civil **nature of suit (NOS)** code from the U.S. Courts classification, linked from the case’s **NOS** field.
58
+
59
+ - **Subject name:** Short title when known, e.g. `Employment`; otherwise `Nature of suit {code} (federal civil)`.
60
+ - **Strong id:** `nos_code`.
61
+ - **Resolver:** `NOT_MERGEABLE`.
62
+ - **Reference:** U.S. Courts civil NOS code descriptions PDF (titles/descriptions embedded in ingest).
63
+
64
+ ---
65
+
66
+ ## Properties
67
+
68
+ ### Legal case
69
+
70
+ * `fjcidb_case_id`
71
+ * Definition: Stable case identifier for this IDB row.
72
+ * Examples: `3-1-12345-2025`, `90-1-2303817-2023`
73
+ * Derivation: `{DISTRICT}-{OFFICE}-{DOCKET}-{year}` where year comes from `FILEDATE`, or from `FDATEUSE` when `FILEDATE` is absent. Row omitted if year cannot be determined.
74
+
75
+ * `district_code`
76
+ * Definition: FJC district court code (`DISTRICT`).
77
+ * Examples: `3`, `90`
78
+ * Derivation: SAS `DISTRICT`.
79
+
80
+ * `office_code`
81
+ * Definition: FJC office within the district (`OFFICE`).
82
+ * Examples: `1`
83
+ * Derivation: SAS `OFFICE`.
84
+
85
+ * `case_docket_number`
86
+ * Definition: Court docket number (`DOCKET`).
87
+ * Examples: `12345`, `2303817`
88
+ * Derivation: SAS `DOCKET`.
89
+
90
+ * `case_filing_date`
91
+ * Definition: Filing date as stored in the extract.
92
+ * Derivation: SAS `FILEDATE`.
93
+
94
+ * `termination_date`
95
+ * Definition: Termination date when present.
96
+ * Derivation: SAS `TERMDATE`.
97
+
98
+ * `origin_code`, `jurisdiction_code`, `disposition_code`, `class_action_code`, `procedural_progress_code`
99
+ * Definition: FJC codebook fields for procedural status.
100
+ * Derivation: SAS `ORIGIN`, `JURIS`, `DISP`, `CLASSACT`, `PROCPROG` when non-empty.
101
+
102
+ ### Person and organization (shared)
103
+
104
+ * `name`
105
+ * Definition: Normalized party label from PLT or DEF.
106
+ * Examples: `SHANKS`, `INTERNATIONAL UNION OF`
107
+ * Derivation: Trim and remove trailing `, ET AL` from the raw IDB field; matches the record subject name.
108
+
109
+ ### Nature of suit
110
+
111
+ * `nos_code`
112
+ * Definition: Numeric NOS code from the case row.
113
+ * Examples: `110`, `442`
114
+ * Derivation: SAS `NOS`.
115
+
116
+ * `nos_title`
117
+ * Definition: Short title from the U.S. Courts NOS codebook.
118
+ * Examples: `Insurance`, `Employment`
119
+ * Derivation: Lookup table when code is known; omitted if unknown.
120
+
121
+ * `nos_description`
122
+ * Definition: Long description from the same codebook.
123
+ * Derivation: Lookup table when code is known; omitted if unknown.
124
+
125
+ ---
126
+
127
+ ## Entity Relationships
128
+
129
+ ```
130
+ legal_case ──[has_nature_of_suit]──→ nature_of_suit
131
+
132
+ person ──[is_plaintiff_in]────→ legal_case
133
+ organization ──[is_plaintiff_in]────→ legal_case
134
+
135
+ person ──[is_defendant_in]────→ legal_case
136
+ organization ──[is_defendant_in]────→ legal_case
137
+ ```
138
+
139
+ - **`is_plaintiff_in` / `is_defendant_in`:** Emitted on the **party** record; target atom points at the case entity (with case strong id on the target for graph linkage). Only for non-empty, non-numeric, non-`SEALED` PLT/DEF values.
140
+ - **`has_nature_of_suit`:** Emitted on the **case** record when `NOS` is present; target is the `nature_of_suit` entity for that code.
141
+
142
+ ---
143
+
144
+ ## Records Per Case
145
+
146
+ Typical atomization for one row with textual PLT and DEF, and a NOS code:
147
+
148
+ 1. One `legal_case` record (case properties + `has_nature_of_suit` target).
149
+ 2. One `nature_of_suit` record (when NOS present).
150
+ 3. Up to two party records (`person` or `organization` per side).
151
+
152
+ Rows with only numeric PLT/DEF produce a case record with count properties only (no party entities). `SEALED` parties produce no party entities.
153
+
154
+ ---
155
+
156
+ ## Party labeling (person vs organization)
157
+
158
+ Textual PLT/DEF labels are classified before flavor assignment:
159
+
160
+ 1. **Skip** — empty, all digits, or withheld (`SEALED`).
161
+ 2. **Organization** — label matches org indicators (legal suffixes, government words, `OF`/`AND`/`THE`, commas, truncated org stems) or has **three or more** name tokens after normalization.
162
+ 3. **Person** — one or two tokens that look like personal name parts (letters, hyphen, apostrophe).
163
+ 4. **Default** — organization.
164
+
165
+ Consumers should treat regex labels as heuristic, especially on truncated government and corporate strings.
166
+
167
+ ---
168
+
169
+ ## Citations
170
+
171
+ Citation text on atoms and entities: `Federal Judicial Center Integrated Database, civil SAS extract` with link to the FJC IDB research page. NOS entities additionally cite the U.S. Courts NOS descriptions document.
172
+
173
+ ---
174
+
175
+ ## Validation
176
+
177
+ - **Unit fixture:** `testdata/sample_fjcidb_case.pb.txt` (SHANKS vs International Union, NOS 442) — regenerate via `./run_legal_test.sh` at repo root.
178
+ - **recordeval:** Same script runs schema validation on `testdata/*.pb.txt`.
@@ -0,0 +1,206 @@
1
+ # Dataset schema for FJC Integrated Database — U.S. district court civil cases (SAS extracts).
2
+ #
3
+ # Source: https://www.fjc.gov/research/idb/civil-cases-filed-terminated-and-pending-sy-1988-present
4
+ # Codebook: Civil Codebook 1988 Forward (FJC PDF).
5
+ #
6
+ # Default ingest target is the FY civil SAS file (e.g. cv26.sas7bdat), refreshed by FJC on a schedule.
7
+ name: "fjcidb"
8
+ description: "Federal Judicial Center Integrated Database civil case records for U.S. district courts, including office and docket identity, party labels (paintif/defendant), filing and termination timing, jurisdiction, nature-of-suit entities linked from each case, and disposition codes"
9
+
10
+ extraction:
11
+ flavors: closed
12
+ properties: closed
13
+ relationships: closed
14
+ attributes: closed
15
+ events: closed
16
+
17
+ flavors:
18
+ - name: "legal_case"
19
+ description: "A civil case docketed in a U.S. federal district court, identified by FJC administrative codes rather than PACER"
20
+ display_name: "Legal case"
21
+ mergeability: not_mergeable
22
+ strong_id_properties: ["fjcidb_case_id"]
23
+ passive: true
24
+
25
+ - name: "organization"
26
+ description: "A particular business, institution, or organization such as a corporation, university, government agency, or non-profit"
27
+ display_name: "Organization"
28
+ mergeability: mergeable
29
+ passive: true
30
+
31
+ - name: "person"
32
+ description: "A real person as opposed to a fictional character, such as a CEO, politician, or public figure"
33
+ display_name: "Person"
34
+ mergeability: mergeable
35
+ passive: true
36
+
37
+ - name: "nature_of_suit"
38
+ description: "Federal civil nature-of-suit (NOS) code from the U.S. Courts classification"
39
+ display_name: "Nature of suit"
40
+ mergeability: not_mergeable
41
+ strong_id_properties: ["nos_code"]
42
+ passive: true
43
+
44
+ properties:
45
+ - name: "fjcidb_case_id"
46
+ namespace: "fjcidb"
47
+ type: string
48
+ description: "Stable FJC civil case identifier formed from district, office, docket, and filing year"
49
+ display_name: "FJC civil case ID"
50
+ mergeability: not_mergeable
51
+ domain_flavors: ["legal_case"]
52
+ passive: true
53
+
54
+ - name: "name"
55
+ namespace: "fjcidb"
56
+ type: string
57
+ description: "Display name of the entity"
58
+ display_name: "Name"
59
+ mergeability: not_mergeable
60
+ domain_flavors: ["organization", "person"]
61
+ passive: true
62
+
63
+ - name: "nos_code"
64
+ namespace: "fjcidb"
65
+ type: string
66
+ description: "Nature of suit numeric code (matches IDB NOS and the U.S. Courts civil NOS codebook)"
67
+ display_name: "NOS code"
68
+ mergeability: not_mergeable
69
+ domain_flavors: ["nature_of_suit"]
70
+ passive: true
71
+
72
+ - name: "nos_title"
73
+ namespace: "fjcidb"
74
+ type: string
75
+ description: "Short title for this nature of suit code from the U.S. Courts civil NOS descriptions"
76
+ display_name: "Nature of suit title"
77
+ mergeability: not_mergeable
78
+ domain_flavors: ["nature_of_suit"]
79
+ passive: true
80
+
81
+ - name: "nos_description"
82
+ namespace: "fjcidb"
83
+ type: string
84
+ description: "Official description for this nature of suit code from the U.S. Courts civil NOS descriptions"
85
+ display_name: "Nature of suit description"
86
+ mergeability: not_mergeable
87
+ domain_flavors: ["nature_of_suit"]
88
+ passive: true
89
+
90
+ - name: "district_code"
91
+ namespace: "fjcidb"
92
+ type: string
93
+ description: "FJC district court code for where the civil action was filed (IDB DISTRICT)"
94
+ display_name: "FJC district code"
95
+ mergeability: not_mergeable
96
+ domain_flavors: ["legal_case"]
97
+ passive: true
98
+
99
+ - name: "office_code"
100
+ namespace: "fjcidb"
101
+ type: string
102
+ description: "FJC office code within the district where the case was filed (IDB OFFICE)"
103
+ display_name: "FJC office code"
104
+ mergeability: not_mergeable
105
+ domain_flavors: ["legal_case"]
106
+ passive: true
107
+
108
+ - name: "case_docket_number"
109
+ namespace: "fjcidb"
110
+ type: string
111
+ description: "Docket number assigned by the filing office (IDB DOCKET)"
112
+ display_name: "Docket number"
113
+ mergeability: not_mergeable
114
+ domain_flavors: ["legal_case"]
115
+ passive: true
116
+
117
+ - name: "case_filing_date"
118
+ namespace: "fjcidb"
119
+ type: string
120
+ description: "Case filing date"
121
+ display_name: "Filing date"
122
+ mergeability: not_mergeable
123
+ domain_flavors: ["legal_case"]
124
+ passive: true
125
+
126
+ - name: "termination_date"
127
+ namespace: "fjcidb"
128
+ type: string
129
+ description: "Termination date if the case terminated in the reporting window"
130
+ display_name: "Termination date"
131
+ mergeability: not_mergeable
132
+ domain_flavors: ["legal_case"]
133
+ passive: true
134
+
135
+ - name: "origin_code"
136
+ namespace: "fjcidb"
137
+ type: string
138
+ description: "Procedural origin code for the filing"
139
+ display_name: "Origin code"
140
+ mergeability: not_mergeable
141
+ domain_flavors: ["legal_case"]
142
+ passive: true
143
+
144
+ - name: "jurisdiction_code"
145
+ namespace: "fjcidb"
146
+ type: string
147
+ description: "Jurisdiction code"
148
+ display_name: "Jurisdiction code"
149
+ mergeability: not_mergeable
150
+ domain_flavors: ["legal_case"]
151
+ passive: true
152
+
153
+ - name: "disposition_code"
154
+ namespace: "fjcidb"
155
+ type: string
156
+ description: "Disposition code when the case terminated"
157
+ display_name: "Disposition code"
158
+ mergeability: not_mergeable
159
+ domain_flavors: ["legal_case"]
160
+ passive: true
161
+
162
+ - name: "class_action_code"
163
+ namespace: "fjcidb"
164
+ type: string
165
+ description: "Class action designation code"
166
+ display_name: "Class action code"
167
+ mergeability: not_mergeable
168
+ domain_flavors: ["legal_case"]
169
+ passive: true
170
+
171
+ - name: "procedural_progress_code"
172
+ namespace: "fjcidb"
173
+ type: string
174
+ description: "Procedural progress code"
175
+ display_name: "Procedural progress code"
176
+ mergeability: not_mergeable
177
+ domain_flavors: ["legal_case"]
178
+ passive: true
179
+
180
+ relationships:
181
+ - name: "is_plaintiff_in"
182
+ namespace: "fjcidb"
183
+ description: "The party is named as the plaintiff side in this FJC civil case"
184
+ display_name: "Is plaintiff in"
185
+ mergeability: not_mergeable
186
+ domain_flavors: ["organization", "person"]
187
+ target_flavors: ["legal_case"]
188
+ passive: true
189
+
190
+ - name: "is_defendant_in"
191
+ namespace: "fjcidb"
192
+ description: "The party is named as the defendant side in this FJC civil case"
193
+ display_name: "Is defendant in"
194
+ mergeability: not_mergeable
195
+ domain_flavors: ["organization", "person"]
196
+ target_flavors: ["legal_case"]
197
+ passive: true
198
+
199
+ - name: "has_nature_of_suit"
200
+ namespace: "fjcidb"
201
+ description: "The civil case is classified under this federal nature-of-suit code (IDB NOS field)"
202
+ display_name: "Has nature of suit"
203
+ mergeability: not_mergeable
204
+ domain_flavors: ["legal_case"]
205
+ target_flavors: ["nature_of_suit"]
206
+ passive: true