PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX s4inma: <https://saref.etsi.org/saref4inma/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

s4inma:ID a rdfs:Class ;
  rdfs:label "Identifier"@en ;
  rdfs:comment "A unique identifier."@en ;
  rdfs:subClassOf <http://www.w3.org/2004/02/skos/core#ConceptScheme> .

s4inma:hasIDValue a rdf:Property ;
  rdfs:label "has identifier value"@en ;
  rdfs:comment "A relation to express the value of an indentifier as a string (it can be used as alternative to or in combination with the s4inma:hasIdentifier object property"@en ;
  rdfs:range xsd:string .

<https://saref.etsi.org/core/Function> a rdfs:Class ;
  rdfs:label "Function"@en ;
  rdfs:comment "The functionality necessary to accomplish the task for which a device is designed. A device can be designed to perform more than one function. Functions can be structured in categories (subclasses) that reflect different points of view, for example, considering the specific application area for which a function can be used (e.g., light, temperature, motion, heat, power, etc.), or the capability that a function can support (e.g., receive, reply, notify, etc.), and so forth."@en .

s4inma:Area a rdfs:Class ;
  rdfs:label "Area"@en ;
  rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, areas are physical, geographical or logical groupings of resources determined by the site. A site can be divided in areas, whereas areas contain work centers.s."@en ;
  rdfs:subClassOf <https://saref.etsi.org/saref4bldg/BuildingSpace> .

s4inma:UUID a rdfs:Class ;
  rdfs:label "UUID"@en ;
  rdfs:comment "A universally unique identifier (UUID) is a 128-bit number used to identify items and is also known as: globally unique identifier (GUID). In its canonical textual representation, the sixteen octets of a UUID are represented as 32 hexadecimal (base 16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 alphanumeric characters and four hyphens). UUID are documented in ISO/IEC 11578:1996 \"Information technology – Open Systems Interconnection – Remote Procedure Call (RPC)\" and in ITU-T Rec. X.667 | ISO/IEC 9834-8:2005."@en ;
  rdfs:subClassOf s4inma:ID .

s4inma:ProductionEquipment a rdfs:Class ;
  rdfs:label "ProductionEquipment"@en ;
  rdfs:comment "A production equipment is a specialization of a saref:Device and s4bldg:PhysicalObject that can produce items in a manufacturing process. This class represents an individual production equipment device and includes their specification in terms of functions, states and services. Different types of machines can be defined under this class as needed, for example, LaserCuttingMachine (i.e., a type of production equipment to cut steel material), MillingMachine (i.e., to drill holes in steel material), MouldingMachine (i.e., to mold liquid material, such as iron or plastic, and let it harden in a certain shape), WeldingMachine (i.e., join parts of material, such as steel, together), etc."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Device> , <https://saref.etsi.org/saref4bldg/PhysicalObject> .

<https://saref.etsi.org/core/hasState> a rdf:Property ;
  rdfs:label "has state"@en ;
  rdfs:comment "A relationship for identifying the state of a production equipment"@en ;
  rdfs:range <https://saref.etsi.org/core/State> .

<https://saref.etsi.org/core/makesMeasurement> a rdf:Property ;
  rdfs:label "makes measurement"@en ;
  rdfs:comment "A relation between a device and the measurements it makes. Such measurement will link together the value of the measurement, its unit of measure and the property to which it relates."@en ;
  rdfs:range s4inma:Measurement .

<https://saref.etsi.org/core/hasFunction> a rdf:Property ;
  rdfs:label "has function"@en ;
  rdfs:comment "A relationship identifying the function of a device"@en ;
  rdfs:range s4inma:ProductionEquipmentFunction .

<https://saref.etsi.org/core/measuresProperty> a rdf:Property ;
  rdfs:label "measures property"@en ;
  rdfs:comment "A relationship specifying the property that can be measured by a certain device"@en ;
  rdfs:range <https://saref.etsi.org/core/Property> .

s4inma:hasIdentifier a rdf:Property ;
  rdfs:label "has identifier"@en ;
  rdfs:comment "link between an entity and its unique identifier"@en ;
  rdfs:range s4inma:ID .

s4inma:belongsToCategory a rdf:Property ;
  rdfs:label "belongs to category"@en ;
  rdfs:comment "Link between an entity and its category"@en ;
  rdfs:range s4inma:ProductionEquipmentCategory , s4inma:MaterialCategory , s4inma:ItemCategory .

