]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.layer0/graph/Layer0.pgraph
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.layer0 / graph / Layer0.pgraph
1 <http:/> : L0.Library
2     @L0.new
3 <http://www.simantics.org> : L0.Library
4 L0 = <http://www.simantics.org/Layer0-1.1> : L0.Ontology
5     L0.HasResourceClass "org.simantics.layer0.Layer0"
6
7 L0.SCLMain : L0.SCLModule
8     L0.SCLModule.definition """ include "Simantics/Layer0" """
9
10 // Types
11 L0.Entity : L0.Type
12     L0.HasDescription "All types are inherited from this type."
13     >-- L0.InstanceOf --> L0.Type <R L0.IsRelatedTo
14         @L0.tag L0.Final 
15     >-- L0.HasName --> L0.String  <R L0.HasProperty : L0.FunctionalRelation
16         L0.HasLabel "Name" 
17         L0.InverseOf L0.NameOf
18         @L0.tag L0.Final
19     >-- L0.HasLabel --> L0.Value <R L0.HasProperty : L0.FunctionalRelation
20         L0.HasLabel "Label"
21         L0.RequiresValueType "String"
22     >-- L0.HasDescription --> L0.Value <R L0.HasProperty : L0.FunctionalRelation
23         L0.HasLabel "Description"
24         L0.RequiresValueType "String"
25     >-- L0.identifier <R L0.HasProperty : L0.FunctionalRelation
26         L0.HasLabel "Identifier"
27         --> L0.GUID
28         ==> "GUID"
29     >-- L0.typeURI <R L0.HasProperty : L0.FunctionalRelation
30         L0.HasLabel "Type URI"
31         --> L0.String
32     >-- L0.typeResource <R L0.HasProperty : L0.FunctionalRelation
33         L0.HasLabel "Type Resource"
34         ==> "Variable -> Resource -> <ReadGraph> Resource"
35     >-- L0.HasComment --> L0.String <R L0.HasProperty
36     >-- L0.ConsistsOf --> L0.Entity <R L0.IsComposedOf
37         L0.InverseOf L0.PartOf : L0.FunctionalRelation
38         @L0.tag L0.Final
39     >-- L0.IsLinkedTo --> L0.Entity       <R L0.DependsOn        
40     @L0.property L0.InstanceOf
41     @L0.property L0.HasProperty
42     @L0.property L0.HasNext
43     >-- L0.Entity.published --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
44       L0.readOnly true
45     >-- L0.Entity.methods
46     @L0.assert L0.Entity.methods
47       _ : L0.Property
48         L0.HasValueType "StructuredProperty"
49     
50 L0.Entity.methods ==> "StructuredProperty" <R L0.HasProperty : L0.FunctionalRelation
51   L0.domainProperties L0.Functions.methodsPropertyDomainProperties
52   
53 L0.Entity.method <R L0.HasProperty : L0.FunctionalRelation
54     
55 L0.Type <T L0.Entity
56     L0.HasDescription "All types are instances of this type."
57     >-- L0.Asserts --> L0.Assertion <R L0.IsComposedOf
58         L0.HasDescription "The statement modelled by an assertion is implied for all instances of the asserting type."
59         @L0.tag L0.Final
60     >-- L0.Inherits --> L0.Type     <R L0.DependsOn
61         L0.InverseOf L0.SupertypeOf
62         @L0.tag L0.Final
63     @L0.property L0.HasPropertyDefinition        
64     @L0.property L0.Asserts
65     @L0.property L0.Inherits
66     >-- L0.Type.instantiateUnder ==> "Resource -> Resource -> <WriteGraph> Resource" <R L0.HasMethod : L0.FunctionalRelation
67     @L0.assert L0.Type.instantiateUnder L0.Functions.defaultInstantiateUnder
68 L0.Assertion <T L0.Entity
69     L0.HasDescription "The statement modelled by an assertion is implied for all instances of the asserting type."
70     >-- L0.HasPredicate --> L0.Relation <R L0.IsRelatedTo : L0.TotalFunction
71         L0.InverseOf L0.HasPredicateInverse <R L0.IsWeaklyRelatedTo
72     >-- L0.HasObject --> L0.Entity      <R L0.IsRelatedTo : L0.TotalFunction
73         L0.InverseOf L0.HasObjectInverse <R L0.IsWeaklyRelatedTo
74     @L0.singleProperty L0.HasPredicate
75     @L0.singleProperty L0.HasObject
76     
77 // Relations    
78 L0.Relation <T L0.Entity //<T L0.BinaryPredicate
79     L0.HasDescription "All relations are instances of this type."
80     >-- L0.SubrelationOf --> L0.Relation <R L0.DependsOn    
81         L0.InverseOf L0.SuperrelationOf
82         @L0.tag L0.Final
83     >-- L0.InverseOf --> L0.Relation     <R L0.DependsOn : L0.FunctionalRelation
84         L0.HasDescription "States that subject and object (relations) are inverses."
85         @L0.symmetric
86         @L0.tag L0.Final
87     >-- L0.HasDomain --> L0.Type         <R L0.DependsOn
88         L0.InverseOf L0.DomainOf         <R L0.IsRelatedTo
89     >-- L0.HasRange --> L0.Type          <R L0.DependsOn
90     @L0.property L0.SubrelationOf
91     @L0.property L0.InverseOf
92     @L0.property L0.SuperrelationOf
93 L0.FunctionalRelation <T L0.Relation
94     L0.HasDescription "The cardinality of this relation for any subject is at most one."
95 L0.TotalFunction <T L0.FunctionalRelation
96     L0.HasDescription "The cardinality of this relation for any subject is exactly one."         
97 L0.Tag <T L0.Relation
98     L0.HasDescription "A relation for which subject = object, used to model simple boolean statements."
99 L0.PropertyRelation <T L0.Relation
100     L0.HasDescription "Base type for all property relations."
101    
102 // Base relations
103 L0.IsWeaklyRelatedTo : L0.Relation
104     L0.HasDescription "A basis for all relations. Makes as weak as possible connection between its subject and object."
105 L0.IsRelatedTo <R L0.IsWeaklyRelatedTo
106     L0.HasDescription "A typical relation, does not imply dependency." 
107 L0.DependsOn <R L0.IsRelatedTo
108     L0.HasDescription "States that subject depends on the object."
109     L0.InverseOf L0.IsDependencyOf <R L0.IsWeaklyRelatedTo 
110 L0.IsComposedOf <R L0.DependsOn
111     L0.HasDescription "States that subject owns the object."
112     L0.InverseOf L0.IsOwnedBy
113 L0.HasProperty <R L0.IsComposedOf : L0.PropertyRelation
114     L0.InverseOf L0.PropertyOf
115     L0.HasRange L0.Value
116     
117 L0.HasMethod <R L0.DependsOn
118     L0.InverseOf L0.MethodOf
119     L0.HasRange L0.Value
120     
121 // Libraries
122 L0.IndexRootType <T L0.Type
123 L0.IndexRoot <T L0.Entity : L0.IndexRootType
124     @L0.tag L0.Abstract
125 L0.Library <T L0.Entity
126     @L0.singleProperty L0.HasName
127     @L0.property L0.ConsistsOf    
128 L0.Ontology <T L0.Library <T L0.IndexRoot
129     >-- L0.Ontology.global <R L0.HasProperty : L0.FunctionalRelation
130         L0.HasLabel "Global?"
131         --> L0.Boolean
132     >-- L0.Ontology.download --> L0.String <R L0.HasProperty : L0.FunctionalRelation
133             
134 L0.SharedOntology <T L0.Ontology
135     >-- L0.SharedOntology.treatAsSystemOntology --> L0.Boolean <R L0.HasProperty : L0.FunctionalRelation
136     @L0.assert L0.SharedOntology.treatAsSystemOntology false
137     @L0.tag L0.Abstract
138     >-- L0.SharedOntology.tg <R L0.HasProperty : L0.FunctionalRelation
139         --> L0.Graph
140     >-- L0.SharedOntology.tgResources <R L0.HasProperty : L0.FunctionalRelation
141         --> L0.ResourceIdArray
142         
143 L0.ResourceIdArray <T L0.Literal        
144     @L0.assert L0.HasDataType $(Long(unit="resource")[])
145  
146 L0.PGraph <T L0.Entity
147     >-- L0.PGraph.definition --> L0.String <R L0.HasProperty : L0.TotalFunction
148     @L0.assert L0.PGraph.definition ""
149     
150 L0.ExternalEntity <T L0.Entity    
151