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 P3D.AdjustableLengthInlineComponent <R P3D.PipelineComponentTag
60 L0.HasDescription "Inline component whose length can be changed manually" : L0.String
61 P3D.VariableLengthInlineComponent <R P3D.PipelineComponentTag
62 L0.HasDescription "Inline component whose length can be changed automatically" : L0.String
63 P3D.FixedAngleTurnComponent <R P3D.PipelineComponentTag
64 L0.HasDescription "Turn Component that has specific turning angle that cannot be changed" : L0.String
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 P3D.SizeChangeComponent <R P3D.PipelineComponentTag
68 L0.HasDescription "Component that changes pipe run along main pipeline. (Spec change)" : L0.String
69 P3D.OffsetComponent<R P3D.PipelineComponentTag
70 L0.HasDescription "Component that offsets the center of piperun." : L0.String
71 P3D.RotateComponent<R P3D.PipelineComponentTag
72 L0.HasDescription "Inline Component that can be rotated around pipe axis." : L0.String
73 P3D.ReverseComponent<R P3D.PipelineComponentTag
74 L0.HasDescription "Inline Component that can be reversed (rotated 180 deg)" : L0.String
75 P3D.CodeComponent <T P3D.PipelineComponentTag
76 L0.HasDescription "Component that cannot be added directly by user" : L0.String
77 P3D.NonVisibleComponent <R P3D.PipelineComponentTag
78 L0.HasDescription "(Pseudo) Component that cannot bee seen." : L0.String
83 // relation and property definitions
85 P3D.Connects <R L0.IsWeaklyRelatedTo
86 L0.HasDomain P3D.PipelineComponent
87 L0.HasRange P3D.PipelineComponent
88 P3D.HasNext <R P3D.Connects
89 L0.HasDescription "Next point in the piperun" : L0.String
90 L0.InverseOf P3D.NextInverse <R L0.IsWeaklyRelatedTo
91 P3D.HasPrevious <R P3D.Connects
92 L0.HasDescription "Previous point in the piperun" : L0.String
93 L0.InverseOf P3D.PreviousInverse <R L0.IsWeaklyRelatedTo
94 // connections for branches (Objmap requires separate relations!?)
95 P3D.HasBranch0 <R P3D.Connects
96 P3D.HasBranch1 <R P3D.Connects
97 P3D.HasBranch2 <R P3D.Connects
98 P3D.HasBranch3 <R P3D.Connects
99 P3D.HasBranch4 <R P3D.Connects
100 P3D.HasBranch5 <R P3D.Connects
101 P3D.HasBranch6 <R P3D.Connects
102 P3D.HasBranch7 <R P3D.Connects
103 P3D.HasBranch8 <R P3D.Connects
104 P3D.HasBranch9 <R P3D.Connects
106 P3D.HasPipeDiameter <R G3D.hasNonTransformation
107 L0.HasRange L0.Double
108 P3D.HasPipeThickness <R G3D.hasNonTransformation
109 L0.HasRange L0.Double
110 P3D.HasRotationAngle <R G3D.hasTransformation
111 L0.HasRange L0.Double
112 P3D.HasLength <R G3D.hasNonTransformation
113 L0.HasRange L0.Double
114 P3D.HasTurnAngle <R G3D.hasNonTransformation
115 L0.HasRange L0.Double
118 P3D.HasTurnRadius <R G3D.hasNonTransformation
119 L0.HasRange L0.Double
120 @L0.tag L0.Deprecated
121 P3D.HasTurnRadiusArray <R G3D.hasNonTransformation
122 L0.HasRange L0.DoubleArray
123 P3D.HasTurnRadiusIndex <R G3D.hasNonTransformation
124 L0.HasRange L0.Integer
125 P3D.IsReversed <R L0.HasProperty
126 L0.HasRange L0.Boolean
127 P3D.HasTurnAxis <R G3D.hasTransformation
128 L0.HasRange G3D.Tuple3D
130 P3D.HasNozzle <R G3D.children
131 L0.InverseOf P3D.NozzleOf
132 L0.HasDomain P3D.Equipment
133 L0.HasRange P3D.Nozzle
134 L0.HasDescription "Used to connect nozzles to equipment." : L0.String
135 P3D.HasFixedNozzles <R L0.HasProperty
136 L0.HasDescription "Number of fixed nozzles" : L0.String
137 L0.HasDomain P3D.Equipment
138 L0.HasRange L0.Integer
141 P3D.HasNozzleId <R L0.HasProperty
142 L0.HasDomain P3D.Nozzle
143 L0.HasRange L0.Integer
145 P3D.IsFixedNozzle <R L0.HasProperty
146 L0.HasDescription "Fixed nozzle" : L0.String
147 L0.HasDomain P3D.Nozzle
148 L0.HasRange L0.Boolean
150 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
151 L0.HasDomain P3D.Nozzle
152 L0.HasRange P3D.PipeRun
154 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
155 L0.HasDomain P3D.PipelineComponent
156 L0.HasRange P3D.PipeRun
158 P3D.Parameter <T L0.Entity
160 P3D.hasParameter <R L0.IsRelatedTo
161 L0.HasDomain P3D.Node
162 L0.HasRange P3D.Parameter
164 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
165 L0.HasDomain P3D.Parameter
166 L0.HasRange L0.Literal
168 P3D.ComponentLibrary <T L0.Library
169 P3D.ComponentLibrary.contains <R L0.IsWeaklyRelatedTo