Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

first version of ProvideProductionForecast #236

Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 0 additions & 53 deletions io.catenax.mp_standard_response/1.0.0/DataTypes.ttl

This file was deleted.

114 changes: 38 additions & 76 deletions io.catenax.mp_standard_response/1.0.0/ProvideProductionForecast.ttl
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
##########################################################################################
# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
# Copyright (c) 2023 Fraunhofer Institute of Optronics, System Technology and Image Exploitation (IOSB)
# Copyright (c) 2023 Siemens AG
# Copyright (c) 2023 Contributors to the Eclipse Foundation
#
bs-jokri marked this conversation as resolved.
Show resolved Hide resolved
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
Expand All @@ -19,74 +20,48 @@
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.mp_standard_response:1.0.0#> .
@prefix : <urn:samm:io.catenax.shopfloor_information.provide_production_forecast:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you plan to use this model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

you need to adjust the namespace to
urn:samm:io.catenax.message_header:1.0.0#

@prefix ext-request: <urn:samm:io.catenax.mp_standard_request:1.0.0#> .
@prefix ext-unsubscribe: <urn:samm:io.catenax.mp_standard_unsubscribe:1.0.0#> .
@prefix ext-types: <urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0#> .

:ProvideProductionForecast a samm:Aspect ;
samm:preferredName "ProvideProductionForecast"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again normal orthography, proper noun, Will not mark again in the model

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please still adjust to Provide Production Forecast
also all other occurrences of preferred name

samm:description "Answer to a customer with all information about the requested items"@en ;
samm:properties ( :productionForecastResponse :cxHeader ) ;
samm:properties ( :productionForecastResponse ext-header:header ) ;
samm:operations ( ) ;
samm:events ( ) .

:productionForecastResponse a samm:Property ;
samm:preferredName "productionForecastResponse"@en ;
samm:description "the concrete information about a production forecast"@en ;
samm:preferredName "production Forecast Response"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uppercase P also check all other preferred names

samm:description "The concrete information about a production forecast"@en ;
samm:characteristic :ProductionForecastCharacteristic .

:cxHeader a samm:Property ;
samm:preferredName "cxHeader"@en ;
samm:description "header that refers to the request of a customer"@en ;
samm:characteristic :CXHeaderCharacteristic .

:ProductionForecastCharacteristic a samm:Characteristic ;
samm:preferredName "ProductionForecastCharacteristic"@en ;
samm:preferredName "Production Forecast Characteristic"@en ;
samm:description "All Data that is related to a production forecast"@en ;
samm:dataType :ProductionForecastItem .

:CXHeaderCharacteristic a samm:Characteristic ;
samm:preferredName "CXHeaderCharacteristic"@en ;
samm:description "all information required for a header specified by CX"@en ;
samm:dataType ext-header:MessageHeader .

:ProductionForecastItem a samm:Entity ;
samm:preferredName "ProductionForecastItem"@en ;
samm:description "Datamodel of the concrete production forecast"@en ;
samm:properties ( :listOfForecastItems [ samm:property :iterationNo; samm:optional true ] :communicationMode ) .
samm:preferredName "Production Forecast Item"@en ;
samm:description "Datamodel of the concrete production forecast for one forecast item"@en ;
samm:properties ( :listOfForecastItems [ samm:property :iterationNo; samm:optional true ] ext-types:communicationMode ext-types:versionDataModel ) .

:listOfForecastItems a samm:Property ;
samm:preferredName "listOfForecastItems"@en ;
samm:preferredName "list Of Forecast Items"@en ;
samm:description "List of ForecastItems matching the items to an order"@en ;
samm:characteristic :ForecastItemList .

:iterationNo a samm:Property ;
samm:preferredName "iterationNo"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

expand abbreviations

samm:description "only set in CommunicationMode == \"notification/cycle\" to be able to check the order of the notifications. "@en ;
samm:characteristic :IntegerCharacteristic .

:communicationMode a samm:Property ;
samm:preferredName "communicationMode"@en ;
samm:description "confirmation of the requested communication mode"@en ;
samm:characteristic :CommunicationModeEnum ;
samm:exampleValue "synchronous" .
samm:characteristic ext-types:IntegerValueCharacteristic ;
samm:exampleValue 6 .

:ForecastItemList a samm-c:List ;
samm:preferredName "ForecastItemList"@en ;
samm:preferredName "Forecast Item List"@en ;
samm:description "List with the forecast items"@en ;
samm:dataType :ForecastItem .

:IntegerCharacteristic a samm:Characteristic ;
samm:preferredName "IntegerCharacteristic"@en ;
samm:dataType xsd:integer .

