@prefix bibo: <http://purl.org/ontology/bibo/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix vdi3682: <https://w3id.org/aias/odp/vdi3682#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dcterms:abstract a owl:AnnotationProperty .

dcterms:bibliographicCitation a owl:AnnotationProperty .

dcterms:created a owl:AnnotationProperty .

dcterms:creator a owl:AnnotationProperty .

dcterms:hasVersion a owl:AnnotationProperty .

dcterms:license a owl:AnnotationProperty .

dcterms:modified a owl:AnnotationProperty .

dcterms:publisher a owl:AnnotationProperty .

dcterms:rights a owl:AnnotationProperty .

dcterms:source a owl:AnnotationProperty .

dcterms:subject a owl:AnnotationProperty .

dcterms:title a owl:AnnotationProperty .

bibo:doi a owl:AnnotationProperty .

bibo:status a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

xsd:date a rdfs:Datatype .

skos:note a owl:AnnotationProperty .

foaf:fundedBy a owl:AnnotationProperty .

schema:codeRepository a owl:AnnotationProperty .

vdi3682:AlternativeFlow a owl:Class ;
    rdfs:label "Alternativfluss"@de,
        "Alternative Flow"@en ;
    rdfs:comment "Fluss, der Teil eines getrennten Flusses ist und sich gegenseitig ausschließende Prozesswege bezeichnet."@de,
        "A flow that is part of a separate flow denoting mutually exclusive process paths."@en ;
    rdfs:subClassOf vdi3682:Flow ;
    skos:note "VDI 3682 Part 1, Section 4.2.2 models alternative process runs as separate flows, again without additional graphical elements. The class is a design decision of this pattern."@en .

vdi3682:ParallelFlow a owl:Class ;
    rdfs:label "Parallelfluss"@de,
        "Parallel Flow"@en ;
    rdfs:comment "Fluss, der Teil eines teilweise gemeinsamen Flusses ist und nebenläufig ablaufende Prozessschritte bezeichnet."@de,
        "A flow that is part of a partially shared flow denoting process steps running concurrently."@en ;
    rdfs:subClassOf vdi3682:Flow ;
    skos:note "VDI 3682 Part 1, Section 4.2.1 models parallel process runs as a partially shared flow and requires no additional graphical elements for them. The class is a design decision of this pattern."@en .

vdi3682:consistsOf a owl:ObjectProperty ;
    rdfs:label "besteht aus"@de,
        "consists of"@en ;
    rdfs:comment "Verbindet einen Prozess mit den Elementen, die ihn beschreiben."@de,
        "Relates a process to the elements describing it."@en ;
    rdfs:domain vdi3682:Process ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( vdi3682:Process vdi3682:ProcessOperator vdi3682:State vdi3682:SystemBorder ) ] ;
    skos:note "The range takes in the process itself, which is how decomposition is recorded here: a process consists of further processes."@en .

vdi3682:hasInput a owl:ObjectProperty ;
    rdfs:label "hat Eingang"@de,
        "has input"@en ;
    rdfs:comment "Verbindet einen Prozessoperator mit einem in ihn eingehenden Fluss."@de,
        "Relates a process operator to a flow entering it."@en ;
    rdfs:domain vdi3682:ProcessOperator ;
    rdfs:range vdi3682:Flow ;
    owl:inverseOf vdi3682:isInput ;
    skos:note "The flow is the input, not the state. The state is reached from the flow through hasState, one step further along."@en .

vdi3682:hasOutput a owl:ObjectProperty ;
    rdfs:label "hat Ausgang"@de,
        "has output"@en ;
    rdfs:comment "Verbindet einen Prozessoperator mit einem aus ihm ausgehenden Fluss."@de,
        "Relates a process operator to a flow leaving it."@en ;
    rdfs:domain vdi3682:ProcessOperator ;
    rdfs:range vdi3682:Flow ;
    owl:inverseOf vdi3682:isOutput .

vdi3682:hasState a owl:ObjectProperty ;
    rdfs:label "hat Zustand"@de,
        "has state"@en ;
    rdfs:comment "Verbindet einen Fluss mit dem Zustand, den er trägt."@de,
        "Relates a flow to the state it carries."@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( vdi3682:Energy vdi3682:Flow vdi3682:Information vdi3682:Product ) ] ;
    rdfs:range vdi3682:State ;
    skos:note "Used in two places. A flow carries a state, and a product, an energy or an information has one. The thing is therefore separate from the condition it is in, which is what lets one product appear in a process before and after a transformation."@en .

