Skip to content

Commit

Permalink
Merge pull request #154 from maticserc/master
Browse files Browse the repository at this point in the history
Contributing vineyard to wine traceability data models for incubation
  • Loading branch information
maticserc authored Feb 18, 2025
2 parents 07fe8dc + b9125a5 commit 4f7121e
Show file tree
Hide file tree
Showing 19 changed files with 690 additions and 0 deletions.
10 changes: 10 additions & 0 deletions SMARTAGRIFOOD/wineTraceability/CONTRIBUTORS.YAML
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: This is a compilation list of all CONTRIBUTORS across different objects (data models) alphabetically ordered. All fields are non mandatory
contributors:
-
name: Matic
surname: Serc
mail: matic@evineyardapp.com
organization: Elmibit / eVineyard
project: WiTWINtake
comments:

Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: This is a compilation list of the current adopters of the data model WineTraceability of the Subject [Subject]. All fields are non mandatory. More info at https://smart-data-models.github.io/data-models/templates/dataModel/CURRENT_ADOPTERS.yaml
currentAdopters:
-
adopter: Elmibit d.o.o.
description: Vineyard management software provider.
mail: matic@evineyardapp.com
organization: Elmibit d.o.o.
project: eVine2Wine, WiTWINtake
comments: Used for vineyard to wine traceability purposes.
startDate: 1.12.2024
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"id": "GC327",
"type": "grapeTransportContainer",
"name": {
"value": "Trailer 14",
"type": "String"
},
"location": {
"type": "geo:json",
"value": {
"type": "Point",
"coordinates": [123, 123]
}
},

"currentlyFromVineyardBlock":{
"type": "Relationship",
"value": "https://example.com/vineyardBlock/VB638235"
},

"GRAI": {
"value": "1234567890987-ABCD",
"type": "String"
},
"volumeEmpty": {
"value": 12,
"type": "Float"
},
"currentlyHoldsVariety": {
"value": ["Merlot", "Cabernet Sauvignon"],
"type": "array"
},