:CommunicationModeEnum a samm-c:Enumeration ;
samm:preferredName "CommunicationModeEnum"@en ;
samm:description "Enum that features all possible communication modes"@en ;
samm:dataType xsd:string ;
samm-c:values ( "Month" "Day" "Week" "Hour" "Minute" "Second" ) .

:ForecastItem a samm:Entity ;
samm:preferredName "ForecastItem"@en ;
samm:description "a ForecastItem entry for the requested order"@en ;
Expand All @@ -95,72 +70,59 @@
:positionId a samm:Property ;
samm:preferredName "positionId"@en ;
samm:description "Identifier of a position of an order"@en ;
samm:characteristic :String ;
samm:characteristic ext-header:UuidCharacteristic ;
samm:exampleValue "00000000-0000-0000-C000-000000000046" .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a pre-defined structure of the id? If so consider providing a regex for that


:productionForecast a samm:Property ;
samm:preferredName "productionForecast"@en ;
samm:description "date of completion"@en ;
samm:characteristic :Datetime .
samm:preferredName "production Forecast"@en ;
samm:description "Date of completion"@en ;
samm:characteristic ext-header:Timestamp ;
samm:exampleValue "2023-06-19T21:24:00+07:00"^^xsd:dateTimeStamp .

:precisionOfForecast a samm:Property ;
samm:preferredName "precisionOfForecast"@en ;
samm:description "accuracy of the prediction"@en ;
samm:characteristic :TimeValueCharacteristic .
samm:preferredName "precision Of Forecast"@en ;
samm:description "Accuracy of the prediction"@en ;
samm:characteristic ext-types:TimeValueCharacteristic .

:prodcutionStatus a samm:Property ;
samm:preferredName "prodcutionStatus"@en ;
samm:preferredName "prodcution Status"@en ;
samm:description "Status of the order/position within MP"@en ;
samm:characteristic :ProductionStatusEnum ;
samm:exampleValue "ItemPlanned" .
samm:exampleValue "itemPlanned" .

:reasons4Delay a samm:Property ;
samm:preferredName "reasons4Delay"@en ;
samm:description "optional field to provide information to the customer why a delivery date is not met"@en ;
samm:preferredName "reasons 4 Delay"@en ;
samm:description "Optional field to provide information to the customer why a delivery date is not met"@en ;
samm:characteristic :Reasons4DelayEnum ;
samm:exampleValue "supply problems" .

:returnCode a samm:Property ;
samm:preferredName "returnCode"@en ;
samm:description "return code that indicates whether a single item of an order matches the customers desired request"@en ;
samm:preferredName "return Code"@en ;
samm:description "Return code that indicates whether a single item of an order matches the customers desired request"@en ;
samm:characteristic :ReturnCodeEnum ;
samm:exampleValue "lower accuracy of precision" .

:forecastDate a samm:Property ;
samm:preferredName "forecastDate"@en ;
samm:preferredName "forecast Date"@en ;
samm:description "Date/time of the forecast calculation"@en ;
samm:characteristic :Datetime .

:String a samm:Characteristic ;
samm:preferredName "String"@en ;
samm:description "String values"@en ;
samm:dataType xsd:string .

:Datetime a samm:Characteristic ;
samm:preferredName "Datetime"@en ;
samm:description "date of completion of an order position"@en ;
samm:dataType xsd:dateTime .

:TimeValueCharacteristic a samm:Characteristic ;
samm:preferredName "TimeValueCharacteristic"@en ;
samm:description "Link to the TimeUnit Data Type"@en ;
samm:dataType ext-unsubscribe:TimeValue .
samm:characteristic ext-header:Timestamp ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

does not contain a characteristic Timestamp. it uses
samm-c:Timestamp ;

samm:exampleValue "2023-06-19T21:24:00+07:00"^^xsd:dateTimeStamp .

:ProductionStatusEnum a samm-c:Enumeration ;
samm:preferredName "ProductionStatusEnum"@en ;
samm:description "Enum with possible states of an order within MP"@en ;
samm:preferredName "Production Status Enumeration"@en ;
samm:description "Enumeration with all possible states of an order within MP"@en ;
samm:dataType xsd:string ;
samm-c:values ( "itemReceived" "itemPlanned" "itemInProduction" "itemCompleted" "statusUndefined" ) .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are the values of the one enum separated by whitespace (Reason4Delay) and the other not (ProductionStatusEnum)? harmonize.