vdi3682:isAssignedTo a owl:ObjectProperty ;
    rdfs:label "ist zugeordnet"@de,
        "is assigned to"@en ;
    rdfs:comment "Verbindet einen Prozessoperator mit der Zuordnung, die angibt, welche Ressource ihn ausführt, sowie eine Zuordnung mit dieser Ressource."@de,
        "Relates a process operator to the assignment stating which resource performs it, and an assignment to that resource."@en ;
    rdfs:domain [ a owl:Class ;
            owl:unionOf ( vdi3682:Assignment vdi3682:ProcessOperator ) ] ;
    rdfs:range [ a owl:Class ;
            owl:unionOf ( vdi3682:Assignment vdi3682:TechnicalResource ) ] ;
    skos:note "One relation used along a chain of two steps, from the operator to the assignment and from the assignment to the resource. Its domain and range are therefore unions, since each covers both ends of the chain."@en .

<https://w3id.org/aias/odp/vdi3682> a owl:Ontology ;
    dcterms:abstract "An ontology design pattern for the formalised description of technical processes according to VDI/VDE 3682 part 1. A process is described as a network: process operators transform the state of products, energies and information, flows connect the operators, technical resources are assigned to the operators that carry them out, and a system border bounds what is described. Every definition carries the German wording of the standard alongside its English translation. The pattern is one of three subdomain patterns of the AIAS information model and is meant to be imported and aligned rather than used on its own."@en ;
    dcterms:bibliographicCitation "M. Schieseck, P. Topalis, L. Reinpold, F. Gehlhoff and A. Fay, \"A Formal Model for Artificial Intelligence Applications in Automation Systems,\" 2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA), Padova, Italy, IEEE, September 2024. DOI 10.1109/ETFA61755.2024.10710890"@en ;
    dcterms:created "2024-09-01"^^xsd:date ;
    dcterms:creator "Alexander Fay",
        "Felix Gehlhoff",
        "Lasse Reinpold",
        "Marvin Schieseck",
        "Philip Topalis" ;
    dcterms:hasVersion <https://w3id.org/aias/odp/vdi3682> ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:modified "2026-09-02"^^xsd:date ;
    dcterms:publisher "Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg" ;
    dcterms:rights "This research is funded by dtec.bw – Digitalization and Technology Research Center of the Bundeswehr. dtec.bw is funded by the European Union – NextGenerationEU"@en ;
    dcterms:source <https://www.vdi.de/richtlinien/details/vdivde-3682-blatt-1-formalisierte-prozessbeschreibungen-konzept-und-grafische-darstellung> ;
    dcterms:subject "Formalised Process Description"@en,
        "Ontology Design Pattern"@en,
        "Process Description"@en,
        "Technical Process"@en,
        "VDI 3682"@en ;
    dcterms:title "VDI 3682 Ontology Design Pattern"@en ;
    bibo:doi "10.1109/ETFA61755.2024.10710890" ;
    bibo:status "Draft"@en ;
    vann:preferredNamespacePrefix "vdi3682" ;
    vann:preferredNamespaceUri "https://w3id.org/aias/odp/vdi3682#" ;
    rdfs:comment """Normative basis: VDI/VDE 3682 Part 1 and Part 2, issue May 2015.

Twelve classes and seven relations. Every definition carries the German wording of the standard alongside its English translation, since the standard is issued bilingually.

Scope: Part 1 in full, and from Part 2 the state as a class of the information model. The attribute structure of Part 2 Section 4.4 is not covered."""@en ;
    owl:versionIRI <https://w3id.org/aias/odp/vdi3682/1.0.0> ;
    owl:versionInfo "1.0.0" ;
    foaf:fundedBy <https://dtecbw.de/> ;
    schema:codeRepository <https://github.com/schiesem/aias> .

vdi3682:Energy a owl:Class ;
    rdfs:label "Energie"@de,
        "Energy"@en ;
    rdfs:comment "Energie, die von einem Prozessoperator benötigt oder freigesetzt wird, beispielsweise elektrische Energie oder Wärme."@de,
        "Energy required or released by a process operator, for example electrical energy or heat."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1."@en .

vdi3682:Information a owl:Class ;
    rdfs:label "Information"@de,
        "Information"@en ;
    rdfs:comment "Information, die ein Prozessoperator zur Durchführung seiner Umwandlung benötigt oder die durch ihn entsteht."@de,
        "Information required by a process operator to carry out its transformation, or information created by it."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1."@en .

vdi3682:Product a owl:Class ;
    rdfs:label "Produkt"@de,
        "Product"@en ;
    rdfs:comment "Dinge der realen Welt, die im Rahmen eines technischen Prozesses umgewandelt werden."@de,
        "Things of the real world that are transformed within a technical process."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1, page 8. A product is not a kind of state: it has one, which hasState records. The thing and the condition it is in are kept apart, so the same sheet of metal before and after a stamping is one product in two states."@en .