s4inma:Measurement a rdfs:Class ;
  rdfs:label "Measurement"@en ;
  rdfs:comment "A subclass of saref:Measurement that represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement. The saref4imna:Measurement can be linked to individual Batches or Items. Moreover, the Measurement can be an ExpectedMeasurement (i.e. the value which is planned) or the ActualMeasurement (i.e. the value measured during production), which enables to check for deviations between the planned and actual values."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Measurement> .

s4inma:hasFeatureOfInterest a rdf:Property ;
  rdfs:label "has feature of interest"@en ;
  rdfs:comment "Relationship between a feature of interest and equipment"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4inma:ExpectedMeasurement a rdfs:Class ;
  rdfs:label "Expected measurement"@en ;
  rdfs:comment "Describes whether the measurement is expected (i.e., planned before the production process). Disjoint with ActualMeasurement."@en ;
  rdfs:subClassOf s4inma:Measurement .

<https://saref.etsi.org/saref4bldg/Building> a rdfs:Class ;
  rdfs:label "Building"@en ;
  rdfs:comment "A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space)."@en .

s4inma:GTIN13ID a rdfs:Class ;
  rdfs:label "GTIN13ID"@en ;
  rdfs:comment "GTIN-13 (EAN/UCC-13) is a 13-digit number used predominately outside of North America"@en ;
  rdfs:subClassOf s4inma:ID .

<https://saref.etsi.org/saref4bldg/PhysicalObject> a rdfs:Class ;
  rdfs:label "Physical object"@en ;
  rdfs:comment "Any Object that has a proper space region.  (Definition extracted from DUL ontology)"@en .

s4inma:ProductionEquipmentFunction a rdfs:Class ;
  rdfs:label "Production equipment function"@en ;
  rdfs:comment "Functionallity neccessary to accomplish the task for which a production equipment is designed."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Function> .

<https://saref.etsi.org/core/Device> a rdfs:Class ;
  rdfs:label "Device"@en ;
  rdfs:comment "A tangible object designed to accomplish a particular task. In order to accomplish this task, the device performs one or more functions. For example, a washing machine is designed to wash (task) and to accomplish this task it performs a start and stop function."@en .

s4inma:Size a rdfs:Class ;
  rdfs:label "Size"@en ;
  rdfs:comment "The amount of certain objects in a collection (e.g., size of a material batch)."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/Property> .

s4inma:GTIN14ID a rdfs:Class ;
  rdfs:label "GTIN14ID"@en ;
  rdfs:comment "GTIN-14 (EAN/UCC-14 or ITF-14 or also known as ITF Symbol, SCC-14, DUN-14, UPC Case Code, UPC Shipping Container Code, UCC Code 128, EAN Code 128) is a 14-digit number used to identify trade items at various packaging levels."@en ;
  rdfs:subClassOf s4inma:ID .

s4inma:Factory a rdfs:Class ;
  rdfs:label "Factory"@en ;
  rdfs:comment "A subclass of s4bldg:Building specialized for the purpose of SAREF4INMA, a factory represents one or more organizations sharing a definit mission, goals and objectives which provides an output such as a product (definition taken from IEC 62264). A factory can be divided in one or multiple sites. "@en ;
  rdfs:subClassOf <https://saref.etsi.org/saref4bldg/Building> .

s4inma:GTIN8ID a rdfs:Class ;
  rdfs:label "GTIN18ID"@en ;
  rdfs:comment "GTIN-8 (EAN/UCC-8) is an 8-digit number used predominately outside of North America."@en ;
  rdfs:subClassOf s4inma:ID .

s4inma:WorkCenter a rdfs:Class ;
  rdfs:label "Work center"@en ;
  rdfs:comment "A subclass of s4inma:ProductionEquipment (and therefore of s4bld:PhysicalObject). It is an equipment element under an area in a role-based equipment hierarchy that performs production, storage or material movement (definition taken from IEC 62264). An Area contains work centers."@en ;
  rdfs:subClassOf s4inma:ProductionEquipment .

s4inma:ActualMeasurement a rdfs:Class ;
  rdfs:label "Actual measurement"@en ;
  rdfs:comment "Describes whether the measurement is actually measured during the production process. Disjoint with ExpectedMeasurement."@en ;
  rdfs:subClassOf s4inma:Measurement .

