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