1 L0 = <http://www.simantics.org/Layer0-1.1>
2 PROJ = <http://www.simantics.org/Project-1.2>
3 SIM = <http://www.simantics.org/Simulation-1.1>
4 //STR = <http://www.simantics.org/Structural-1.2>
5 G3D = <http://www.simantics.org/G3D-0.1>
7 P3D = <http://www.simantics.org/Plant3D-0.1> : L0.Ontology
9 L0.HasResourceClass "org.simantics.plant3d.ontology.Plant3D" : L0.String
11 P3D.ImportedOntologies : PROJ.NamespaceRequirement
12 L0.HasDescription "Specifies the ontologies required by a Plant3D Feature." : L0.String
13 PROJ.RequiresNamespace
14 "http://www.simantics.org/Layer0-1.0" : L0.URI
15 "http://www.simantics.org/Simulation-1.0" : L0.URI
19 P3D.Plant <T G3D.RootNode <T P3D.Node
22 P3D.children <R G3D.children
24 P3D.hasGeometry <R L0.IsWeaklyRelatedTo
25 P3D.GeometryProvider <T L0.Entity
27 P3D.LibraryComponent <T P3D.Node
29 P3D.Equipment <T P3D.LibraryComponent
31 P3D.PipeRun <T P3D.Node
33 P3D.PipelineComponent <T P3D.LibraryComponent
35 P3D.Nozzle <T P3D.LibraryComponent
36 //[HasPipeDiameter card "1"]
37 //[HasLength card "1"]
39 P3D.PipelineComponentTag <R L0.IsWeaklyRelatedTo
41 P3D.SingleConnectedComponent <R P3D.PipelineComponentTag
42 L0.HasDescription "A component that is connected to only one component" : L0.String
43 P3D.DualConnectedComponent <R P3D.PipelineComponentTag
44 L0.HasDescription "A component that is connected to two components" : L0.String
45 P3D.MultiConnectedComponent <R P3D.PipelineComponentTag
46 L0.HasDescription "A component that is connected to more than two components" : L0.String
48 P3D.InlineComponent <T P3D.PipelineComponent
49 L0.HasDescription "Component that connects to two or more components, and maintains direction of (main) pipe run. Centerline of main pipeline may have offset: with offset there is two control points for main pipeline, and without offset, there is only one control point for main pipeline. The component may also join two pipe runs together: then there is always one control point for one pipe run." : L0.String
50 //[HasLength card "1"]
51 P3D.EndComponent <T P3D.PipelineComponent
52 L0.HasDescription "Component that ends the pipe run Component may contain other control points" : L0.String
53 P3D.TurnComponent <T P3D.PipelineComponent
54 L0.HasDescription "Component that changes direction of the pipeline Component that connects to two or more components, and specifies connectivity of main pipe run. Is base type for elbows, pipe bends, etc., but also for components that won't maintain main pipeline direction (inline component). CHECK!!!" : L0.String
55 //[HasTurnAngle card "1"]
57 P3D.FixedLengthInlineComponent <R P3D.PipelineComponentTag
58 L0.HasDescription "Inline component that has fixed length" : L0.String
59 //[HasRotationAngle card "1"]
60 P3D.VariableLengthInlineComponent <R P3D.PipelineComponentTag
61 L0.HasDescription "Inline component whose length can be changed" : L0.String
62 P3D.FixedAngleTurnComponent <R P3D.PipelineComponentTag
63 L0.HasDescription "Turn Component that has specific turning angle that cannot be changed" : L0.String
64 //[HasRotationAngle card "1"]
65 P3D.VariableAngleTurnComponent <R P3D.PipelineComponentTag
66 L0.HasDescription "Turn Component whose turning angle can be modified Contains always one control point (there are no contradictory cases / how to calculate?)" : L0.String
67 //[HasTurnRadius card "1"]
68 P3D.SizeChangeComponent <R P3D.PipelineComponentTag
69 L0.HasDescription "Component that changes pipe run along main pipeline. (Spec change)" : L0.String
70 P3D.OffsetComponent<R P3D.PipelineComponentTag
71 L0.HasDescription "Component that offsets the center of piperun." : L0.String
72 P3D.RotateComponent<R P3D.PipelineComponentTag
73 L0.HasDescription "Inline Component that can be rotated around pipe axis." : L0.String
74 P3D.ReverseComponent<R P3D.PipelineComponentTag
75 L0.HasDescription "Inline Component that can be reversed (rotated 180 deg)" : L0.String
76 P3D.CodeComponent <T P3D.PipelineComponentTag
77 L0.HasDescription "Component that cannot be added directly by user" : L0.String
78 P3D.NonVisibleComponent <R P3D.PipelineComponentTag
79 L0.HasDescription "(Pseudo) Component that cannot bee seen." : L0.String
84 // relation and property definitions
86 P3D.Connects <R L0.IsWeaklyRelatedTo
87 L0.HasDomain P3D.PipelineComponent
88 L0.HasRange P3D.PipelineComponent
89 P3D.HasNext <R P3D.Connects
90 L0.HasDescription "Next point in the piperun" : L0.String
91 L0.InverseOf P3D.NextInverse <R L0.IsWeaklyRelatedTo
92 P3D.HasPrevious <R P3D.Connects
93 L0.HasDescription "Previous point in the piperun" : L0.String
94 L0.InverseOf P3D.PreviousInverse <R L0.IsWeaklyRelatedTo
95 // connections for branches (Objmap requires separate relations!?)
96 P3D.HasBranch0 <R P3D.Connects
97 P3D.HasBranch1 <R P3D.Connects
98 P3D.HasBranch2 <R P3D.Connects
99 P3D.HasBranch3 <R P3D.Connects
100 P3D.HasBranch4 <R P3D.Connects
101 P3D.HasBranch5 <R P3D.Connects
102 P3D.HasBranch6 <R P3D.Connects
103 P3D.HasBranch7 <R P3D.Connects
104 P3D.HasBranch8 <R P3D.Connects
105 P3D.HasBranch9 <R P3D.Connects
107 P3D.HasPipeDiameter <R G3D.hasNonTransformation
108 L0.HasRange L0.Double
109 P3D.HasRotationAngle <R G3D.hasTransformation
110 L0.HasRange L0.Double
111 P3D.HasLength <R G3D.hasNonTransformation
112 L0.HasRange L0.Double
113 P3D.HasTurnAngle <R G3D.hasNonTransformation
114 L0.HasRange L0.Double
117 P3D.HasTurnRadius <R G3D.hasNonTransformation
118 L0.HasRange L0.Double
119 @L0.tag L0.Deprecated
120 P3D.HasTurnRadiusArray <R G3D.hasNonTransformation
121 L0.HasRange L0.DoubleArray
122 P3D.HasTurnRadiusIndex <R G3D.hasNonTransformation
123 L0.HasRange L0.Integer
124 P3D.IsReversed <R L0.HasProperty
125 L0.HasRange L0.Boolean
126 P3D.HasTurnAxis <R G3D.hasTransformation
127 L0.HasRange G3D.Tuple3D
129 P3D.HasNozzle <R G3D.children
130 L0.InverseOf P3D.NozzleOf
131 L0.HasDomain P3D.Equipment
132 L0.HasRange P3D.Nozzle
133 L0.HasDescription "Used to connect nozzles to equipment." : L0.String
134 P3D.HasFixedNozzles <R L0.HasProperty
135 L0.HasDescription "Number of fixed nozzles" : L0.String
136 L0.HasDomain P3D.Equipment
137 L0.HasRange L0.Integer
140 P3D.HasNozzleId <R L0.HasProperty
141 L0.HasDomain P3D.Nozzle
142 L0.HasRange L0.Integer
144 P3D.IsFixedNozzle <R L0.HasProperty
145 L0.HasDescription "Fixed nozzle" : L0.String
146 L0.HasDomain P3D.Nozzle
147 L0.HasRange L0.Boolean
149 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
150 L0.HasDomain P3D.Nozzle
151 L0.HasRange P3D.PipeRun
153 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
154 L0.HasDomain P3D.PipelineComponent
155 L0.HasRange P3D.PipeRun
157 P3D.Parameter <T L0.Entity
159 P3D.hasParameter <R L0.IsRelatedTo
160 L0.HasDomain P3D.Node
161 L0.HasRange P3D.Parameter
163 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
164 L0.HasDomain P3D.Parameter
165 L0.HasRange L0.Literal
167 P3D.ComponentLibrary <T L0.Library
168 P3D.ComponentLibrary.contains <R L0.IsWeaklyRelatedTo