]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.plant3d.ontology/graph/plant3d.pgraph
Plant3D customization
[simantics/3d.git] / org.simantics.plant3d.ontology / graph / plant3d.pgraph
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>
6
7 P3D = <http://www.simantics.org/Plant3D-0.1> : L0.Ontology
8     @L0.new
9     L0.HasResourceClass "org.simantics.plant3d.ontology.Plant3D" : L0.String
10     
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
16         
17 P3D.Node <T G3D.Node 
18   
19 P3D.Plant <T G3D.RootNode <T P3D.Node
20
21
22 P3D.children <R G3D.children
23
24 P3D.hasGeometry <R L0.IsWeaklyRelatedTo
25 P3D.GeometryProvider <T L0.Entity
26    
27 P3D.LibraryComponent <T P3D.Node
28
29 P3D.Equipment <T P3D.LibraryComponent
30
31 P3D.PipeRun <T P3D.Node
32
33 P3D.PipelineComponent <T P3D.LibraryComponent
34
35 P3D.Nozzle <T P3D.LibraryComponent
36     //[HasPipeDiameter card "1"]
37     //[HasLength card "1"]
38
39 P3D.PipelineComponentTag <R L0.IsWeaklyRelatedTo
40
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
47
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"]
56     
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
80
81     
82
83
84 // relation and property definitions
85
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
106     
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
115
116 //P3D.HasOffset <R L0.HasProperty
117 //    L0.HasRange L0.Double
118 //HasRelativePosition <R HasProperty
119 //    HasRange [Position]
120 //HasRelativeDirection <R HasProperty
121 //    HasRange [Tuple3]
122 //HasDirection <R HasProperty
123 //    HasRange [Tuple3]  
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
130     
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
146
147
148 P3D.HasNozzleId <R L0.HasProperty
149     L0.HasDomain P3D.Nozzle
150     L0.HasRange L0.Integer
151     
152 P3D.IsFixedNozzle <R L0.HasProperty
153     L0.HasDescription "Fixed nozzle" : L0.String
154     L0.HasDomain P3D.Nozzle
155     L0.HasRange L0.Boolean
156
157 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
158     L0.HasDomain P3D.Nozzle
159     L0.HasRange P3D.PipeRun
160     
161 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
162     L0.HasDomain P3D.PipelineComponent
163     L0.HasRange P3D.PipeRun
164     
165 P3D.Parameter <T L0.Entity
166     
167 P3D.hasParameter <R L0.IsRelatedTo
168    L0.HasDomain P3D.Node
169    L0.HasRange P3D.Parameter    
170     
171 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
172    L0.HasDomain P3D.Parameter
173    L0.HasRange L0.Literal
174