vdi3682:isInput a owl:ObjectProperty ;
    rdfs:label "ist Eingang von"@de,
        "is input of"@en ;
    rdfs:comment "Verbindet einen Fluss mit dem Prozessoperator, in den er eingeht."@de,
        "Relates a flow to the process operator it enters."@en ;
    rdfs:domain vdi3682:Flow ;
    rdfs:range vdi3682:ProcessOperator ;
    skos:note "The inverse of hasInput. Both directions are stated because a model may describe a process from either end."@en .

vdi3682:isOutput a owl:ObjectProperty ;
    rdfs:label "ist Ausgang von"@de,
        "is output of"@en ;
    rdfs:comment "Verbindet einen Fluss mit dem Prozessoperator, aus dem er ausgeht."@de,
        "Relates a flow to the process operator it leaves."@en ;
    rdfs:domain vdi3682:Flow ;
    rdfs:range vdi3682:ProcessOperator .

vdi3682:SystemBorder a owl:Class ;
    rdfs:label "Systemgrenze"@de,
        "System Border"@en ;
    rdfs:comment "Grenze, die den Betrachtungshorizont eines Prozesses festlegt. Unter bestimmten Bedingungen kann sie auch als Bilanzgrenze für ein- und ausgehende Produkte und Energien aufgefasst werden."@de,
        "The boundary determining the observation horizon of a process. Under certain conditions it may also be regarded as a balance limit for incoming and outgoing products and energies."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1. The standard calls this the Systemgrenze, which is a system limit rather than a border. The class name follows the English wording of the standard's own translation."@en .

vdi3682:TechnicalResource a owl:Class ;
    rdfs:label "Technische Ressource"@de,
        "Technical Resource"@en ;
    rdfs:comment "Physische Komponenten, aus denen automatisierte Anlagen aufgebaut sind und die die Umwandlungen der Produkte durch Prozessoperatoren realisieren."@de,
        "Physical components of which automated plants are built and which realise the transformations carried out by process operators."@en ;
    skos:note "VDI 3682 Part 1, Section 4.2."@en .

vdi3682:Assignment a owl:Class ;
    rdfs:label "Zuordnung"@de,
        "Assignment"@en ;
    rdfs:comment "Strukturelle Verbindung zwischen Prozessoperator und technischer Ressource, über die einer Ressource die Ausführung eines Prozessoperators zugewiesen wird."@de,
        "The structural connection between a process operator and a technical resource through which the execution of the operator is assigned to the resource."@en ;
    skos:note "VDI 3682 Part 1, Section 4.2. Figure 3 carries this relation as the usage symbol, an edge of the graphical notation. Reifying it as a class is a design decision of this pattern."@en .

vdi3682:Process a owl:Class ;
    rdfs:label "Prozess"@de,
        "Process"@en ;
    rdfs:comment "Netz zur Beschreibung technischer Prozesse, dessen Knoten die Zustände von Produkten und dessen gerichtete Kanten die Umwandlungsschritte durch Prozessoperatoren darstellen."@de,
        "A network describing a technical process. Its nodes are the states of products, energies and information, its directed edges are the transformation steps carried out by process operators."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1, page 8."@en .

vdi3682:State a owl:Class ;
    rdfs:label "Zustand"@de,
        "State"@en ;
    rdfs:comment "Zustand eines Produkts, einer Energie oder einer Information an einer bestimmten Stelle eines Prozesses, entweder vor einer Umwandlung oder danach."@de,
        "The condition of a product, an energy or an information at a given point of a process, either before a transformation or after it."@en ;
    skos:note "VDI 3682 Part 2, Figure 2 carries state as a class of the information model. Part 1 avoids the term in the graphical notation, where the three kinds appear directly."@en .

vdi3682:ProcessOperator a owl:Class ;
    rdfs:label "Prozessoperator"@de,
        "Process Operator"@en ;
    rdfs:comment "Vorgang, durch den der Eingangszustand von Produkten, Energien oder Informationen in einen Ausgangszustand umgewandelt wird."@de,
        "An operation transforming the input state of products, energies or information into an output state."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1, pages 8 and 9."@en .

vdi3682:Flow a owl:Class ;
    rdfs:label "Fluss"@de,
        "Flow"@en ;
    rdfs:comment "Gerichtete Verbindung von Produkten zwischen Prozessoperatoren."@de,
        "A directed connection of products between process operators."@en ;
    skos:note "VDI 3682 Part 1, Section 4.1, page 8. Figure 3 lists the flow among the eight symbols of the graphical notation, where it is an edge rather than an object. Reifying it as a class is a design decision of this pattern."@en .

[] a owl:AllDisjointClasses ;
    owl:members ( vdi3682:Assignment vdi3682:Flow vdi3682:Process vdi3682:ProcessOperator vdi3682:State vdi3682:SystemBorder vdi3682:TechnicalResource ) .