s4inma:MaterialBatch a rdfs:Class ;
  rdfs:label "Material Batch"@en ;
  rdfs:comment "A uniform collection of tangible raw material which are relevant for the prodcution process. The MaterialBatch can consists of a set of objects with similar properties (e.g. a certain type of screws) or a stock of homogeen material (e.g. oil, water). The difference between MaterialBatch and ItemBatch is that individual items cannot be traced in a MaterialBatch, whereas this is possible in an ItemBatch, meaning that, for example, it is not possible to trace the individual screw used in a MaterialBatch."@en ;
  rdfs:subClassOf s4inma:Batch .

s4inma:needsEquipment a rdf:Property ;
  rdfs:label "needs equipment"@en ;
  rdfs:comment "A relationship indicating that an entity needs a particular equipment to be produced"@en ;
  rdfs:range s4inma:ProductionEquipment .

s4inma:isFeatureOfInterestOf a rdf:Property ;
  rdfs:label "is feature of interest of"@en ;
  rdfs:comment "Relationship between a feature of interest and equipment"@en ;
  rdfs:range s4inma:Measurement .

s4inma:consistsOfBatch a rdf:Property ;
  rdfs:label "consists of batch"@en ;
  rdfs:comment "A relation to express that a batch can recursively consists of other batches"@en ;
  rdfs:range s4inma:Batch .

s4inma:hasCertificate a rdf:Property ;
  rdfs:label "has certificate"@en ;
  rdfs:comment "The MaterialBatch can contain material quality certificates, for example a NEN 10204:2004 3.1 steel certificate."@en ;
  rdfs:range xsd:string .

s4inma:ItemCategory a rdfs:Class ;
  rdfs:label "Item category"@en ;
  rdfs:comment "An ItemCategory describes a single type of item in terms of its static properties. Each ItemCategory can have multiple related ItemBatches, which all contain individual Items. The essential properties of each Item in all ItemBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of all Items related to an ItemCategory are similar."@en .

s4inma:isCategoryOf a rdf:Property ;
  rdfs:label "is category of"@en ;
  rdfs:comment "Link between a category and its associated entity"@en ;
  rdfs:range s4inma:ItemBatch , s4inma:MaterialBatch , s4inma:ProductionEquipment .

s4inma:isProducedBy a rdf:Property ;
  rdfs:label "is produced by"@en ;
  rdfs:comment "Items are produced using certain types of ProductionEquipmentCategories, for example: welding machines or laser cutting machines."@en ;
  rdfs:range s4inma:ProductionEquipmentCategory .

s4inma:hasUpdate a rdf:Property ;
  rdfs:label "has update"@en ;
  rdfs:comment "The newer version of a ItemCategory."@en ;
  rdfs:range s4inma:ItemCategory .

s4inma:IRDI a rdfs:Class ;
  rdfs:label "IRDI"@en ;
  rdfs:comment "International Registration Data Identifier (IRDI) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 and used in eCl@ss and the Asset Administration Shell as unique identifier."@en ;
  rdfs:subClassOf s4inma:ID .

s4inma:ItemBatch a rdfs:Class ;
  rdfs:label "Item Batch"@en ;
  rdfs:comment "A uniform collection of tangible objects which are relevant for the prodcution process. The ItemBatch consists of a set of objects with similar properties (e.g. a certain type of sensors or metal sheets). The difference between ItemBatch and MaterialBatch is that individual items can be traced in a ItemBatch, whereas this is not possible in a MaterialBatch, meaning that, for example, it is possible to trace the individual metal sheet used in a ItemBatch. This implies that the objects in an ItemBatch have an unique identifier (e.g. a GTIN code in the form of a barcode/QR-code or RFID tag)."@en ;
  rdfs:subClassOf s4inma:Batch .

s4inma:creates a rdf:Property ;
  rdfs:label "creates"@en ;
  rdfs:comment "A relation between a production process (e.g., Batch) that creates one or more tangible objects (e.g., Items)"@en ;
  rdfs:range s4inma:Item .

