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.childen <R G3D.children
24 P3D.hasGeometry <R L0.IsWeaklyRelatedTo
26 P3D.LibraryComponent <T P3D.Node
28 P3D.Equipment <T P3D.LibraryComponent
30 P3D.PipeRun <T P3D.Node
32 P3D.PipelineComponent <T P3D.LibraryComponent
34 P3D.Nozzle <T P3D.LibraryComponent
35 //[HasPipeDiameter card "1"]
36 //[HasLength card "1"]
38 P3D.PipelineComponentTag <R L0.IsWeaklyRelatedTo
40 P3D.SingleConnectedComponent <R P3D.PipelineComponentTag
41 L0.HasDescription "A component that is connected to only one component" : L0.String
42 P3D.DualConnectedComponent <R P3D.PipelineComponentTag
43 L0.HasDescription "A component that is connected to two components" : L0.String
44 P3D.MultiConnectedComponent <R P3D.PipelineComponentTag
45 L0.HasDescription "A component that is connected to more than two components" : L0.String
47 P3D.InlineComponent <T P3D.PipelineComponent
48 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
49 //[HasLength card "1"]
50 P3D.EndComponent <T P3D.PipelineComponent
51 L0.HasDescription "Component that ends the pipe run Component may contain other control points" : L0.String
52 P3D.TurnComponent <T P3D.PipelineComponent
53 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
54 //[HasTurnAngle card "1"]
56 P3D.FixedLengthInlineComponent <R P3D.PipelineComponentTag
57 L0.HasDescription "Inline component that has fixed length" : L0.String
58 //[HasRotationAngle card "1"]
59 P3D.VariableLengthInlineComponent <R P3D.PipelineComponentTag
60 L0.HasDescription "Inline component whose length can be changed" : L0.String
61 P3D.FixedAngleTurnComponent <R P3D.PipelineComponentTag
62 L0.HasDescription "Turn Component that has specific turning angle that cannot be changed" : L0.String
63 //[HasRotationAngle card "1"]
64 P3D.VariableAngleTurnComponent <R P3D.PipelineComponentTag
65 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
66 //[HasTurnRadius card "1"]
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.CodeComponent <T P3D.PipelineComponentTag
74 L0.HasDescription "Component that cannot be added directly by user" : L0.String
75 P3D.NonVisibleComponent <R P3D.PipelineComponentTag
76 L0.HasDescription "(Pseudo) Component that cannot bee seen." : L0.String
81 // relation and property definitions
83 P3D.Connects <R L0.IsWeaklyRelatedTo
84 L0.HasDomain P3D.PipelineComponent
85 L0.HasRange P3D.PipelineComponent
86 P3D.HasNext <R P3D.Connects
87 L0.HasDescription "Next point in the piperun" : L0.String
88 L0.InverseOf P3D.NextInverse <R L0.IsWeaklyRelatedTo
89 P3D.HasPrevious <R P3D.Connects
90 L0.HasDescription "Previous point in the piperun" : L0.String
91 L0.InverseOf P3D.PreviousInverse <R L0.IsWeaklyRelatedTo
92 // connections for branches (Objmap requires separate relations!?)
93 P3D.HasBranch0 <R P3D.Connects
94 P3D.HasBranch1 <R P3D.Connects
95 P3D.HasBranch2 <R P3D.Connects
96 P3D.HasBranch3 <R P3D.Connects
97 P3D.HasBranch4 <R P3D.Connects
98 P3D.HasBranch5 <R P3D.Connects
99 P3D.HasBranch6 <R P3D.Connects
100 P3D.HasBranch7 <R P3D.Connects
101 P3D.HasBranch8 <R P3D.Connects
102 P3D.HasBranch9 <R P3D.Connects
104 P3D.HasPipeDiameter <R G3D.hasNonTransformation
105 L0.HasRange L0.Double
106 //P3D.HasLength <R G3D.hasNonTransformation
107 // L0.HasRange L0.Double
108 //P3D.HasTurnAngle <R G3D.hasNonTransformation
109 // L0.HasRange L0.Double
110 P3D.HasRotationAngle <R G3D.hasTransformation
111 L0.HasRange L0.Double
112 //P3D.HasOffset <R L0.HasProperty
113 // L0.HasRange L0.Double
114 //HasRelativePosition <R HasProperty
115 // HasRange [Position]
116 //HasRelativeDirection <R HasProperty
118 //HasDirection <R HasProperty
120 P3D.HasTurnRadius <R G3D.hasNonTransformation
121 L0.HasRange L0.Double
122 P3D.IsReversed <R L0.HasProperty
123 L0.HasRange L0.Boolean
124 P3D.HasTurnAxis <R G3D.hasTransformation
125 L0.HasRange G3D.Tuple3D
127 P3D.HasNozzleDefinition <R L0.HasProperty
128 L0.HasDomain P3D.Equipment
129 L0.HasRange P3D.Nozzle
130 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
131 P3D.HasNozzle <R G3D.children
132 L0.InverseOf P3D.NozzleOf
133 L0.HasDomain P3D.Equipment
134 L0.HasRange P3D.Nozzle
135 L0.HasDescription "Used to connect nozzles to equipment." : L0.String
136 P3D.HasNozzleRestriction <R L0.HasProperty
137 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
139 P3D.HasNozzleId <R L0.HasProperty
140 L0.HasDomain P3D.Nozzle
141 L0.HasRange L0.Integer
143 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
144 L0.HasDomain P3D.Nozzle
145 L0.HasRange P3D.PipeRun
147 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
148 L0.HasDomain P3D.PipelineComponent
149 L0.HasRange P3D.PipeRun
151 P3D.Parameter <T L0.Entity
153 P3D.hasParameter <R L0.IsRelatedTo
154 L0.HasDomain P3D.Node
155 L0.HasRange P3D.Parameter
157 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
158 L0.HasDomain P3D.Parameter
159 L0.HasRange L0.Literal