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
116 //P3D.HasOffset <R L0.HasProperty
117 // L0.HasRange L0.Double
118 //HasRelativePosition <R HasProperty
119 // HasRange [Position]
120 //HasRelativeDirection <R HasProperty
122 //HasDirection <R HasProperty
124 P3D.HasTurnRadius <R G3D.hasNonTransformation
125 L0.HasRange L0.Double
126 P3D.IsReversed <R L0.HasProperty
127 L0.HasRange L0.Boolean
128 P3D.HasTurnAxis <R G3D.hasTransformation
129 L0.HasRange G3D.Tuple3D
131 //P3D.HasNozzleDefinition <R L0.HasProperty
132 // L0.HasDomain P3D.Equipment
133 // L0.HasRange P3D.Nozzle
134 // L0.HasDescription "This relation is used to connect nozzles to equipment in the template. For instantiated equipment nozzles must be connected with HasNozzle relation." : L0.String
135 P3D.HasNozzle <R G3D.children
136 L0.InverseOf P3D.NozzleOf
137 L0.HasDomain P3D.Equipment
138 L0.HasRange P3D.Nozzle
139 L0.HasDescription "Used to connect nozzles to equipment." : L0.String
140 //P3D.HasNozzleRestriction <R L0.HasProperty
141 // L0.HasDescription "Used in template equipment to restrict amount of nozzles. If template has as many nozzleDefinitions that maximum count in this restriction, user cannot add new nozzles to the equipment instance." : L0.String
142 P3D.HasFixedNozzles <R L0.HasProperty
143 L0.HasDescription "Number of fixed nozzles" : L0.String
144 L0.HasDomain P3D.Equipment
145 L0.HasRange L0.Integer
148 P3D.HasNozzleId <R L0.HasProperty
149 L0.HasDomain P3D.Nozzle
150 L0.HasRange L0.Integer
152 P3D.IsFixedNozzle <R L0.HasProperty
153 L0.HasDescription "Fixed nozzle" : L0.String
154 L0.HasDomain P3D.Nozzle
155 L0.HasRange L0.Boolean
157 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
158 L0.HasDomain P3D.Nozzle
159 L0.HasRange P3D.PipeRun
161 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
162 L0.HasDomain P3D.PipelineComponent
163 L0.HasRange P3D.PipeRun
165 P3D.Parameter <T L0.Entity
167 P3D.hasParameter <R L0.IsRelatedTo
168 L0.HasDomain P3D.Node
169 L0.HasRange P3D.Parameter
171 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
172 L0.HasDomain P3D.Parameter
173 L0.HasRange L0.Literal
175 P3D.ComponentLibrary <T L0.Library
176 P3D.ComponentLibrary.contains <R L0.IsWeaklyRelatedTo