:Reasons4DelayEnum a samm-c:Enumeration ;
samm:preferredName "Reasons4DelayEnum"@en ;
samm:preferredName "Reasons 4 Delay Enum"@en ;
samm:description "Enum that specifies reasons for a delay of an order"@en ;
samm:dataType xsd:string ;
samm-c:values ( "supply problems" "internal problems" "other circumstances" "no Information available" ) .
samm-c:values ( "supply problems" "internal problems" "other circumstances" "no information available" ) .

:ReturnCodeEnum a samm-c:Enumeration ;
samm:preferredName "ReturnCodeEnum"@en ;
samm:description "Enum with all Return Codes"@en ;
samm:preferredName "Return Code Enumeration"@en ;
samm:description "Enumeration with all Return Codes"@en ;
samm:dataType xsd:string ;
samm-c:values ( "ok" "faulty request" "lower accuracy of precision" "acknowledged" ) .

Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
##########################################################################################
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as mentioned in the other review. Move this model to its own namespace and folder
also Order wie folgt anlegen
io.catenax.shared.shopfloor_information_types/1.0.0/
und dort die Modelldatie sowie die metadaten rein

# Copyright (c) 2023 Fraunhofer Institute of Optronics, System Technology and Image Exploitation (IOSB)
# Copyright (c) 2023 Siemens AG
# Copyright (c) 2023 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This work is made available under the terms of the
# Creative Commons Attribution 4.0 International (CC-BY-4.0) license,
# which is available at
# https://creativecommons.org/licenses/by/4.0/legalcode.
#
# SPDX-License-Identifier: CC-BY-4.0
##########################################################################################
@prefix samm: <urn:samm:org.eclipse.esmf.samm:meta-model:2.0.0#> .
@prefix samm-c: <urn:samm:org.eclipse.esmf.samm:characteristic:2.0.0#> .
@prefix samm-e: <urn:samm:org.eclipse.esmf.samm:entity:2.0.0#> .
@prefix unit: <urn:samm:org.eclipse.esmf.samm:unit:2.0.0#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you plan to use this model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

you need to adjust the namespace to
urn:samm:io.catenax.message_header:1.0.0#


:ShopfloorInformationTypes a samm:Aspect ;
samm:preferredName "Shopfloor Information Types"@en ;
samm:description "Collection of types used in multiple data models of the Shopfloor Information Service"@en ;
samm:properties ( :communicationMode :versionDataModel :timeValue ) ;
samm:operations ( ) ;
samm:events ( ) .

:communicationMode a samm:Property ;
samm:preferredName "communication Mode"@en ;
samm:description "Specification of the communication mode"@en ;
samm:characteristic :CommunicationModeEnum ;
samm:exampleValue "synchronous" .

:versionDataModel a samm:Property ;
samm:preferredName "version Data Model"@en ;
samm:description "Specifies the used version of the data model"@en ;
samm:characteristic ext-header:VersionCharacteristic ;
samm:exampleValue "urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0" .

:timeValue a samm:Property ;
samm:preferredName "Time Value"@en ;
samm:description "A time Value property"@en ;
samm:characteristic :TimeValueCharacteristic .

:CommunicationModeEnum a samm-c:Enumeration ;
samm:preferredName "Communication Mode Enumeration"@en ;
samm:description "Enumerates all possible communication modes"@en ;
samm:dataType xsd:string ;
samm-c:values ( "synchronous" "cyclic" "notification" ) .

:TimeValueCharacteristic a samm:Characteristic ;
samm:preferredName "Time Value Characteristic"@en ;
samm:description "Link to the TimeUnit Data Type"@en ;
samm:dataType :TimeValue .

:TimeValue a samm:Entity ;
samm:preferredName "TimeValue"@en ;
samm:description "Datatype to express a time value"@en ;
samm:properties ( :timeUnit :value ) .

:timeUnit a samm:Property ;
samm:preferredName "time Unit"@en ;
samm:description "Specifies the unit in which the time is represented"@en ;
samm:characteristic :TimeUnitEnum ;
samm:exampleValue "Hour" .

:value a samm:Property ;
samm:preferredName "value"@en ;
samm:description "The amount of timeUnits considered"@en ;
samm:characteristic :IntegerValueCharacteristic ;
samm:exampleValue 12 .

:TimeUnitEnum a samm-c:Enumeration ;
samm:preferredName "TimeUnitEnum"@en ;
samm:description "Enumerates all possible time units"@en ;
samm:dataType xsd:string ;
samm-c:values ( "Month" "Day" "Week" "Hour" "Minute" "Second" ) .

:IntegerValueCharacteristic a samm:Characteristic ;
samm:preferredName "Integer Value Characteristic"@en ;
samm:description "The value of the specified timeUnit as an integer value"@en ;
samm:dataType xsd:integer .