You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(EVES-003): add 1b Asset Preparation with input_manifest.json (#37)
* feat(EVES-003): add §1b Asset Preparation with input_manifest.json
Add new section §1b that formalizes the asset preparation process:
- Normative folder-to-category mapping table linking directory
structure to envited-x ontology categories and access roles
- input_manifest.json specification as a partial envited-x:Manifest
in JSON-LD that describes user-provided input files
- Two-stage validation model: per-Link input validation (fail fast)
followed by full ManifestShape output validation (completeness)
- Example input_manifest.json in the example/ folder
- Updated Step 1 to reference input manifest pre-validation
- Added references to ENVITED-X Simulation Asset Tools, ENVITED-X
Ontology, and Manifest Ontology
The input_manifest.json replaces the ad-hoc uploadedFiles.json format
by using the same envited-x vocabulary throughout the pipeline
(input -> processing -> output), enabling SHACL validation at every
stage.
* fix: align table header pipes in EVES-007 (MD060)
---------
Signed-off-by: jdsika <carlo.van-driesten@bmw.de>
Before uploading, an asset MUST be organized into a well-defined folder structure and described by an input manifest.
51
+
Tooling such as the [ENVITED-X Simulation Asset Tools][20] MAY automate the creation of a conformant `asset.zip` from user-provided input files and an `input_manifest.json`.
52
+
53
+
#### Folder Structure
54
+
55
+
Every `asset.zip` MUST contain the following top-level folders mapped to `envited-x` artifact categories:
|_(root)_|`envited-x:isLicense`| MUST |`envited-x:isPublic`| LICENSE file at the asset root |
65
+
|_(root)_|`envited-x:isManifest`| MUST |`envited-x:isPublic`|`manifest_reference.json` at the asset root |
66
+
67
+
> **Note:** The `envited-x` categories and access roles are formally defined in the [ENVITED-X Ontology][21] which extends the generic [Manifest Ontology][22].
68
+
> The `envited-x:ExtendedLinkShape` constrains the allowed values for both `manifest:hasCategory` and `manifest:hasAccessRole`.
69
+
70
+
#### Input Manifest (`input_manifest.json`)
71
+
72
+
An `input_manifest.json` is a partial `envited-x:Manifest` in JSON-LD that describes the user-provided input files before the asset creation pipeline processes them.
73
+
It uses the same vocabulary as the final `manifest_reference.json` but omits computed fields (`cid`, `fileSize`, `timestamp`, `hasDimensions`, `filename`).
74
+
75
+
Each entry (a `manifest:Link`) MUST specify:
76
+
77
+
-`manifest:hasCategory` — one of the categories defined in the `envited-x` ontology
78
+
-`manifest:hasAccessRole` — one of the access roles defined in the `envited-x` ontology
79
+
-`manifest:hasFileMetadata` — a `manifest:FileMetadata` node with at minimum:
80
+
-`manifest:filePath` (`xsd:anyURI`) — local file path or remote URL
81
+
-`manifest:mimeType` (`xsd:string`) — MIME type of the file
82
+
83
+
##### Two-Stage Validation
84
+
85
+
Asset creation tooling SHOULD implement a two-stage validation approach:
86
+
87
+
1.**Input validation (fail fast):** Each `manifest:Link` in the `input_manifest.json` SHOULD be validated against `manifest:LinkShape` and `envited-x:ExtendedLinkShape` before the pipeline runs. This catches invalid categories, missing access roles, or malformed file metadata early.
88
+
2.**Output validation (completeness):** The completed `manifest_reference.json` MUST be validated against the full `envited-x:ManifestShape`, which requires at least one artifact per core category (`isSimulationData`, `isDocumentation`, `isMetadata`, `isMedia`).
89
+
90
+
##### Example `input_manifest.json`
91
+
92
+
See 📁 `example/input_manifest.json` for a complete example.
0 commit comments