ontology: register AI Weed Library field & observation schemas (v2) - #1132
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Nine draft-07 JSON Schemas written by the AI Weed Library platform (Dutch crop-field map viewer): LogicalField, FieldBoundary, FieldClaim, FieldLink, Observation, ObservationRelation, MediaAsset, plus two app-profile types, ObservationAttributes (per-observation agronomic attributes and access policy sidecar) and FieldAccessGrant (field-share mechanics, v2 keyed on logicalFieldRef). Files are the artifacts emitted from the platform's contracts, added verbatim under services/ontology/schemas/ following the existing one-file-per-schema convention. The schemaIds are already in use by a running deployment and must not be renumbered.
2f53952 to
4286d09
Compare
The registry groups types by domain and grants a platform access one domain at a time, so a type without one sits outside that mechanism. All nine are farmland data, and `agriculture` is already in the published Domain list. Emitted from the platform's contracts, so the same value is now in the artifacts the platform ships.
|
Done — The value is emitted from the platform's contracts, so the artifacts we ship carry the same line; the schemas are otherwise unchanged. Commits are signed now as well. |
|
Thanks for merging. One question: when is the ontology service next redeployed? The nine ids still 404 on https://ontology.w3ds.metastate.foundation — expected, since the service indexes the schema files once at boot ( |
Description of change
Registers nine schemas written by the AI Weed Library platform (map viewer for Dutch crop fields — claim a field, upload field photos as observations, share fields with other eNames). The platform has been writing these ids since its v2 model went live; nothing on the network can resolve them until they land here.
Seven implement spec articles W-A-15 … W-A-23. Two are app-profile and labelled as such.
a1abfd8e-4f0a-4c1d-98de-f351586c03e8logicalField.jsonf577eb36-8230-494d-866b-45af25e83f16fieldClaim.json207a6b1a-19b4-468d-9641-68ba661c2291fieldBoundary.jsonsourceCrs)339723ce-4771-48d6-a7e1-a0fdf736d584fieldLink.jsona9723f8c-9aa1-48ff-9698-9447353736c3observation.jsonphenomenonTime, observer, optional footprint / pin. No field ref, no files inside772ea2b3-82e7-4ce3-9a4d-a4445c57bd6cobservationRelation.jsonabout/covers/intersects)65586839-24ad-4875-921e-578e3c284a0fmediaAsset.jsonfileRef,capturedAt, optional EXIF pointbef1033f-ecbd-4ffd-a36a-e30fe521f2efobservationAttributes.json63d0e376-2522-4799-b82d-990267965dd9fieldAccessGrant.jsonlogicalFieldRefThe ids are live in a running deployment (envelopes carry them, AaaS subscriptions route on them), so please do not renumber. Random UUIDv4s; 64 unique ids and titles after this change.
Conventions: draft-07,
additionalProperties: false, everything a consumer relies on inrequired; cross-envelope references arew3ds://<ename>/<envelopeId>strings, never copies; every type carriesschemaVersion/recordedAt/ optionalsupersedes+deleted; one sharedmethodenum (user-confirmed/source-provided/geometry-derived) with confidence and algorithm for the derived case. The files are emitted from the platform's typed contracts, which a golden test pins on our side, and are added here verbatim.Two deviations, recorded
supersedes, so a canon that lands differently stays survivable.uploadFilealready creates aw3ds-file-v1blob envelope per upload and dispatches its awareness packet, soMediaAsset.fileRefpoints at that directly rather than duplicating it under a W-A-22 record. The existingFileschema (a1b2c3d4-…) is therefore not whatfileReftargets.Nothing registered covers this:
AccessGrantis a generic resource grant and would lose the role vocabulary and thelogicalFieldRefjoin;Relation(#1103) is an untyped reified triple with no provenance fields; no schema models fields, boundaries, claims or observations.Notes for reviewers
"domain": "agriculture"(already in the published Domain list as "Food & agriculture"), emitted from the platform's contracts so our artifacts carry the same value.descriptions: the files are machine-emitted and semantics live in the articles above. Happy to add them.Issue Number
n/a
Type of change
How the change has been tested
Booted
services/ontologyfrom this branch:Loaded 64 schemas,Loaded 20 domains, no missing-schemaId warnings.GET /schemaslists all nine;GET /schemas/<id>returns each file byte-for-byte; the viewer renders them; unknown ids still 404. No duplicate id or title across the 64 files.Change checklist
descriptions, see the reviewer note