s4inma:MaterialCategory a rdfs:Class ;
  rdfs:label "Material category"@en ;
  rdfs:comment "A MaterialCategory describes a category of material in terms of its static properties. Examples are: a certain category of steel or plastic. Each MaterialCategory can have multiple related MaterialBatches, which represent the physical material. The essential properties of the material in all MaterialBatches are the same. However, each batch might use different MaterialBatches and/or different ProductionEquipment. Therefore, small deviations between batches might occur, while the essential properties of the material related to an MaterialCategory are similar."@en .

s4inma:Item a rdfs:Class ;
  rdfs:label "Item"@en ;
  rdfs:comment "A tangible object which can be unique identified, for example, with a GTIN in the form of a barcode/QR/RFID tag. An item product can be the result of the organization's production process (i.e. outflow of objects/goods) or can be uniquely identifiable material (i.e. inflow of objects/supplies). Each item is part of exactly one ItemBatch, whereas each ItemBatch contains only Items which have similar properties. An item can consists of multiple Batches and other Items (i.e. subassemblies)."@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> .

s4inma:consistsOfItem a rdf:Property ;
  rdfs:label "consists of item"@en ;
  rdfs:comment "A relation to express that an item can recursively consists of other Items"@en ;
  rdfs:range s4inma:Item .

s4inma:isCreatedIn a rdf:Property ;
  rdfs:label "is created in"@en ;
  rdfs:comment "An Item is created in an ItemBatch."@en ;
  rdfs:range s4inma:ItemBatch .

s4inma:ProductionEquipmentCategory a rdfs:Class ;
  rdfs:label "Production equipment category"@en ;
  rdfs:comment "A ProductionEquipmentCategory represents a certain type of production equipment, which is generally static over time. More concretely, the ProductionEquipmentCategory represents a certain model and brand of a production equipment. Each ProductionEquipmentCategory can have multiple related ProductionEquipment, which represent the actual individual machines. Moreover, each ItemCategory can be produced by multiple ProductionEquipmentCategories."@en .

s4inma:Site a rdfs:Class ;
  rdfs:label "Site"@en ;
  rdfs:comment "A subclass of s4bldg:BuildingSpace used to define the physical spaces of the building. According to IEC 62264, sites are identified physical, geographical, and/or logical component groupings of a manufacturing enterprise. A factory can be divided in sites, whereas sites can be divided areas"@en ;
  rdfs:subClassOf <https://saref.etsi.org/saref4bldg/BuildingSpace> .

s4inma:Batch a rdfs:Class ;
  rdfs:label "Batch"@en ;
  rdfs:comment "A uniform collection of tangible objects or Lot. This can either be a collection of produced items (i.e. the outflow of products) or a collection of raw material or required material (i.e. the inflow of products). It is assumed that the objects in a batch are similar and thus have shared attributes. Note that this definition is broader than the definition in IEC 61512, which defines a batch as the material that is being produced (whereas in SAREF4INMA a batch can be items or materials). "@en ;
  rdfs:subClassOf <https://saref.etsi.org/core/FeatureOfInterest> .

<https://saref.etsi.org/core/State> a rdfs:Class .

<https://saref.etsi.org/saref4bldg/BuildingSpace> a rdfs:Class ;
  rdfs:label "Building space"@en ;
  rdfs:comment "An entity used to define the physical spaces of the building. A building space contains devices or building objects."@en .

<http://www.w3.org/2004/02/skos/core#ConceptScheme> a rdfs:Class ;
  rdfs:label "Concept Scheme"@en ;
  rdfs:comment "SKOS concept scheme can be viewed as an aggregation of one or more SKOS concepts."@en .

<https://saref.etsi.org/core/Measurement> a rdfs:Class ;
  rdfs:label "Measurement"@en ;
  rdfs:comment "Represents the measured value made over a property. It is also linked to the unit of measure in which the value is expressed and the timestamp of the measurement."@en .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

s4inma:GTIN12ID a rdfs:Class ;
  rdfs:label "GTIN12ID"@en ;
  rdfs:comment "GTIN-12 (UPC-A) is a 12-digit number used primarily in North America"@en ;
  rdfs:subClassOf s4inma:ID .

<https://saref.etsi.org/core/Property> a rdfs:Class ;
  rdfs:label "Property"@en ;
  rdfs:comment "An aspect of an entity that can be observable by a sensor."@en .

<https://saref.etsi.org/core/FeatureOfInterest> a rdfs:Class ;
  rdfs:label "Feature of interest"@en ;
  rdfs:comment "A feature of interest represents any real world entity from which a property is measured."@en .

