]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.layer0/graph/DatabaseManagement.pgraph
Merge "Defined L0.ValueType to make L0.Value(s) searchable from index"
[simantics/platform.git] / bundles / org.simantics.layer0 / graph / DatabaseManagement.pgraph
1 /*
2  
3   Ontologies and symbol libraries are imported into database from transferable graphs.
4   These files are encapsulated in Graph Bundles which carry version information.
5   
6   Imported transferable graphs are managed with GraphBundle instances. They are attached
7   to InstalledGraphBundles-library.
8   
9   There is at most one GraphBundles resource for each major version of the bundle. 
10   Two different major versions are managed separatedly, both there is individual GraphBundle
11   for each. 
12   
13   When importin a GraphBundle, if a already exists within the same major version, a newer
14   version is merged. 
15
16 */
17 L0 = <http://www.simantics.org/Layer0-1.1>
18
19 DatabaseManagement = L0.DatabaseManagement : L0.Library
20     L0.HasResourceClass "org.simantics.layer0.DatabaseManagementResource" : L0.String
21
22 DatabaseManagement.InstalledGraphBundles : L0.Entity
23
24 DatabaseManagement.GraphBundle <T L0.Entity
25     @L0.singleProperty DatabaseManagement.HasVersionedId
26     @L0.singleProperty DatabaseManagement.HasFile
27     @L0.singleProperty DatabaseManagement.HasHashCode
28     @L0.singleProperty DatabaseManagement.HasInstallInfo
29
30 DatabaseManagement.Bundles : L0.Library
31
32 // It is calculated from the imported TransferableGraph1 with 
33 // Databoard hashCode rules. See Binding#hashCode(Object value).
34 DatabaseManagement.HasHashCode <R L0.HasProperty
35     L0.HasRange L0.Integer
36     
37 DatabaseManagement.HasVersionedId <R L0.HasProperty
38     L0.HasRange DatabaseManagement.VersionedId
39
40 DatabaseManagement.HasInstallInfo <R L0.HasProperty
41     L0.HasRange DatabaseManagement.InstallInfo
42
43 DatabaseManagement.InstallInfo <T L0.Literal
44     @L0.assert L0.HasDataType ${
45         resourceCorrespondences : Long[]
46     }
47
48 // id/<major>.<minor>.<service>.<qualifier>
49 DatabaseManagement.VersionedId <T L0.Literal
50     @L0.assert L0.HasDataType $String(pattern="[a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]+)*/\\d+.\\d+.\\d+(.[a-zA-Z_0-9\\-]+)?")
51
52 // <major>.<minor>.<service>[.<qualifier>]
53 DatabaseManagement.OSGiVersion <T L0.Literal
54     @L0.assert L0.HasDataType $String(pattern="\\d+.\\d+.\\d+(.[a-zA-Z_0-9\\-]+)?")
55     
56 // Symbolic Name - Canonical Id
57 DatabaseManagement.OSGiSymbolicName <T L0.Literal
58     @L0.assert L0.HasDataType $String(pattern="[a-zA-Z_0-9]+(\\.[a-zA-Z_0-9]+)*")
59
60 DatabaseManagement.HasFile <R L0.HasProperty
61     L0.HasRange L0.Graph