"dateCreated": {
"value": "2019-03-21T00:00:00.0Z",
"type": "DateTime"
},
"dateModified": {
"value": "2024-09-11T00:00:00.0Z",
"type": "DateTime"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"id": "GC327",
"type": "grapeTransportContainer",
"name": "Trailer 14",
"currentlyFromVineyardBlock": "urn:ngsi-ld:vineyardBlock:VB638235",
"GRAI": "1234567890987-ABCD",
"volumeEmpty": 12,
"currentlyHoldsVariety": ["Merlot", "Cabernet Sauvignon"],
"dateCreated": "2019-03-21T00:00:00.0Z",
"dateModified": "2024-09-11T00:00:00.0Z"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"@context": {
"@vocab": "https://github.com/maticserc/incubated/tree/master/SMARTAGRIFOOD/wineTraceability/grapeTransportContainer/schema.json#",
"id": "@id",
"type": "@type"
},
"id": "GC327",
"type": "grapeTransportContainer",
"name": "Trailer 14",
"currentlyFromVineyardBlock": "urn:ngsi-ld:vineyardBlock:VB638235",
"GRAI": "1234567890987-ABCD",
"volumeEmpty": 12,
"currentlyHoldsVariety": ["Merlot", "Cabernet Sauvignon"],
"dateCreated": "2019-03-21T00:00:00.0Z",
"dateModified": "2024-09-11T00:00:00.0Z"
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
notesHeader:
Grape Transport Container (trailer, box with grapes) is currently in incubated stage (work in progress). It is incomplete and large changes may occur at this stage, so it is highly advisable to not use the model until the version 1.0 is reached.
87 changes: 87 additions & 0 deletions SMARTAGRIFOOD/wineTraceability/grapeTransportContainer/schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
{
"$schema": "http://json-schema.org/schema#",
"$schemaVersion": "0.0.8",
"modelTags": "",
"$id": "https://github.com/maticserc/incubated/tree/master/SMARTAGRIFOOD/wineTraceability/grapeTransportContainer/schema.json",
"title": "Smart Data Models - Grape Transport Container",
"type": "object",
"allOf": [
{
"$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons"
},
{
"$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons"
},
{
"description": "This entity contains a harmonised description of a grape transport container (trailer, box of grapes, ...). ",
"properties": {
"type": {
"description": "Property. NGSI Entity Type: It has to be grapeTransportContainer",
"enum": [
"grapeTransportContainer"
],
"type": "string"
},
"GRAI": {
"description": "Property. Global Returnable Asset Identifier according to standard GS1 - Identifier GRAI. Up to 30 characters long, combining numeric and alphabetic characters.",
"type": "string",
"pattern": "^\\d{7,30}-?[a-zA-Z0-9]*$"
},
"volumeEmpty": {
"description": "Property. Volume of container in cubic meters.",
"type": "number"
},
"weightEmpty": {
"description": "Property. Weight of empty container in kilograms.",
"type": "number"
},
"currentlyHoldsVariety": {
"description": "Property. Grape varieties in trailer.",
"type": "array",
"items": {
"type": "string"
}
},
"currentWeight": {
"description": "Property. Weight of the container as last weighted (currently) with cargo (grapes) in kilograms.",
"type": "number"
},
"varietalPurity": {
"description": "Property. Percentage of main variety.",
"type": "number"
},
"healthCondition": {
"description": "Property. Health condition of grapes, 100% being fully healthy.",
"type": "number"
},
"intakeTimestamp": {
"description": "Property. UNIX timestamp of when the container was delivered and emptied to winery.",
"type": "number"
},
"currentlyFromVineyardBlock": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 256,
"pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$",
"description": "Property. Identifier format of any NGSI entity"
},
{
"type": "string",
"format": "uri",
"description": "Property. Identifier format of any NGSI entity"
}
],
"description": "Relationship. Reference to the vineyard block from which the grapes are in container."
}

}
}
],
"required": [
"id",
"type"
]

}
10 changes: 10 additions & 0 deletions SMARTAGRIFOOD/wineTraceability/vineyardBlock/ADOPTERS.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: This is a compilation list of the current adopters of the data model WineTraceability of the Subject [Subject]. All fields are non mandatory. More info at https://smart-data-models.github.io/data-models/templates/dataModel/CURRENT_ADOPTERS.yaml
currentAdopters:
-
adopter: Elmibit d.o.o.
description: Vineyard management software provider.
mail: matic@evineyardapp.com
organization: Elmibit d.o.o.
project: eVine2Wine, WiTWINtake
comments: Used for vineyard to wine traceability purposes.
startDate: 1.12.2024
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
{
"id": "VB638235",
"type": "vineyardBlock",
"name": {
"value": "Northern block",
"type": "String"
},
"GLN": {
"value": "1234567890987",
"type": "String"
},
"location": {
"type": "geo:json",
"value": {
"type": "Polygon",
"coordinates": [[[100, 0], [101, 0], [101, 1], [100, 1], [100, 0]]]
}
},
"address": {
"type": "PostalAddress",
"value": {
"addressLocality": "Gornja Radgona",
"addressCountry": "Slovenia",
"streetAddress": "Orehovci 1a"
}
},
"size": {
"value": 3014,
"type": "Float"
},
"numVinesRepresented": {
"value": 237,
"type": "Integer"
},
"plants": {
"value": {
"trainingSystem": {
"value": "Double cordon",
"type": "String"
},
"variety": {
"value": "Chardonnay",
"type": "String"
},
"clone": {
"value": "76",
"type": "String"
},
"rootstock": {
"value": "3309 Couderc",
"type": "String"
}
}
},
"microclimate": {
"value": {
"airTemperatureTSA": {
"value": {
"minOverTime": {
"value": 10.2,
"type": "Float"
},
"maxOverTime": {
"value": 25.3,
"type": "Float"
},
"avgOverTime": {
"value": 19.4,
"type": "Float"
}

}
},
"dailyGDD": {
"value": 25.3,
"type": "Float"
},
"dailyRainfall": {
"value": 120,
"type": "Float"
}
}
},

"hasAgriSoil":{
"type": "Relationship",
"value": "urn:ngsi-ld:AgriSoil:429d1338-4474-11e8-b90a-d3e34ceb73df"
},

"isOrganic": {
"value": false,
"type": "Boolean"
},
"alignment": {
"value": "N-S",
"type": "String"
},
"inclination": {
"value": {
"aspect": {
"value": "E",
"type": "String"
},
"slope": {
"value": "2",
"type": "String"
}
}
},
"rowSpacing": {
"value": 200,
"type": "Float"
},
"vineSpacing": {
"value": 50,
"type": "Float"
},
"plantingStyle": {
"value": "rows",
"type": "String"
},
"grapePckingMethod": {
"value": "manual",
"type": "String"
},


"dateCreated": {
"value": "2015-02-28T00:00:00.0Z",
"type": "DateTime"
},
"dateModified": {
"value": "2021-09-29T00:00:00.0Z",
"type": "DateTime"
}
}
13 changes: 13 additions & 0 deletions SMARTAGRIFOOD/wineTraceability/vineyardBlock/examples/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "VB638235",
"type": "vineyardBlock",
"name": "Northern block",
"dateModified": "2021-09-29T00:00:00.0Z",
"inclination": {
"aspect": "E",
"slope": "2"
},
"rowSpacing": 2,
"plantingStyle": "rows",
"dateCreated": "2015-02-28T00:00:00.0Z"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"@context": {
"@vocab": "https://github.com/maticserc/incubated/tree/master/SMARTAGRIFOOD/wineTraceability/vineyardBlock/schema.json#",
"id": "@id",
"type": "@type"
},
"id": "VB638235",
"type": "vineyardBlock",
"name": "Northern block",
"dateModified": "2021-09-29T00:00:00.0Z",
"inclination": {
"aspect": "E",
"slope": "2"
},
"rowSpacing": 2,
"plantingStyle": "rows",
"dateCreated": "2015-02-28T00:00:00.0Z"
}

2 changes: 2 additions & 0 deletions SMARTAGRIFOOD/wineTraceability/vineyardBlock/notes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
notesHeader:
Vineyard block data model definition is currently in incubated stage (work in progress). It is incomplete and large changes may occur at this stage.
Loading

0 comments on commit 4f7121e

Please sign in to comment.