s4inma:hasGTIN12ID a rdf:Property ;
  rdfs:label "has GTIN12ID "@en ;
  rdfs:comment "A relationship determining the  GTIN-12 identifier"@en ;
  rdfs:range s4inma:GTIN12ID ;
  rdfs:subPropertyOf s4inma:hasIdentifier .

s4inma:hasGTIN12IDValue a rdf:Property ;
  rdfs:label "has GTIN12ID value"@en ;
  rdfs:comment "A relation to express the value of an GTIN12 as a string"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4inma:hasIDValue .

s4inma:hasGTIN13ID a rdf:Property ;
  rdfs:label "has GTIN13ID"@en ;
  rdfs:comment "A relationship determining the  GTIN-13 identifier"@en ;
  rdfs:range s4inma:GTIN13ID ;
  rdfs:subPropertyOf s4inma:hasIdentifier .

s4inma:hasGTIN13IDValue a rdf:Property ;
  rdfs:label "has GTIN13ID value"@en ;
  rdfs:comment "A relation to express the value of an GTIN13 as a string"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4inma:hasIDValue .

s4inma:hasGTIN14ID a rdf:Property ;
  rdfs:label "has GTIN14ID"@en ;
  rdfs:comment "A relationship determining the  GTIN-14 identifier"@en ;
  rdfs:range s4inma:GTIN14ID ;
  rdfs:subPropertyOf s4inma:hasIdentifier .

s4inma:hasGTIN14IDValue a rdf:Property ;
  rdfs:label "has GTIN14ID value"@en ;
  rdfs:comment "A relation to express the value of an GTIN14 as a string"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4inma:hasIDValue .

s4inma:hasGTIN8ID a rdf:Property ;
  rdfs:label "has GTIN8ID"@en ;
  rdfs:comment "A relationship determining the  GTIN-8 identifier"@en ;
  rdfs:range s4inma:GTIN8ID ;
  rdfs:subPropertyOf s4inma:hasIdentifier .

s4inma:hasGTIN8IDValue a rdf:Property ;
  rdfs:label "has GTIN8ID value"@en ;
  rdfs:comment "A relation to express the value of an GTIN8 as a string"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4inma:hasIDValue .

s4inma:hasIRDI a rdf:Property ;
  rdfs:label "has IRDI"@en ;
  rdfs:comment "A relationship determining the  International Registration Data Identifier (IRDI)"@en ;
  rdfs:range s4inma:IRDI ;
  rdfs:subPropertyOf s4inma:hasIdentifier .

s4inma:hasIRDIValue a rdf:Property ;
  rdfs:label "has IRDI value"@en ;
  rdfs:comment "A relation to express the value of an IRDI as a string"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4inma:hasIDValue .

s4inma:hasModelNumber a rdf:Property ;
  rdfs:label "has model number"@en ;
  rdfs:comment "A relation to express the model number of a certain object (item, product, equipment, etc.) "@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4inma:hasSerialNumber a rdf:Property ;
  rdfs:label "has serial number"@en ;
  rdfs:comment "A relation to describe the serial number of a certain Item, which is unique per Item."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4inma:hasSize a rdf:Property ;
  rdfs:label "has size"@en ;
  rdfs:comment "A relationship to count the amount of certain objects in a collection (e.g., size of a material batch)"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4inma:hasUUID a rdf:Property ;
  rdfs:label "has UUID"@en ;
  rdfs:comment "A relationship determining the Universally Unique Identifier (UUID)"@en ;
  rdfs:range s4inma:UUID ;
  rdfs:subPropertyOf s4inma:hasIdentifier .

s4inma:hasUUIDValue a rdf:Property ;
  rdfs:label "has UUID value"@en ;
  rdfs:comment "A relation to express the value of an UUID as a string"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf s4inma:hasIDValue .

s4inma:hasVersion a rdf:Property ;
  rdfs:label "has version"@en ;
  rdfs:comment "An item has a certain revision or version number, whereas a higher number indicates a newer version."@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

s4inma:produces a rdf:Property ;
  rdfs:label "produces"@en ;
  rdfs:comment "ProductionEquipmentCategory, such as welding machines or laser cutting machines, produce certain categories of items (inverse of s4inma:isProducedBy)"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .
