@tiangong-lca/cli 0.0.11 → 0.0.12
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/README.md +16 -5
- package/assets/tidas-schemas/tidas_contacts.json +312 -0
- package/assets/tidas-schemas/tidas_contacts_category.json +126 -0
- package/assets/tidas-schemas/tidas_data_types.json +359 -0
- package/assets/tidas-schemas/tidas_flowproperties.json +303 -0
- package/assets/tidas-schemas/tidas_flowproperties_category.json +61 -0
- package/assets/tidas-schemas/tidas_flows.json +809 -0
- package/assets/tidas-schemas/tidas_flows_elementary_category.json +720 -0
- package/assets/tidas-schemas/tidas_flows_product_category.json +59623 -0
- package/assets/tidas-schemas/tidas_lciamethods.json +1326 -0
- package/assets/tidas-schemas/tidas_lciamethods_category.json +685 -0
- package/assets/tidas-schemas/tidas_lifecyclemodels.json +1374 -0
- package/assets/tidas-schemas/tidas_locations_category.json +2593 -0
- package/assets/tidas-schemas/tidas_processes.json +1646 -0
- package/assets/tidas-schemas/tidas_processes_category.json +10795 -0
- package/assets/tidas-schemas/tidas_sources.json +228 -0
- package/assets/tidas-schemas/tidas_sources_category.json +100 -0
- package/assets/tidas-schemas/tidas_unitgroups.json +338 -0
- package/assets/tidas-schemas/tidas_unitgroups_category.json +61 -0
- package/dist/src/cli.js +842 -13
- package/dist/src/cli.js.map +1 -1
- package/dist/src/lib/dataset-classification.js +947 -0
- package/dist/src/lib/dataset-classification.js.map +1 -0
- package/dist/src/lib/dataset-command.js +11 -0
- package/dist/src/lib/dataset-command.js.map +1 -1
- package/dist/src/lib/dataset-contract.js +2 -0
- package/dist/src/lib/dataset-contract.js.map +1 -1
- package/dist/src/lib/dataset-curation-queue.js +359 -2
- package/dist/src/lib/dataset-curation-queue.js.map +1 -1
- package/dist/src/lib/dataset-import-lca.js +18 -0
- package/dist/src/lib/dataset-import-lca.js.map +1 -1
- package/dist/src/lib/dataset-local.js +94 -1
- package/dist/src/lib/dataset-local.js.map +1 -1
- package/dist/src/lib/dataset-maintenance-clear-account.js +506 -0
- package/dist/src/lib/dataset-maintenance-clear-account.js.map +1 -0
- package/dist/src/lib/dataset-patch.js +797 -0
- package/dist/src/lib/dataset-patch.js.map +1 -0
- package/dist/src/lib/dataset-remote-verify.js +188 -3
- package/dist/src/lib/dataset-remote-verify.js.map +1 -1
- package/dist/src/lib/dataset-save-draft-run.js +725 -0
- package/dist/src/lib/dataset-save-draft-run.js.map +1 -0
- package/dist/src/lib/dataset-validate.js +32 -2
- package/dist/src/lib/dataset-validate.js.map +1 -1
- package/dist/src/lib/flow-publish-version.js +7 -2
- package/dist/src/lib/flow-publish-version.js.map +1 -1
- package/dist/src/lib/flow-qa.js +8 -0
- package/dist/src/lib/flow-qa.js.map +1 -1
- package/dist/src/lib/identity-preflight.js +895 -117
- package/dist/src/lib/identity-preflight.js.map +1 -1
- package/dist/src/lib/lifecyclemodel-qa.js +159 -34
- package/dist/src/lib/lifecyclemodel-qa.js.map +1 -1
- package/dist/src/lib/process-required-fields.js +62 -12
- package/dist/src/lib/process-required-fields.js.map +1 -1
- package/dist/src/lib/supabase-client.js +19 -8
- package/dist/src/lib/supabase-client.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -17,8 +17,8 @@ checkPaths:
|
|
|
17
17
|
- bin/**
|
|
18
18
|
- src/cli.ts
|
|
19
19
|
- src/main.ts
|
|
20
|
-
lastReviewedAt: 2026-06-
|
|
21
|
-
lastReviewedCommit:
|
|
20
|
+
lastReviewedAt: 2026-06-04
|
|
21
|
+
lastReviewedCommit: 44d7a7450d1050ec2c4a76ebf97394698a89800c
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
# TianGong LCA CLI
|
|
@@ -156,6 +156,8 @@ Key outputs under `--out-dir`:
|
|
|
156
156
|
|
|
157
157
|
`--candidate-input` is repeatable and accepts JSON, JSONL, or a directory scanned recursively for JSON/JSONL candidate rows. Embedded `candidates` from the request and local-scan candidates are evaluated together. Add `--remote-candidates` when the preflight should also call `process_hybrid_search` or `flow_hybrid_search`; `--remote-query` overrides the target-derived search text and `--remote-limit` caps returned candidate rows. Remote candidate search uses the normal Supabase session env: `TIANGONG_LCA_API_BASE_URL`, `TIANGONG_LCA_API_KEY`, `TIANGONG_LCA_SUPABASE_PUBLISHABLE_KEY`, and optional `TIANGONG_LCA_REGION`.
|
|
158
158
|
|
|
159
|
+
When remote search is enabled, the CLI sends a compact fielded `query` string plus supported edge-search options to `process_hybrid_search` or `flow_hybrid_search`: `filter`, `match_count`, `page_size`, `data_source`, `match_threshold`, `full_text_weight`, `extracted_text_weight`, `semantic_weight`, and `rrf_k`. Request-level `remote_candidate_search.profile_hints` are not sent to the Edge Function. They are applied locally before scoring candidates so Foundry can provide source-derived facts such as flow type, flow property, reference unit, elementary categories, geography, reference-flow names, technology route, and system boundary without polluting the full-text/semantic query.
|
|
160
|
+
|
|
159
161
|
Exact process exchange fingerprints with matching identity context block duplicate creation, while weaker inventory-only matches still route to manual review. Flow preflight also blocks alias-equivalent flows when type, reference property, unit, and category/CAS evidence match.
|
|
160
162
|
|
|
161
163
|
## Build Plan Gate
|
|
@@ -169,7 +171,7 @@ tiangong-lca flow build-plan validate --input ./flow-build-plan.json --out-dir .
|
|
|
169
171
|
tiangong-lca flow build-plan materialize --input ./flow-build-plan.json --out-dir ./flow-build-plan --json
|
|
170
172
|
```
|
|
171
173
|
|
|
172
|
-
The minimum plan contract requires an automatic identity decision, EvidenceManifest sources and field bindings, name plan, and the relevant process reference-flow or flow-property fields. Process materialization carries name, quantitative reference, exchange, source evidence, modelling, administrative, and annual supply/production fields from the plan into `processDataSet`; when annual volume is not explicit,
|
|
174
|
+
The minimum plan contract requires an automatic identity decision, EvidenceManifest sources and field bindings, name plan, and the relevant process reference-flow or flow-property fields. Process materialization carries name, quantitative reference, exchange, source evidence, modelling, administrative, and annual supply/production fields from the plan into `processDataSet`; when annual volume source evidence is not explicit, Foundry-facing required-field completion uses the deterministic `9999 missing-data-sentinel/year` value so the schema-required field stays searchable for later database-side curation. Flow materialization carries name, flow type, reference property, source evidence, administrative, and classification fields into `flowDataSet`. `--report-only` keeps exit code `0` while still reporting blockers.
|
|
173
175
|
|
|
174
176
|
Key outputs under `--out-dir`:
|
|
175
177
|
|
|
@@ -263,10 +265,15 @@ tiangong-lca process resume-build --run-dir /abs/path/to/process-run --json
|
|
|
263
265
|
tiangong-lca process publish-build --run-dir /abs/path/to/process-run --json
|
|
264
266
|
tiangong-lca process batch-build --input ./examples/process-batch-build.request.json --out-dir /abs/path/to/process-batch --json
|
|
265
267
|
tiangong-lca dataset validate --input ./rows.jsonl --type auto --out-dir /abs/path/to/dataset-validate --json
|
|
268
|
+
tiangong-lca dataset classification audit --type location --input ./rows/processes.jsonl --out-dir /abs/path/to/location-audit --json
|
|
269
|
+
tiangong-lca dataset classification apply --type location --input ./rows/processes.jsonl --decisions ./location-decisions.jsonl --out ./rows/processes.located.jsonl --out-dir /abs/path/to/location-apply --json
|
|
266
270
|
tiangong-lca dataset curation-queue build --processes ./rows/processes.jsonl --flows ./rows/flows.jsonl --support ./rows/sources.jsonl --out-dir /abs/path/to/curation-queue --json
|
|
271
|
+
tiangong-lca dataset curation-queue next --queue-dir /abs/path/to/curation-queue --type support --json
|
|
272
|
+
tiangong-lca dataset curation-queue verify --queue-dir /abs/path/to/curation-queue --type process --json
|
|
267
273
|
tiangong-lca dataset evidence-search plan --query "中国2026年电力结构数据" --out-dir /abs/path/to/evidence-search --json
|
|
268
274
|
tiangong-lca dataset evidence-search run --input ./evidence-search.request.json --results ./search-results.json --out-dir /abs/path/to/evidence-search --json
|
|
269
275
|
tiangong-lca dataset references rewrite --input ./rows.jsonl --from flow:<old-id>@<old-version> --to flow:<new-id>@<new-version> --out-dir /abs/path/to/dataset-rewrite --json
|
|
276
|
+
tiangong-lca dataset maintenance plan --scope ./maintenance-scope.json --operation redo-import --out-dir /abs/path/to/dataset-maintenance
|
|
270
277
|
tiangong-lca lifecyclemodel auto-build --input ./examples/lifecyclemodel-auto-build.request.json --out-dir /abs/path/to/lifecyclemodel-run --json
|
|
271
278
|
tiangong-lca lifecyclemodel validate-build --run-dir /abs/path/to/lifecyclemodel-run --json
|
|
272
279
|
tiangong-lca lifecyclemodel publish-build --run-dir /abs/path/to/lifecyclemodel-run --json
|
|
@@ -287,7 +294,7 @@ For `publish run`, relative `out_dir` values from either the request body or `--
|
|
|
287
294
|
|
|
288
295
|
For `qa process`, `--rows-file` accepts either raw process rows as JSON/JSONL or the full JSON report emitted by `tiangong-lca process list --json`, as long as it contains a `rows` array.
|
|
289
296
|
|
|
290
|
-
For `process identity-preflight` and `flow identity-preflight`, canonical TIDAS wrappers are schema-checked when present. Loose target objects are accepted for early planning and produce `schema_validation.status: "not_applicable"` until materialization. Candidate rows can be embedded in the request, loaded from repeatable `--candidate-input` local files/directories, or fetched through explicit `--remote-candidates` hybrid search; `identity-candidate-sources.json` records scanned files, remote endpoints, queries, filters, and row counts.
|
|
297
|
+
For `process identity-preflight` and `flow identity-preflight`, canonical TIDAS wrappers are schema-checked when present. Loose target objects are accepted for early planning and produce `schema_validation.status: "not_applicable"` until materialization. Candidate rows can be embedded in the request, loaded from repeatable `--candidate-input` local files/directories, or fetched through explicit `--remote-candidates` hybrid search; `identity-candidate-sources.json` records scanned files, remote endpoints, queries, filters, edge-search options, and row counts. The remote Edge Function receives only search-safe query/options fields; local-only `profile_hints` stay in the preflight target profile and candidate scoring evidence.
|
|
291
298
|
|
|
292
299
|
For `process build-plan` and `flow build-plan`, canonical payloads embedded in the plan are schema-checked during `materialize`. Plan-only materialization now creates deterministic canonical `processDataSet` / `flowDataSet` wrappers from the build plan and validates them with the TIDAS SDK before reporting `passed`.
|
|
293
300
|
|
|
@@ -303,10 +310,14 @@ For `lifecyclemodel save-draft`, canonical lifecyclemodel payloads are validated
|
|
|
303
310
|
|
|
304
311
|
For `dataset evidence-search`, `plan` creates the field-level query matrix and search budget. `run` accepts normalized external search results from browser/web-search tools or a generic JSON provider endpoint, then writes `outputs/evidence-search-plan.json`, `outputs/evidence-search-results.jsonl`, `outputs/evidence-search-report.json`, and `outputs/evidence-search-declaration.json` when evidence is absent or only partial. The CLI records scope and normalization; Codex/skills still own semantic judgement and source selection.
|
|
305
312
|
|
|
306
|
-
For `dataset
|
|
313
|
+
For `dataset validate`, `--type auto` supports mixed support scopes containing contact/source/unitgroup/flowproperty rows as well as flow/process/lifecyclemodel rows. For `dataset classification`, `children` and `path` navigate the bundled TIDAS category schemas copied from `tidas-tools`. `audit --type location` scans local rows for schema-derived location-code fields, plus TIDAS LCIA geography and lifecyclemodel connection location fields, whose values are not in `tidas_locations_category.json`; `apply --type location` applies structured decisions to a specific `target_path` when a row has multiple location fields.
|
|
314
|
+
|
|
315
|
+
For `dataset curation-queue build/next/verify`, the CLI owns entity-level Foundry import queue state. `build` writes `outputs/curation-queue-manifest.json`, `outputs/curation-queue-tasks.jsonl`, `outputs/curation-queue-locks.json`, `outputs/curation-queue-blockers.jsonl`, and per-entity `input.jsonl`, `closure.json`, and `entity-run-plan.json`. `next` returns one runnable support/flow/process task based on checkpoint state. `verify` passes only when scoped checkpoints are complete and build blockers are absent. AI authoring must return structured patches or build plans, and remote writes remain gated by deterministic apply, schema/QA, prewrite verify, and readback.
|
|
307
316
|
|
|
308
317
|
For `dataset references rewrite`, `--commit` executes the state-aware save-draft path for patched process and lifecyclemodel rows; without `--commit`, the command only writes local rewrite artifacts.
|
|
309
318
|
|
|
319
|
+
For `dataset maintenance plan/apply/verify`, the planned command family owns RLS-scoped delete/redo workflows for bad imports. The contract requires a frozen scope manifest, current-user visible snapshot, protected rows list, reference impact report, dry-run report, explicit commit report, and readback verification. Foundry and skills may orchestrate it, but they must not add private Supabase delete logic.
|
|
320
|
+
|
|
310
321
|
## More Docs
|
|
311
322
|
|
|
312
323
|
- `docs/IMPLEMENTATION_GUIDE_CN.md`: maintainer-facing command contract and implementation notes
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"properties": {
|
|
5
|
+
"contactDataSet": {
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@xmlns": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"const": "http://lca.jrc.it/ILCD/Contact"
|
|
11
|
+
},
|
|
12
|
+
"@xmlns:common": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "http://lca.jrc.it/ILCD/Common"
|
|
15
|
+
},
|
|
16
|
+
"@xmlns:xsi": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"const": "http://www.w3.org/2001/XMLSchema-instance"
|
|
19
|
+
},
|
|
20
|
+
"@version": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"const": "1.1",
|
|
23
|
+
"description": "Indicates, which version of the ILCD format is used"
|
|
24
|
+
},
|
|
25
|
+
"@xsi:schemaLocation": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"const": "http://lca.jrc.it/ILCD/Contact ../../schemas/ILCD_ContactDataSet.xsd"
|
|
28
|
+
},
|
|
29
|
+
"contactInformation": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"properties": {
|
|
32
|
+
"dataSetInformation": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"common:UUID": {
|
|
36
|
+
"$ref": "tidas_data_types.json#/$defs/UUID",
|
|
37
|
+
"description": "Automatically generated Universally Unique Identifier of this data set. Together with the 'Data set version', the UUID uniquely identifies each data set."
|
|
38
|
+
},
|
|
39
|
+
"common:shortName": {
|
|
40
|
+
"$ref": "tidas_data_types.json#/$defs/StringMultiLang",
|
|
41
|
+
"description": "Short name for the contact, that is used for display e.g. of links to this data set (especially in case the full name of the contact is rather long, e.g. 'FAO' for 'Food and Agriculture Organization')."
|
|
42
|
+
},
|
|
43
|
+
"common:name": {
|
|
44
|
+
"$ref": "tidas_data_types.json#/$defs/StringMultiLang",
|
|
45
|
+
"description": "Name of the person, working group, organisation, or database network, which is represented by this contact data set."
|
|
46
|
+
},
|
|
47
|
+
"classificationInformation": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"description": "Hierarchical classification of the contact foreseen to be used to structure the contact content of the database. (Note: This entry is NOT required for the identification of the contact data set. It should nevertheless be avoided to use identical names for contacts in the same class.",
|
|
50
|
+
"properties": {
|
|
51
|
+
"common:classification": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"description": "Optional statistical or other classification of the data set. Typically also used for structuring LCA databases.",
|
|
54
|
+
"properties": {
|
|
55
|
+
"common:class": {
|
|
56
|
+
"anyOf": [
|
|
57
|
+
{
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": [
|
|
60
|
+
{
|
|
61
|
+
"type": "object",
|
|
62
|
+
"properties": {
|
|
63
|
+
"@level": {
|
|
64
|
+
"$ref": "tidas_data_types.json#/$defs/LevelType",
|
|
65
|
+
"const": "0"
|
|
66
|
+
},
|
|
67
|
+
"@classId": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
},
|
|
70
|
+
"#text": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"required": [
|
|
75
|
+
"@level",
|
|
76
|
+
"@classId",
|
|
77
|
+
"#text"
|
|
78
|
+
],
|
|
79
|
+
"dependencies": {
|
|
80
|
+
"@level": {
|
|
81
|
+
"$ref": "./tidas_contacts_category.json#/$defs/Contact"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "object",
|
|
87
|
+
"properties": {
|
|
88
|
+
"@level": {
|
|
89
|
+
"$ref": "tidas_data_types.json#/$defs/LevelType",
|
|
90
|
+
"const": "1"
|
|
91
|
+
},
|
|
92
|
+
"@classId": {
|
|
93
|
+
"type": "string"
|
|
94
|
+
},
|
|
95
|
+
"#text": {
|
|
96
|
+
"type": "string"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"required": [
|
|
100
|
+
"@level",
|
|
101
|
+
"@classId",
|
|
102
|
+
"#text"
|
|
103
|
+
],
|
|
104
|
+
"dependencies": {
|
|
105
|
+
"@level": {
|
|
106
|
+
"$ref": "./tidas_contacts_category.json#/$defs/Contact"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"uniqueItems": true,
|
|
112
|
+
"allOf": [
|
|
113
|
+
{
|
|
114
|
+
"maxContains": 1,
|
|
115
|
+
"minContains": 0,
|
|
116
|
+
"contains": {
|
|
117
|
+
"properties": {
|
|
118
|
+
"@level": {
|
|
119
|
+
"const": "0"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"maxContains": 1,
|
|
126
|
+
"minContains": 0,
|
|
127
|
+
"contains": {
|
|
128
|
+
"properties": {
|
|
129
|
+
"@level": {
|
|
130
|
+
"const": "1"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "object",
|
|
139
|
+
"properties": {
|
|
140
|
+
"@level": {
|
|
141
|
+
"$ref": "tidas_data_types.json#/$defs/LevelType",
|
|
142
|
+
"const": "0"
|
|
143
|
+
},
|
|
144
|
+
"@classId": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
},
|
|
147
|
+
"#text": {
|
|
148
|
+
"type": "string"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"required": [
|
|
152
|
+
"@level",
|
|
153
|
+
"@classId",
|
|
154
|
+
"#text"
|
|
155
|
+
],
|
|
156
|
+
"dependencies": {
|
|
157
|
+
"@level": {
|
|
158
|
+
"$ref": "./tidas_contacts_category.json#/$defs/Contact"
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"required": [
|
|
166
|
+
"common:class"
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"common:other": {
|
|
170
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"required": [
|
|
174
|
+
"common:classification"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
"contactAddress": {
|
|
178
|
+
"$ref": "tidas_data_types.json#/$defs/STMultiLang",
|
|
179
|
+
"description": "Mail address of the contact; specific for the person, working group, or department. [Note: A general contact point to the organisation is to be given in 'General contact point'.]"
|
|
180
|
+
},
|
|
181
|
+
"email": {
|
|
182
|
+
"$ref": "tidas_data_types.json#/$defs/String",
|
|
183
|
+
"format": "email"
|
|
184
|
+
},
|
|
185
|
+
"telephone": {
|
|
186
|
+
"$ref": "tidas_data_types.json#/$defs/String"
|
|
187
|
+
},
|
|
188
|
+
"telefax": {
|
|
189
|
+
"$ref": "tidas_data_types.json#/$defs/String"
|
|
190
|
+
},
|
|
191
|
+
"WWWAddress": {
|
|
192
|
+
"$ref": "tidas_data_types.json#/$defs/ST",
|
|
193
|
+
"description": "Web-address of the person, working group, organisation or database network."
|
|
194
|
+
},
|
|
195
|
+
"centralContactPoint": {
|
|
196
|
+
"$ref": "tidas_data_types.json#/$defs/STMultiLang",
|
|
197
|
+
"description": "Alternative address / contact details for the contact. Provides contact information in case e.g. the person or group represented by this contact has left the organisation or changed office/telephone. This alternative contact point can hence contain also a central telephone number, e-mail, www-address etc. of the organisation."
|
|
198
|
+
},
|
|
199
|
+
"contactDescriptionOrComment": {
|
|
200
|
+
"$ref": "tidas_data_types.json#/$defs/STMultiLang",
|
|
201
|
+
"description": "Free text for additional description of the organisation or person of the contact, such as organisational profile, person responsibilities, etc."
|
|
202
|
+
},
|
|
203
|
+
"referenceToContact": {
|
|
204
|
+
"$ref": "tidas_data_types.json#/$defs/GlobalReferenceType",
|
|
205
|
+
"description": "\"Contact data set\"s of working groups, organisations or database networks to which EITHER this person or entity OR this database, data set format, or compliance system belongs. [Note: This does not necessarily imply a legally binding relationship, but may also be a voluntary membership.]"
|
|
206
|
+
},
|
|
207
|
+
"referenceToLogo": {
|
|
208
|
+
"$ref": "tidas_data_types.json#/$defs/GlobalReferenceType",
|
|
209
|
+
"description": "\"Source data set\" of the logo of the organisation or source to be used in reports etc."
|
|
210
|
+
},
|
|
211
|
+
"common:other": {
|
|
212
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"required": [
|
|
216
|
+
"common:UUID",
|
|
217
|
+
"common:shortName",
|
|
218
|
+
"common:name",
|
|
219
|
+
"classificationInformation"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
"common:other": {
|
|
223
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": [
|
|
227
|
+
"dataSetInformation"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
"administrativeInformation": {
|
|
231
|
+
"type": "object",
|
|
232
|
+
"properties": {
|
|
233
|
+
"dataEntryBy": {
|
|
234
|
+
"type": "object",
|
|
235
|
+
"properties": {
|
|
236
|
+
"common:timeStamp": {
|
|
237
|
+
"$ref": "tidas_data_types.json#/$defs/dateTime",
|
|
238
|
+
"description": "Date and time stamp of data set generation, typically an automated entry ('last saved')."
|
|
239
|
+
},
|
|
240
|
+
"common:referenceToDataSetFormat": {
|
|
241
|
+
"$ref": "tidas_data_types.json#/$defs/GlobalReferenceType",
|
|
242
|
+
"description": "\"Source data set\" of the used version of the ILCD format. If additional data format fields have been integrated into the data set file, using the \"namespace\" option, the used format namespace(s) are to be given. This is the case if the data sets carries additional information as specified by other, particular LCA formats, e.g. of other database networks or LCA softwares."
|
|
243
|
+
},
|
|
244
|
+
"common:other": {
|
|
245
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"required": [
|
|
249
|
+
"common:timeStamp",
|
|
250
|
+
"common:referenceToDataSetFormat"
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
"publicationAndOwnership": {
|
|
254
|
+
"type": "object",
|
|
255
|
+
"properties": {
|
|
256
|
+
"common:dataSetVersion": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"description": "Version number of data set. First two digits refer to major updates, the second two digits to minor revisions and error corrections etc. The third three digits are intended for automatic and internal counting of versions during data set development. Together with the data set's UUID, the 'Data set version' uniquely identifies each data set."
|
|
259
|
+
},
|
|
260
|
+
"common:referenceToPrecedingDataSetVersion": {
|
|
261
|
+
"$ref": "tidas_data_types.json#/$defs/GlobalReferenceType",
|
|
262
|
+
"description": "Last preceding data set, which was replaced by this version. In TIDAS, this reference includes the preceding data set URI, UUID, and version number."
|
|
263
|
+
},
|
|
264
|
+
"common:permanentDataSetURI": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"format": "uri",
|
|
267
|
+
"description": "URI (i.e. an internet address) of the original of this data set. [Note: This equally globally unique identifier supports users and software tools to identify and retrieve the original version of a data set via the internet or to check for available updates. The URI must not represent an existing WWW address, but it should be unique and point to the data access point, e.g. by combining the data owner's www path with the data set's UUID, e.g. http://www.mycompany.com/lca/processes/50f12420-8855-12db-b606-0900210c9a66.]"
|
|
268
|
+
},
|
|
269
|
+
"common:referenceToOwnershipOfDataSet": {
|
|
270
|
+
"$ref": "tidas_data_types.json#/$defs/GlobalReferenceType",
|
|
271
|
+
"description": "\"Contact data set\" of the person or entity who owns this data set. (Note: this is not necessarily the publisher of the data set.)"
|
|
272
|
+
},
|
|
273
|
+
"common:other": {
|
|
274
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"required": [
|
|
278
|
+
"common:dataSetVersion",
|
|
279
|
+
"common:referenceToOwnershipOfDataSet"
|
|
280
|
+
]
|
|
281
|
+
},
|
|
282
|
+
"common:other": {
|
|
283
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"required": [
|
|
287
|
+
"dataEntryBy",
|
|
288
|
+
"publicationAndOwnership"
|
|
289
|
+
]
|
|
290
|
+
},
|
|
291
|
+
"common:other": {
|
|
292
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
"required": [
|
|
296
|
+
"@xmlns:common",
|
|
297
|
+
"@xmlns",
|
|
298
|
+
"@xmlns:xsi",
|
|
299
|
+
"@version",
|
|
300
|
+
"@xsi:schemaLocation",
|
|
301
|
+
"contactInformation",
|
|
302
|
+
"administrativeInformation"
|
|
303
|
+
]
|
|
304
|
+
},
|
|
305
|
+
"common:other": {
|
|
306
|
+
"$ref": "tidas_data_types.json#/$defs/CommonOther"
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
"required": [
|
|
310
|
+
"contactDataSet"
|
|
311
|
+
]
|
|
312
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$defs": {
|
|
4
|
+
"Contact": {
|
|
5
|
+
"oneOf": [
|
|
6
|
+
{
|
|
7
|
+
"properties": {
|
|
8
|
+
"@level": {
|
|
9
|
+
"const": "0"
|
|
10
|
+
},
|
|
11
|
+
"@classId": {
|
|
12
|
+
"const": "1"
|
|
13
|
+
},
|
|
14
|
+
"#text": {
|
|
15
|
+
"const": "Group of organisations, project"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"properties": {
|
|
21
|
+
"@level": {
|
|
22
|
+
"const": "0"
|
|
23
|
+
},
|
|
24
|
+
"@classId": {
|
|
25
|
+
"const": "2"
|
|
26
|
+
},
|
|
27
|
+
"#text": {
|
|
28
|
+
"const": "Organisations"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"properties": {
|
|
34
|
+
"@level": {
|
|
35
|
+
"const": "1"
|
|
36
|
+
},
|
|
37
|
+
"@classId": {
|
|
38
|
+
"const": "2.1"
|
|
39
|
+
},
|
|
40
|
+
"#text": {
|
|
41
|
+
"const": "Private companies"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"properties": {
|
|
47
|
+
"@level": {
|
|
48
|
+
"const": "1"
|
|
49
|
+
},
|
|
50
|
+
"@classId": {
|
|
51
|
+
"const": "2.2"
|
|
52
|
+
},
|
|
53
|
+
"#text": {
|
|
54
|
+
"const": "Governmental organisations"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"properties": {
|
|
60
|
+
"@level": {
|
|
61
|
+
"const": "1"
|
|
62
|
+
},
|
|
63
|
+
"@classId": {
|
|
64
|
+
"const": "2.3"
|
|
65
|
+
},
|
|
66
|
+
"#text": {
|
|
67
|
+
"const": "Non-governmental organisations"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"properties": {
|
|
73
|
+
"@level": {
|
|
74
|
+
"const": "1"
|
|
75
|
+
},
|
|
76
|
+
"@classId": {
|
|
77
|
+
"const": "2.4"
|
|
78
|
+
},
|
|
79
|
+
"#text": {
|
|
80
|
+
"const": "Other organisations"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"properties": {
|
|
86
|
+
"@level": {
|
|
87
|
+
"const": "0"
|
|
88
|
+
},
|
|
89
|
+
"@classId": {
|
|
90
|
+
"const": "3"
|
|
91
|
+
},
|
|
92
|
+
"#text": {
|
|
93
|
+
"const": "Working groups within organisation"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"properties": {
|
|
99
|
+
"@level": {
|
|
100
|
+
"const": "0"
|
|
101
|
+
},
|
|
102
|
+
"@classId": {
|
|
103
|
+
"const": "4"
|
|
104
|
+
},
|
|
105
|
+
"#text": {
|
|
106
|
+
"const": "Persons"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"properties": {
|
|
112
|
+
"@level": {
|
|
113
|
+
"const": "0"
|
|
114
|
+
},
|
|
115
|
+
"@classId": {
|
|
116
|
+
"const": "5"
|
|
117
|
+
},
|
|
118
|
+
"#text": {
|
|
119
|
+
"const": "Other"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|