]> gerrit.simantics Code Review - simantics/3d.git/blob - org.simantics.plant3d.ontology/graph/plant3d.pgraph
Support for reversible in-line components
[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.childen <R G3D.children
23
24 P3D.hasGeometry <R L0.IsWeaklyRelatedTo
25    
26 P3D.LibraryComponent <T P3D.Node
27
28 P3D.Equipment <T P3D.LibraryComponent
29
30 P3D.PipeRun <T P3D.Node
31
32 P3D.PipelineComponent <T P3D.LibraryComponent
33
34 P3D.Nozzle <T P3D.LibraryComponent
35     //[HasPipeDiameter card "1"]
36     //[HasLength card "1"]
37
38 P3D.PipelineComponentTag <R L0.IsWeaklyRelatedTo
39
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
46
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"]
55     
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.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
79
80     
81
82
83 // relation and property definitions
84
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
105     
106 P3D.HasPipeDiameter <R G3D.hasNonTransformation
107     L0.HasRange L0.Double
108 //P3D.HasLength <R G3D.hasNonTransformation
109 //    L0.HasRange L0.Double
110 //P3D.HasTurnAngle <R G3D.hasNonTransformation
111 //    L0.HasRange L0.Double
112 P3D.HasRotationAngle <R G3D.hasTransformation
113     L0.HasRange L0.Double
114 //P3D.HasOffset <R L0.HasProperty
115 //    L0.HasRange L0.Double
116 //HasRelativePosition <R HasProperty
117 //    HasRange [Position]
118 //HasRelativeDirection <R HasProperty
119 //    HasRange [Tuple3]
120 //HasDirection <R HasProperty
121 //    HasRange [Tuple3]  
122 P3D.HasTurnRadius <R G3D.hasNonTransformation
123     L0.HasRange L0.Double   
124 P3D.IsReversed <R L0.HasProperty
125     L0.HasRange L0.Boolean
126 P3D.HasTurnAxis <R G3D.hasTransformation
127     L0.HasRange G3D.Tuple3D
128     
129 P3D.HasNozzleDefinition <R L0.HasProperty
130     L0.HasDomain P3D.Equipment
131     L0.HasRange P3D.Nozzle
132     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  
133 P3D.HasNozzle <R G3D.children
134     L0.InverseOf P3D.NozzleOf
135     L0.HasDomain P3D.Equipment
136     L0.HasRange P3D.Nozzle
137     L0.HasDescription "Used to connect nozzles to equipment." : L0.String
138 P3D.HasNozzleRestriction <R L0.HasProperty
139     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
140
141 P3D.HasNozzleId <R L0.HasProperty
142     L0.HasDomain P3D.Nozzle
143     L0.HasRange L0.Integer
144
145 P3D.HasPipeRun <R L0.IsWeaklyRelatedTo
146     L0.HasDomain P3D.Nozzle
147     L0.HasRange P3D.PipeRun
148     
149 P3D.HasAlternativePipeRun <R L0.IsRelatedTo
150     L0.HasDomain P3D.PipelineComponent
151     L0.HasRange P3D.PipeRun
152     
153 P3D.Parameter <T L0.Entity
154     
155 P3D.hasParameter <R L0.IsRelatedTo
156    L0.HasDomain P3D.Node
157    L0.HasRange P3D.Parameter    
158     
159 P3D.hasParameterValue <R L0.IsRelatedTo : L0.FunctionalRelation
160    L0.HasDomain P3D.Parameter
161    L0.HasRange L0.Literal
162