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.CodeComponent <T P3D.PipelineComponentTag
72 L0.HasDescription "Compoenent that cannot be added directly by user" : L0.String
73 P3D.NonVisibleComponent <R P3D.PipelineComponentTag
74 L0.HasDescription "(Pseudo) Component that cannot bee seen." : L0.String
79 // relation and property definitions
81 P3D.Connects <R L0.IsWeaklyRelatedTo
82 L0.HasDomain P3D.PipelineComponent
83 L0.HasRange P3D.PipelineComponent
84 P3D.HasNext <R P3D.Connects
85 L0.HasDescription "Next point in the piperun" : L0.String
86 L0.InverseOf P3D.NextInverse <R L0.IsWeaklyRelatedTo
87 P3D.HasPrevious <R P3D.Connects
88 L0.HasDescription "Previous point in the piperun" : L0.String
89 L0.InverseOf P3D.PreviousInverse <R L0.IsWeaklyRelatedTo
90 // connections for branches (Objmap requires separate relations!?)
91 P3D.HasBranch0 <R P3D.Connects
92 P3D.HasBranch1 <R P3D.Connects
93 P3D.HasBranch2 <R P3D.Connects
94 P3D.HasBranch3 <R P3D.Connects
95 P3D.HasBranch4 <R P3D.Connects
96 P3D.HasBranch5 <R P3D.Connects
97 P3D.HasBranch6 <R P3D.Connects
98 P3D.HasBranch7 <R P3D.Connects
99 P3D.HasBranch8 <R P3D.Connects
100 P3D.HasBranch9 <R P3D.Connects
102 P3D.HasPipeDiameter <R G3D.hasNonTransformation
103 L0.HasRange L0.Double
104 //P3D.HasLength <R G3D.hasNonTransformation
105 // L0.HasRange L0.Double
106 //P3D.HasTurnAngle <R G3D.hasNonTransformation
107 // L0.HasRange L0.Double
108 //P3D.HasRotationAngle <R G3D.hasTransformation
109 // L0.HasRange L0.Double
110 //P3D.HasOffset <R L0.HasProperty
111 // L0.HasRange L0.Double
112 //HasRelativePosition <R HasProperty
113 // HasRange [Position]
114 //HasRelativeDirection <R HasProperty
116 //HasDirection <R HasProperty
118 P3D.HasTurnRadius <R G3D.hasNonTransformation
119 L0.HasRange L0.Double
120 P3D.IsReversed <R L0.HasProperty
121 L0.HasRange L0.Boolean
122 P3D.HasTurnAxis <R G3D.hasTransformation
123 L0.HasRange G3D.Tuple3D
125 P3D.HasNozzleDefinition <R L0.HasProperty
126 L0.HasDomain P3D.Equipment
127 L0.HasRange P3D.Nozzle
128 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
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.HasNozzleRestriction <R L0.HasProperty
135 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
137 P3D.HasNozzleId <R L0.HasProperty
138 L0.HasDomain P3D.Nozzle
139 L0.HasRange L0.Integer
141 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
142 L0.HasDomain P3D.Nozzle
143 L0.HasRange P3D.PipeRun
145 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
146 L0.HasDomain P3D.PipelineComponent
147 L0.HasRange P3D.PipeRun
149 P3D.Parameter <T L0.Entity
151 P3D.hasParameter <R L0.IsRelatedTo
152 L0.HasDomain P3D.Node
153 L0.HasRange P3D.Parameter
155 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
156 L0.HasDomain P3D.Parameter
157 L0.HasRange L0.Literal