diff --git a/checkstyle/pom.xml b/checkstyle/pom.xml
index 83d1808..a592085 100644
--- a/checkstyle/pom.xml
+++ b/checkstyle/pom.xml
@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>checkstyle</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
 
     <properties>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
diff --git a/cps-application/pom.xml b/cps-application/pom.xml
index 6df63c4..cfebf68 100644
--- a/cps-application/pom.xml
+++ b/cps-application/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>0.0.1-SNAPSHOT</version>
+        <version>0.0.2-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
@@ -34,7 +34,6 @@
 
     <properties>
         <app>org.onap.cps.Application</app>
-        <image.name>cps-service</image.name>
         <image.version>${project.version}</image.version>
         <jib-maven-plugin.version>2.6.0</jib-maven-plugin.version>
         <minimum-coverage>0.0</minimum-coverage>
@@ -108,10 +107,6 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
-            <plugin>
-                <groupId>com.google.cloud.tools</groupId>
-                <artifactId>jib-maven-plugin</artifactId>
-            </plugin>
         </plugins>
     </build>
     <profiles>
@@ -120,12 +115,24 @@
             <activation>
                 <activeByDefault>false</activeByDefault>
             </activation>
+
+            <properties>
+                <image.name>cps-service</image.name>
+            </properties>
             <dependencies>
                 <dependency>
                     <groupId>${project.groupId}</groupId>
                     <artifactId>cps-rest</artifactId>
                 </dependency>
             </dependencies>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.google.cloud.tools</groupId>
+                        <artifactId>jib-maven-plugin</artifactId>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
         <profile>
             <id>xnf-docker</id>
@@ -143,11 +150,19 @@
                     <artifactId>cps-nf-proxy-rest</artifactId>
                 </dependency>
             </dependencies>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.google.cloud.tools</groupId>
+                        <artifactId>jib-maven-plugin</artifactId>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
         <profile>
             <id>cps-xnf-docker</id>
             <activation>
-                <activeByDefault>false</activeByDefault>
+                <activeByDefault>true</activeByDefault>
             </activation>
 
             <properties>
@@ -164,6 +179,14 @@
                     <artifactId>cps-nf-proxy-rest</artifactId>
                 </dependency>
             </dependencies>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>com.google.cloud.tools</groupId>
+                        <artifactId>jib-maven-plugin</artifactId>
+                    </plugin>
+                </plugins>
+            </build>
         </profile>
     </profiles>
 </project>
\ No newline at end of file
diff --git a/cps-bom/pom.xml b/cps-bom/pom.xml
index 9ae8a80..cf5025d 100644
--- a/cps-bom/pom.xml
+++ b/cps-bom/pom.xml
@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-bom</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <description>This artifact contains dependencyManagement declarations of all published CPS components.</description>
diff --git a/cps-dependencies/pom.xml b/cps-dependencies/pom.xml
index 1beee11..202f8b2 100755
--- a/cps-dependencies/pom.xml
+++ b/cps-dependencies/pom.xml
@@ -6,7 +6,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-dependencies</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>${project.groupId}:${project.artifactId}</name>
@@ -17,6 +17,7 @@
         <commons-lang3.version>3.11</commons-lang3.version>
         <groovy.version>3.0.6</groovy.version>
         <hibernate-types.version>2.10.0</hibernate-types.version>
+        <liquibase.version>4.3.1</liquibase.version>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
         <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
         <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
@@ -135,6 +136,11 @@
                 <artifactId>spotbugs</artifactId>
                 <version>${spotbugs.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.liquibase</groupId>
+                <artifactId>liquibase-core</artifactId>
+                <version>${liquibase.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 </project>
diff --git a/cps-nf-proxy-rest/pom.xml b/cps-nf-proxy-rest/pom.xml
index 94420f7..ac891e1 100755
--- a/cps-nf-proxy-rest/pom.xml
+++ b/cps-nf-proxy-rest/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>0.0.1-SNAPSHOT</version>
+        <version>0.0.2-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
diff --git a/cps-nf-proxy-service/pom.xml b/cps-nf-proxy-service/pom.xml
index d32d0ad..67ffaeb 100644
--- a/cps-nf-proxy-service/pom.xml
+++ b/cps-nf-proxy-service/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>0.0.1-SNAPSHOT</version>
+        <version>0.0.2-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml
index ecc9898..0f8e643 100755
--- a/cps-parent/pom.xml
+++ b/cps-parent/pom.xml
@@ -31,7 +31,7 @@
 
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-parent</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <properties>
diff --git a/cps-rest/pom.xml b/cps-rest/pom.xml
index 2bb053b..840228e 100755
--- a/cps-rest/pom.xml
+++ b/cps-rest/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>0.0.1-SNAPSHOT</version>
+        <version>0.0.2-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
diff --git a/cps-ri/pom.xml b/cps-ri/pom.xml
index 005fa27..2a704cf 100644
--- a/cps-ri/pom.xml
+++ b/cps-ri/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.onap.cps</groupId>
         <artifactId>cps-parent</artifactId>
-        <version>0.0.1-SNAPSHOT</version>
+        <version>0.0.2-SNAPSHOT</version>
         <relativePath>../cps-parent/pom.xml</relativePath>
     </parent>
 
@@ -41,6 +41,10 @@
             <groupId>org.modelmapper</groupId>
             <artifactId>modelmapper</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.liquibase</groupId>
+            <artifactId>liquibase-core</artifactId>
+        </dependency>
         <!-- T E S T   D E P E N D E N C I E S -->
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml
new file mode 100644
index 0000000..6577012
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml
@@ -0,0 +1,11 @@
+databaseChangeLog:
+  - include:
+      file: changelog/db/changes/01-createCPSTables.yaml
+  - include:
+      file: changelog/db/changes/02-loadData-dataspace.yaml
+  - include:
+      file: changelog/db/changes/03-loadData-schema-set.yaml
+  - include:
+      file: changelog/db/changes/04-loadData-anchor.yaml
+  - include:
+      file: changelog/db/changes/05-loadData-fragment.yaml
\ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/01-createCPSTables.yaml b/cps-ri/src/main/resources/changelog/db/changes/01-createCPSTables.yaml
new file mode 100644
index 0000000..cbf77dc
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/01-createCPSTables.yaml
@@ -0,0 +1,560 @@
+databaseChangeLog:
+  - changeSet:
+      id: 1-1
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: anchor_pkey
+                  name: id
+                  type: BIGINT
+              - column:
+                  name: name
+                  type: TEXT
+              - column:
+                  name: schema_set_id
+                  type: INTEGER
+              - column:
+                  constraints:
+                    nullable: false
+                  name: dataspace_id
+                  type: INTEGER
+            tableName: anchor
+  - changeSet:
+      id: 1-2
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  constraints:
+                    nullable: false
+                  name: from_fragment_id
+                  type: BIGINT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: to_fragment_id
+                  type: BIGINT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: relation_type_id
+                  type: INTEGER
+              - column:
+                  constraints:
+                    nullable: false
+                  name: from_rel_xpath
+                  type: TEXT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: to_rel_xpath
+                  type: TEXT
+            tableName: relation
+  - changeSet:
+      id: 1-3
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  constraints:
+                    nullable: false
+                  name: relation_type
+                  type: TEXT
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: relation_type_pkey
+                  name: id
+                  type: INTEGER
+            tableName: relation_type
+  - changeSet:
+      id: 1-4
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: fragment_pkey
+                  name: id
+                  type: BIGINT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: xpath
+                  type: TEXT
+              - column:
+                  name: attributes
+                  type: JSONB
+              - column:
+                  name: anchor_id
+                  type: BIGINT
+              - column:
+                  name: parent_id
+                  type: BIGINT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: dataspace_id
+                  type: INTEGER
+              - column:
+                  name: schema_node_id
+                  type: INTEGER
+            tableName: fragment
+  - changeSet:
+      id: 1-5
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: schema_set_pkey
+                  name: id
+                  type: INTEGER
+              - column:
+                  constraints:
+                    nullable: false
+                  name: name
+                  type: TEXT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: dataspace_id
+                  type: BIGINT
+            tableName: schema_set
+  - changeSet:
+      id: 1-6
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: yang_resource_pkey
+                  name: id
+                  type: INTEGER
+              - column:
+                  constraints:
+                    nullable: false
+                  name: name
+                  type: TEXT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: content
+                  type: TEXT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: checksum
+                  type: TEXT
+            tableName: yang_resource
+  - changeSet:
+      id: 1-7
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: dataspace_pkey
+                  name: id
+                  type: INTEGER
+              - column:
+                  constraints:
+                    nullable: false
+                  name: name
+                  type: TEXT
+            tableName: dataspace
+  - changeSet:
+      id: 1-8
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  constraints:
+                    nullable: false
+                  name: schema_node_identifier
+                  type: TEXT
+              - column:
+                  autoIncrement: true
+                  constraints:
+                    nullable: false
+                    primaryKey: true
+                    primaryKeyName: schema_node_pkey
+                  name: id
+                  type: INTEGER
+            tableName: schema_node
+  - changeSet:
+      id: 1-9
+      author: cps
+      changes:
+        - createTable:
+            columns:
+              - column:
+                  constraints:
+                    nullable: false
+                  name: schema_set_id
+                  type: BIGINT
+              - column:
+                  constraints:
+                    nullable: false
+                  name: yang_resource_id
+                  type: BIGINT
+            tableName: schema_set_yang_resources
+  - changeSet:
+      id: 1-10
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: schema_set_id
+            indexName: FKI_ANCHOR_SCHEMA_SET_ID_FK
+            tableName: anchor
+  - changeSet:
+      id: 1-11
+      author: cps
+      changes:
+        - addUniqueConstraint:
+            columnNames: dataspace_id, name
+            constraintName: anchor_dataspace_id_name_key
+            tableName: anchor
+  - changeSet:
+      id: 1-12
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: anchor_id
+            baseTableName: fragment
+            constraintName: fragment_anchor_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: anchor
+            validate: true
+  - changeSet:
+      id: 1-13
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: from_fragment_id
+            indexName: FKI_RELATIONS_FROM_ID_FK
+            tableName: relation
+  - changeSet:
+      id: 1-14
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: to_fragment_id
+            indexName: FKI_RELATIONS_TO_ID_FK
+            tableName: relation
+  - changeSet:
+      id: 1-15
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: relation_type_id
+            indexName: FKI_RELATION_TYPE_ID_FK
+            tableName: relation
+  - changeSet:
+      id: 1-16
+      author: cps
+      changes:
+        - addPrimaryKey:
+            columnNames: to_fragment_id, from_fragment_id, relation_type_id
+            constraintName: relation_pkey
+            tableName: relation
+  - changeSet:
+      id: 1-17
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: anchor_id
+            indexName: FKI_FRAGMENT_ANCHOR_ID_FK
+            tableName: fragment
+  - changeSet:
+      id: 1-18
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: dataspace_id
+            indexName: FKI_FRAGMENT_DATASPACE_ID_FK
+            tableName: fragment
+  - changeSet:
+      id: 1-19
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: parent_id
+            indexName: FKI_FRAGMENT_PARENT_ID_FK
+            tableName: fragment
+  - changeSet:
+      id: 1-20
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: schema_node_id
+            indexName: FKI_SCHEMA_NODE_ID_TO_ID
+            tableName: fragment
+  - changeSet:
+      id: 1-21
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: xpath
+              - column:
+                  name: dataspace_id
+            indexName: UQ_FRAGMENT_XPATH
+            tableName: fragment
+            unique: true
+  - changeSet:
+      id: 1-22
+      author: cps
+      changes:
+        - addUniqueConstraint:
+            columnNames: dataspace_id, anchor_id, xpath
+            constraintName: fragment_dataspace_id_anchor_id_xpath_key
+            tableName: fragment
+  - changeSet:
+      id: 1-23
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: from_fragment_id
+            baseTableName: relation
+            constraintName: relation_from_fragment_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: fragment
+            validate: true
+  - changeSet:
+      id: 1-24
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: to_fragment_id
+            baseTableName: relation
+            constraintName: relation_to_fragment_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: fragment
+            validate: true
+  - changeSet:
+      id: 1-25
+      author: cps
+      changes:
+        - addUniqueConstraint:
+            columnNames: name, dataspace_id
+            constraintName: schema_set_name_dataspace_id_key
+            tableName: schema_set
+  - changeSet:
+      id: 1-26
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: schema_set_id
+            baseTableName: schema_set_yang_resources
+            constraintName: schema_set_resource
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: CASCADE
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: schema_set
+            validate: true
+  - changeSet:
+      id: 1-27
+      author: cps
+      changes:
+        - addUniqueConstraint:
+            columnNames: checksum
+            constraintName: yang_resource_checksum_key
+            tableName: yang_resource
+  - changeSet:
+      id: 1-28
+      author: cps
+      changes:
+        - addUniqueConstraint:
+            columnNames: name
+            constraintName: UQ_NAME
+            tableName: dataspace
+  - changeSet:
+      id: 1-29
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: dataspace_id
+            baseTableName: fragment
+            constraintName: fragment_dataspace_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: dataspace
+            validate: true
+  - changeSet:
+      id: 1-30
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: dataspace_id
+            baseTableName: schema_set
+            constraintName: schema_set_dataspace
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: CASCADE
+            onUpdate: CASCADE
+            referencedColumnNames: id
+            referencedTableName: dataspace
+            validate: true
+  - changeSet:
+      id: 1-31
+      author: cps
+      changes:
+        - createIndex:
+            columns:
+              - column:
+                  name: schema_node_identifier
+            indexName: PERF_SCHEMA_NODE_SCHEMA_NODE_ID
+            tableName: schema_node
+  - changeSet:
+      id: 1-32
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: yang_resource_id
+            baseTableName: schema_set_yang_resources
+            constraintName: schema_set_yang_resources_yang_resource_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: yang_resource
+            validate: true
+  - changeSet:
+      id: 1-33
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: dataspace_id
+            baseTableName: anchor
+            constraintName: anchor_dataspace_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: dataspace
+            validate: true
+  - changeSet:
+      id: 1-34
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: schema_set_id
+            baseTableName: anchor
+            constraintName: anchor_schema_set_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: schema_set
+            validate: true
+  - changeSet:
+      id: 1-35
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: relation_type_id
+            baseTableName: relation
+            constraintName: relation_relation_type_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: relation_type
+            validate: true
+  - changeSet:
+      id: 1-36
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: parent_id
+            baseTableName: fragment
+            constraintName: fragment_parent_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: fragment
+            validate: true
+  - changeSet:
+      id: 1-37
+      author: cps
+      changes:
+        - addForeignKeyConstraint:
+            baseColumnNames: schema_node_id
+            baseTableName: fragment
+            constraintName: fragment_schema_node_id_fkey
+            deferrable: false
+            initiallyDeferred: false
+            onDelete: NO ACTION
+            onUpdate: NO ACTION
+            referencedColumnNames: id
+            referencedTableName: schema_node
+            validate: true
+
diff --git a/cps-ri/src/main/resources/changelog/db/changes/02-loadData-dataspace.yaml b/cps-ri/src/main/resources/changelog/db/changes/02-loadData-dataspace.yaml
new file mode 100644
index 0000000..c4e931d
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/02-loadData-dataspace.yaml
@@ -0,0 +1,13 @@
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: xnf-data-preload
+      id: 2
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/dataspace.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'dataspace'
\ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/03-loadData-schema-set.yaml b/cps-ri/src/main/resources/changelog/db/changes/03-loadData-schema-set.yaml
new file mode 100644
index 0000000..fd214da
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/03-loadData-schema-set.yaml
@@ -0,0 +1,53 @@
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: xnf-data-preload
+      id: 3.1
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/schema_set.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'schema_set'
+
+  - changeSet:
+      author: cps
+      label: xnf-data-preload
+      id: 3.2
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/yang_resource.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'yang_resource'
+        columns:
+          - column:
+              header:  name
+              name:  name
+              type:  STRING
+          - column:
+              header:  content
+              name: content
+              type: STRING
+          - column:
+              header:  checkstyle
+              name: checkstyle
+              type: STRING
+
+  - changeSet:
+      author: cps
+      label: xnf-data-preload
+      id: 3.3
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/schema_set_yang_resources.csv'
+        quotchar: '"'
+        primaryKey: 'schema_set_id,yang_resource_id'
+        separator: '|'
+        tableName: 'schema_set_yang_resources'
+        usePreparedStatements:  true
+
diff --git a/cps-ri/src/main/resources/changelog/db/changes/04-loadData-anchor.yaml b/cps-ri/src/main/resources/changelog/db/changes/04-loadData-anchor.yaml
new file mode 100644
index 0000000..d42870d
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/04-loadData-anchor.yaml
@@ -0,0 +1,13 @@
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: xnf-data-preload
+      id: 4
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/anchor.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'anchor'
diff --git a/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml b/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml
new file mode 100644
index 0000000..1a31f42
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/05-loadData-fragment.yaml
@@ -0,0 +1,42 @@
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: xnf-data-preload
+      id: 5
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/fragment.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'fragment'
+        columns:
+          - column:
+              header:  id
+              name:  id
+              type:  NUMERIC
+          - column:
+              header:  xpath
+              name:  xpath
+              type:  STRING
+          - column:
+              header:  attributes
+              name: attributes
+              type: CLOB
+          - column:
+              header:  anchor_id
+              name: anchor_id
+              type: NUMERIC
+          - column:
+              header:  parent_id
+              name: parent_id
+              type: NUMERIC
+          - column:
+              header:  dataspace_id
+              name: dataspace_id
+              type: NUMERIC
+          - column:
+              header:  schema_node_id
+              name: schema_node_id
+              type: NUMERIC
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/anchor.csv b/cps-ri/src/main/resources/changelog/db/changes/data/anchor.csv
new file mode 100644
index 0000000..78dd914
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/anchor.csv
@@ -0,0 +1,2 @@
+name|schema_set_id|dataspace_id
+ran-network-simulation|(select id from schema_set where name='cps-ran-schema-model')|(select id from dataspace where name='NFP-Operational')
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dataspace.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dataspace.csv
new file mode 100644
index 0000000..70b4af6
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/dataspace.csv
@@ -0,0 +1,2 @@
+name
+NFP-Operational
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/fragment.csv b/cps-ri/src/main/resources/changelog/db/changes/data/fragment.csv
new file mode 100644
index 0000000..81c379d
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/fragment.csv
@@ -0,0 +1,144 @@
+id|xpath|attributes|anchor_id|parent_id|dataspace_id|schema_node_id
+1|/cps-ran-schema|{}|(select id from anchor where name='ran-network-simulation')|null|(select id from dataspace where name='NFP-Operational')|null
+2|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]|"{"idNearRTRIC": "11"}"|(select id from anchor where name='ran-network-simulation')|1|(select id from dataspace where name='NFP-Operational')|null
+73|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]|"{"idNearRTRIC": "22"}"|(select id from anchor where name='ran-network-simulation')|1|(select id from dataspace where name='NFP-Operational')|null
+3|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]|"{"idGNBCUCPFunction": "cucpserver1"}"|(select id from anchor where name='ran-network-simulation')|2|(select id from dataspace where name='NFP-Operational')|null
+35|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]|"{"idGNBDUFunction": "1"}"|(select id from anchor where name='ran-network-simulation')|2|(select id from dataspace where name='NFP-Operational')|null
+47|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]|"{"idGNBDUFunction": "2"}"|(select id from anchor where name='ran-network-simulation')|2|(select id from dataspace where name='NFP-Operational')|null
+59|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]|"{"idGNBDUFunction": "3"}"|(select id from anchor where name='ran-network-simulation')|2|(select id from dataspace where name='NFP-Operational')|null
+71|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUUPFunction[@idGNBCUUPFunction="1111"]|"{"idGNBCUUPFunction": "1111"}"|(select id from anchor where name='ran-network-simulation')|2|(select id from dataspace where name='NFP-Operational')|null
+4|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/attributes|"{"gNBId": 98763, "gNBCUName": "cucpserver1", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+5|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15290"]|"{"idNRCellCU": "15290"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+7|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15175"]|"{"idNRCellCU": "15175"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+9|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15296"]|"{"idNRCellCU": "15296"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+11|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15176"]|"{"idNRCellCU": "15176"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+13|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15174"]|"{"idNRCellCU": "15174"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+15|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15289"]|"{"idNRCellCU": "15289"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+17|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="14000"]|"{"idNRCellCU": "14000"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+19|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15155"]|"{"idNRCellCU": "15155"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+21|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15425"]|"{"idNRCellCU": "15425"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+23|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15689"]|"{"idNRCellCU": "15689"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+25|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15426"]|"{"idNRCellCU": "15426"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+27|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15687"]|"{"idNRCellCU": "15687"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+29|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15825"]|"{"idNRCellCU": "15825"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+31|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15826"]|"{"idNRCellCU": "15826"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+33|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="13999"]|"{"idNRCellCU": "13999"}"|(select id from anchor where name='ran-network-simulation')|3|(select id from dataspace where name='NFP-Operational')|null
+6|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15290"]/attributes|"{"cellLocalId": 15290}"|(select id from anchor where name='ran-network-simulation')|5|(select id from dataspace where name='NFP-Operational')|null
+8|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15175"]/attributes|"{"cellLocalId": 15175}"|(select id from anchor where name='ran-network-simulation')|7|(select id from dataspace where name='NFP-Operational')|null
+10|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15296"]/attributes|"{"cellLocalId": 15296}"|(select id from anchor where name='ran-network-simulation')|9|(select id from dataspace where name='NFP-Operational')|null
+12|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15176"]/attributes|"{"cellLocalId": 15176}"|(select id from anchor where name='ran-network-simulation')|11|(select id from dataspace where name='NFP-Operational')|null
+14|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15174"]/attributes|"{"cellLocalId": 15174}"|(select id from anchor where name='ran-network-simulation')|13|(select id from dataspace where name='NFP-Operational')|null
+16|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15289"]/attributes|"{"cellLocalId": 15289}"|(select id from anchor where name='ran-network-simulation')|15|(select id from dataspace where name='NFP-Operational')|null
+18|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="14000"]/attributes|"{"cellLocalId": 14000}"|(select id from anchor where name='ran-network-simulation')|17|(select id from dataspace where name='NFP-Operational')|null
+20|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15155"]/attributes|"{"cellLocalId": 15155}"|(select id from anchor where name='ran-network-simulation')|19|(select id from dataspace where name='NFP-Operational')|null
+22|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15425"]/attributes|"{"cellLocalId": 15425}"|(select id from anchor where name='ran-network-simulation')|21|(select id from dataspace where name='NFP-Operational')|null
+24|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15689"]/attributes|"{"cellLocalId": 15689}"|(select id from anchor where name='ran-network-simulation')|23|(select id from dataspace where name='NFP-Operational')|null
+26|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15426"]/attributes|"{"cellLocalId": 15426}"|(select id from anchor where name='ran-network-simulation')|25|(select id from dataspace where name='NFP-Operational')|null
+28|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15687"]/attributes|"{"cellLocalId": 15687}"|(select id from anchor where name='ran-network-simulation')|27|(select id from dataspace where name='NFP-Operational')|null
+30|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15825"]/attributes|"{"cellLocalId": 15825}"|(select id from anchor where name='ran-network-simulation')|29|(select id from dataspace where name='NFP-Operational')|null
+32|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="15826"]/attributes|"{"cellLocalId": 15826}"|(select id from anchor where name='ran-network-simulation')|31|(select id from dataspace where name='NFP-Operational')|null
+34|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver1"]/NRCellCU[@idNRCellCU="13999"]/attributes|"{"cellLocalId": 13999}"|(select id from anchor where name='ran-network-simulation')|33|(select id from dataspace where name='NFP-Operational')|null
+36|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/attributes|"{"gNBDUId": 1, "gNBDUName": "gnduserver1", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|35|(select id from dataspace where name='NFP-Operational')|null
+37|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15289"]|"{"idNRCellDU": "15289"}"|(select id from anchor where name='ran-network-simulation')|35|(select id from dataspace where name='NFP-Operational')|null
+39|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15290"]|"{"idNRCellDU": "15290"}"|(select id from anchor where name='ran-network-simulation')|35|(select id from dataspace where name='NFP-Operational')|null
+41|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15296"]|"{"idNRCellDU": "15296"}"|(select id from anchor where name='ran-network-simulation')|35|(select id from dataspace where name='NFP-Operational')|null
+43|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15689"]|"{"idNRCellDU": "15689"}"|(select id from anchor where name='ran-network-simulation')|35|(select id from dataspace where name='NFP-Operational')|null
+45|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15687"]|"{"idNRCellDU": "15687"}"|(select id from anchor where name='ran-network-simulation')|35|(select id from dataspace where name='NFP-Operational')|null
+38|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15289"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15289}"|(select id from anchor where name='ran-network-simulation')|37|(select id from dataspace where name='NFP-Operational')|null
+40|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15290"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15290}"|(select id from anchor where name='ran-network-simulation')|39|(select id from dataspace where name='NFP-Operational')|null
+42|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15296"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15296}"|(select id from anchor where name='ran-network-simulation')|41|(select id from dataspace where name='NFP-Operational')|null
+44|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15689"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15689}"|(select id from anchor where name='ran-network-simulation')|43|(select id from dataspace where name='NFP-Operational')|null
+46|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="1"]/NRCellDU[@idNRCellDU="15687"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15687}"|(select id from anchor where name='ran-network-simulation')|45|(select id from dataspace where name='NFP-Operational')|null
+48|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/attributes|"{"gNBDUId": 2, "gNBDUName": "gnduserver2", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|47|(select id from dataspace where name='NFP-Operational')|null
+49|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15825"]|"{"idNRCellDU": "15825"}"|(select id from anchor where name='ran-network-simulation')|47|(select id from dataspace where name='NFP-Operational')|null
+51|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15155"]|"{"idNRCellDU": "15155"}"|(select id from anchor where name='ran-network-simulation')|47|(select id from dataspace where name='NFP-Operational')|null
+53|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15175"]|"{"idNRCellDU": "15175"}"|(select id from anchor where name='ran-network-simulation')|47|(select id from dataspace where name='NFP-Operational')|null
+55|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15176"]|"{"idNRCellDU": "15176"}"|(select id from anchor where name='ran-network-simulation')|47|(select id from dataspace where name='NFP-Operational')|null
+57|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15174"]|"{"idNRCellDU": "15174"}"|(select id from anchor where name='ran-network-simulation')|47|(select id from dataspace where name='NFP-Operational')|null
+50|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15825"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15825}"|(select id from anchor where name='ran-network-simulation')|49|(select id from dataspace where name='NFP-Operational')|null
+52|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15155"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15155}"|(select id from anchor where name='ran-network-simulation')|51|(select id from dataspace where name='NFP-Operational')|null
+54|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15175"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15175}"|(select id from anchor where name='ran-network-simulation')|53|(select id from dataspace where name='NFP-Operational')|null
+56|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15176"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15176}"|(select id from anchor where name='ran-network-simulation')|55|(select id from dataspace where name='NFP-Operational')|null
+58|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="2"]/NRCellDU[@idNRCellDU="15174"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15174}"|(select id from anchor where name='ran-network-simulation')|57|(select id from dataspace where name='NFP-Operational')|null
+60|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/attributes|"{"gNBDUId": 3, "gNBDUName": "gnduserver3", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|59|(select id from dataspace where name='NFP-Operational')|null
+61|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="15826"]|"{"idNRCellDU": "15826"}"|(select id from anchor where name='ran-network-simulation')|59|(select id from dataspace where name='NFP-Operational')|null
+63|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="14000"]|"{"idNRCellDU": "14000"}"|(select id from anchor where name='ran-network-simulation')|59|(select id from dataspace where name='NFP-Operational')|null
+65|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="13999"]|"{"idNRCellDU": "13999"}"|(select id from anchor where name='ran-network-simulation')|59|(select id from dataspace where name='NFP-Operational')|null
+67|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="15425"]|"{"idNRCellDU": "15425"}"|(select id from anchor where name='ran-network-simulation')|59|(select id from dataspace where name='NFP-Operational')|null
+69|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="15426"]|"{"idNRCellDU": "15426"}"|(select id from anchor where name='ran-network-simulation')|59|(select id from dataspace where name='NFP-Operational')|null
+62|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="15826"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15826}"|(select id from anchor where name='ran-network-simulation')|61|(select id from dataspace where name='NFP-Operational')|null
+64|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="14000"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 14000}"|(select id from anchor where name='ran-network-simulation')|63|(select id from dataspace where name='NFP-Operational')|null
+66|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="13999"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 13999}"|(select id from anchor where name='ran-network-simulation')|65|(select id from dataspace where name='NFP-Operational')|null
+68|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="15425"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15425}"|(select id from anchor where name='ran-network-simulation')|67|(select id from dataspace where name='NFP-Operational')|null
+70|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBDUFunction[@idGNBDUFunction="3"]/NRCellDU[@idNRCellDU="15426"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15426}"|(select id from anchor where name='ran-network-simulation')|69|(select id from dataspace where name='NFP-Operational')|null
+72|/cps-ran-schema/NearRTRIC[@idNearRTRIC="11"]/GNBCUUPFunction[@idGNBCUUPFunction="1111"]/attributes|"{"gNBId": 98763}"|(select id from anchor where name='ran-network-simulation')|71|(select id from dataspace where name='NFP-Operational')|null
+74|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]|"{"idGNBCUCPFunction": "cucpserver2"}"|(select id from anchor where name='ran-network-simulation')|73|(select id from dataspace where name='NFP-Operational')|null
+106|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]|"{"idGNBDUFunction": "4"}"|(select id from anchor where name='ran-network-simulation')|73|(select id from dataspace where name='NFP-Operational')|null
+118|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]|"{"idGNBDUFunction": "5"}"|(select id from anchor where name='ran-network-simulation')|73|(select id from dataspace where name='NFP-Operational')|null
+130|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]|"{"idGNBDUFunction": "6"}"|(select id from anchor where name='ran-network-simulation')|73|(select id from dataspace where name='NFP-Operational')|null
+142|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUUPFunction[@idGNBCUUPFunction="2222"]|"{"idGNBCUUPFunction": "2222"}"|(select id from anchor where name='ran-network-simulation')|73|(select id from dataspace where name='NFP-Operational')|null
+75|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/attributes|"{"gNBId": 98763, "gNBCUName": "cucpserver2", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+76|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15360"]|"{"idNRCellCU": "15360"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+78|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15361"]|"{"idNRCellCU": "15361"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+80|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11561"]|"{"idNRCellCU": "11561"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+82|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11562"]|"{"idNRCellCU": "11562"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+84|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="14655"]|"{"idNRCellCU": "14655"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+86|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="14656"]|"{"idNRCellCU": "14656"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+88|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="13910"]|"{"idNRCellCU": "13910"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+90|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="10896"]|"{"idNRCellCU": "10896"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+92|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="10897"]|"{"idNRCellCU": "10897"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+94|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11568"]|"{"idNRCellCU": "11568"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+96|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15548"]|"{"idNRCellCU": "15548"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+98|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11569"]|"{"idNRCellCU": "11569"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+100|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="14427"]|"{"idNRCellCU": "14427"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+102|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15549"]|"{"idNRCellCU": "15549"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+104|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="13905"]|"{"idNRCellCU": "13905"}"|(select id from anchor where name='ran-network-simulation')|74|(select id from dataspace where name='NFP-Operational')|null
+77|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15360"]/attributes|"{"cellLocalId": 15360}"|(select id from anchor where name='ran-network-simulation')|76|(select id from dataspace where name='NFP-Operational')|null
+79|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15361"]/attributes|"{"cellLocalId": 15361}"|(select id from anchor where name='ran-network-simulation')|78|(select id from dataspace where name='NFP-Operational')|null
+81|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11561"]/attributes|"{"cellLocalId": 11561}"|(select id from anchor where name='ran-network-simulation')|80|(select id from dataspace where name='NFP-Operational')|null
+83|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11562"]/attributes|"{"cellLocalId": 11562}"|(select id from anchor where name='ran-network-simulation')|82|(select id from dataspace where name='NFP-Operational')|null
+85|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="14655"]/attributes|"{"cellLocalId": 14655}"|(select id from anchor where name='ran-network-simulation')|84|(select id from dataspace where name='NFP-Operational')|null
+87|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="14656"]/attributes|"{"cellLocalId": 14656}"|(select id from anchor where name='ran-network-simulation')|86|(select id from dataspace where name='NFP-Operational')|null
+89|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="13910"]/attributes|"{"cellLocalId": 13910}"|(select id from anchor where name='ran-network-simulation')|88|(select id from dataspace where name='NFP-Operational')|null
+91|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="10896"]/attributes|"{"cellLocalId": 10896}"|(select id from anchor where name='ran-network-simulation')|90|(select id from dataspace where name='NFP-Operational')|null
+93|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="10897"]/attributes|"{"cellLocalId": 10897}"|(select id from anchor where name='ran-network-simulation')|92|(select id from dataspace where name='NFP-Operational')|null
+95|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11568"]/attributes|"{"cellLocalId": 11568}"|(select id from anchor where name='ran-network-simulation')|94|(select id from dataspace where name='NFP-Operational')|null
+97|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15548"]/attributes|"{"cellLocalId": 15548}"|(select id from anchor where name='ran-network-simulation')|96|(select id from dataspace where name='NFP-Operational')|null
+99|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="11569"]/attributes|"{"cellLocalId": 11569}"|(select id from anchor where name='ran-network-simulation')|98|(select id from dataspace where name='NFP-Operational')|null
+101|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="14427"]/attributes|"{"cellLocalId": 14427}"|(select id from anchor where name='ran-network-simulation')|100|(select id from dataspace where name='NFP-Operational')|null
+103|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="15549"]/attributes|"{"cellLocalId": 15549}"|(select id from anchor where name='ran-network-simulation')|102|(select id from dataspace where name='NFP-Operational')|null
+105|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUCPFunction[@idGNBCUCPFunction="cucpserver2"]/NRCellCU[@idNRCellCU="13905"]/attributes|"{"cellLocalId": 13905}"|(select id from anchor where name='ran-network-simulation')|104|(select id from dataspace where name='NFP-Operational')|null
+107|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/attributes|"{"gNBDUId": 4, "gNBDUName": "gnduserver4", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|106|(select id from dataspace where name='NFP-Operational')|null
+108|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="10896"]|"{"idNRCellDU": "10896"}"|(select id from anchor where name='ran-network-simulation')|106|(select id from dataspace where name='NFP-Operational')|null
+110|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11568"]|"{"idNRCellDU": "11568"}"|(select id from anchor where name='ran-network-simulation')|106|(select id from dataspace where name='NFP-Operational')|null
+112|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11561"]|"{"idNRCellDU": "11561"}"|(select id from anchor where name='ran-network-simulation')|106|(select id from dataspace where name='NFP-Operational')|null
+114|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11569"]|"{"idNRCellDU": "11569"}"|(select id from anchor where name='ran-network-simulation')|106|(select id from dataspace where name='NFP-Operational')|null
+116|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11562"]|"{"idNRCellDU": "11562"}"|(select id from anchor where name='ran-network-simulation')|106|(select id from dataspace where name='NFP-Operational')|null
+109|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="10896"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 10896}"|(select id from anchor where name='ran-network-simulation')|108|(select id from dataspace where name='NFP-Operational')|null
+111|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11568"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 11568}"|(select id from anchor where name='ran-network-simulation')|110|(select id from dataspace where name='NFP-Operational')|null
+113|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11561"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 11561}"|(select id from anchor where name='ran-network-simulation')|112|(select id from dataspace where name='NFP-Operational')|null
+115|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11569"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 11569}"|(select id from anchor where name='ran-network-simulation')|114|(select id from dataspace where name='NFP-Operational')|null
+117|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="4"]/NRCellDU[@idNRCellDU="11562"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 11562}"|(select id from anchor where name='ran-network-simulation')|116|(select id from dataspace where name='NFP-Operational')|null
+119|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/attributes|"{"gNBDUId": 5, "gNBDUName": "gnduserver5", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|118|(select id from dataspace where name='NFP-Operational')|null
+120|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="13910"]|"{"idNRCellDU": "13910"}"|(select id from anchor where name='ran-network-simulation')|118|(select id from dataspace where name='NFP-Operational')|null
+122|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="10897"]|"{"idNRCellDU": "10897"}"|(select id from anchor where name='ran-network-simulation')|118|(select id from dataspace where name='NFP-Operational')|null
+124|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="14655"]|"{"idNRCellDU": "14655"}"|(select id from anchor where name='ran-network-simulation')|118|(select id from dataspace where name='NFP-Operational')|null
+126|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="14656"]|"{"idNRCellDU": "14656"}"|(select id from anchor where name='ran-network-simulation')|118|(select id from dataspace where name='NFP-Operational')|null
+128|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="13905"]|"{"idNRCellDU": "13905"}"|(select id from anchor where name='ran-network-simulation')|118|(select id from dataspace where name='NFP-Operational')|null
+121|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="13910"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 13910}"|(select id from anchor where name='ran-network-simulation')|120|(select id from dataspace where name='NFP-Operational')|null
+123|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="10897"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 10897}"|(select id from anchor where name='ran-network-simulation')|122|(select id from dataspace where name='NFP-Operational')|null
+125|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="14655"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 14655}"|(select id from anchor where name='ran-network-simulation')|124|(select id from dataspace where name='NFP-Operational')|null
+127|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="14656"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 14656}"|(select id from anchor where name='ran-network-simulation')|126|(select id from dataspace where name='NFP-Operational')|null
+129|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="5"]/NRCellDU[@idNRCellDU="13905"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 13905}"|(select id from anchor where name='ran-network-simulation')|128|(select id from dataspace where name='NFP-Operational')|null
+131|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/attributes|"{"gNBDUId": 6, "gNBDUName": "gnduserver6", "gNBIdLength": 32}"|(select id from anchor where name='ran-network-simulation')|130|(select id from dataspace where name='NFP-Operational')|null
+132|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15548"]|"{"idNRCellDU": "15548"}"|(select id from anchor where name='ran-network-simulation')|130|(select id from dataspace where name='NFP-Operational')|null
+134|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="14427"]|"{"idNRCellDU": "14427"}"|(select id from anchor where name='ran-network-simulation')|130|(select id from dataspace where name='NFP-Operational')|null
+136|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15549"]|"{"idNRCellDU": "15549"}"|(select id from anchor where name='ran-network-simulation')|130|(select id from dataspace where name='NFP-Operational')|null
+138|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15360"]|"{"idNRCellDU": "15360"}"|(select id from anchor where name='ran-network-simulation')|130|(select id from dataspace where name='NFP-Operational')|null
+140|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15361"]|"{"idNRCellDU": "15361"}"|(select id from anchor where name='ran-network-simulation')|130|(select id from dataspace where name='NFP-Operational')|null
+133|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15548"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15548}"|(select id from anchor where name='ran-network-simulation')|132|(select id from dataspace where name='NFP-Operational')|null
+135|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="14427"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 14427}"|(select id from anchor where name='ran-network-simulation')|134|(select id from dataspace where name='NFP-Operational')|null
+137|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15549"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15549}"|(select id from anchor where name='ran-network-simulation')|136|(select id from dataspace where name='NFP-Operational')|null
+139|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15360"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15360}"|(select id from anchor where name='ran-network-simulation')|138|(select id from dataspace where name='NFP-Operational')|null
+141|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBDUFunction[@idGNBDUFunction="6"]/NRCellDU[@idNRCellDU="15361"]/attributes|"{"nRPCI": 12, "nRTAC": 310, "cellLocalId": 15361}"|(select id from anchor where name='ran-network-simulation')|140|(select id from dataspace where name='NFP-Operational')|null
+143|/cps-ran-schema/NearRTRIC[@idNearRTRIC="22"]/GNBCUUPFunction[@idGNBCUUPFunction="2222"]/attributes|"{"gNBId": 98763}"|(select id from anchor where name='ran-network-simulation')|142|(select id from dataspace where name='NFP-Operational')|null
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/schema_set.csv b/cps-ri/src/main/resources/changelog/db/changes/data/schema_set.csv
new file mode 100644
index 0000000..39de8a4
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/schema_set.csv
@@ -0,0 +1,2 @@
+name|dataspace_id
+cps-ran-schema-model|(select id from dataspace where name='NFP-Operational')
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/schema_set_yang_resources.csv b/cps-ri/src/main/resources/changelog/db/changes/data/schema_set_yang_resources.csv
new file mode 100644
index 0000000..9a258c2
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/schema_set_yang_resources.csv
@@ -0,0 +1,4 @@
+schema_set_id|yang_resource_id
+(select id from schema_set where name='cps-ran-schema-model')|"(select id from yang_resource where name='ietf-inet-types.yang')"
+(select id from schema_set where name='cps-ran-schema-model')|(select id from yang_resource where name='cps-ran-schema-model2021-01-28.yang')
+(select id from schema_set where name='cps-ran-schema-model')|(select id from yang_resource where name='ietf-yang-types.yang')
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/yang_resource.csv b/cps-ri/src/main/resources/changelog/db/changes/data/yang_resource.csv
new file mode 100644
index 0000000..4dd3127
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/yang_resource.csv
@@ -0,0 +1,2236 @@
+name|content|checksum
+ietf-inet-types.yang|"module ietf-inet-types {
+
+  namespace \"urn:ietf:params:xml:ns:yang:ietf-inet-types\";
+  prefix \"inet\";
+
+  organization
+   \"IETF NETMOD (NETCONF Data Modeling Language) Working Group\";
+
+  contact
+   \"WG Web:   <http://tools.ietf.org/wg/netmod/>
+    WG List:  <mailto:netmod@ietf.org>
+
+    WG Chair: David Kessens
+              <mailto:david.kessens@nsn.com>
+
+    WG Chair: Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>
+
+    Editor:   Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>\";
+
+  description
+   \"This module contains a collection of generally useful derived
+    YANG data types for Internet addresses and related things.
+
+    Copyright (c) 2013 IETF Trust and the persons identified as
+    authors of the code.  All rights reserved.
+
+    Redistribution and use in source and binary forms, with or
+    without modification, is permitted pursuant to, and subject
+    to the license terms contained in, the Simplified BSD License
+    set forth in Section 4.c of the IETF Trust''s Legal Provisions
+    Relating to IETF Documents
+    (http://trustee.ietf.org/license-info).
+
+    This version of this YANG module is part of RFC 6991; see
+    the RFC itself for full legal notices.\";
+
+  revision 2013-07-15 {
+    description
+     \"This revision adds the following new data types:
+      - ip-address-no-zone
+      - ipv4-address-no-zone
+      - ipv6-address-no-zone\";
+    reference
+     \"RFC 6991: Common YANG Data Types\";
+  }
+
+  revision 2010-09-24 {
+    description
+     \"Initial revision.\";
+    reference
+     \"RFC 6021: Common YANG Data Types\";
+  }
+
+  /*** collection of types related to protocol fields ***/
+
+  typedef ip-version {
+    type enumeration {
+      enum unknown {
+        value \"0\";
+        description
+         \"An unknown or unspecified version of the Internet
+          protocol.\";
+      }
+      enum ipv4 {
+        value \"1\";
+        description
+         \"The IPv4 protocol as defined in RFC 791.\";
+      }
+      enum ipv6 {
+        value \"2\";
+        description
+         \"The IPv6 protocol as defined in RFC 2460.\";
+      }
+    }
+    description
+     \"This value represents the version of the IP protocol.
+
+      In the value set and its semantics, this type is equivalent
+      to the InetVersion textual convention of the SMIv2.\";
+    reference
+     \"RFC  791: Internet Protocol
+      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification
+      RFC 4001: Textual Conventions for Internet Network Addresses\";
+  }
+
+  typedef dscp {
+    type uint8 {
+      range \"0..63\";
+    }
+    description
+     \"The dscp type represents a Differentiated Services Code Point
+      that may be used for marking packets in a traffic stream.
+      In the value set and its semantics, this type is equivalent
+      to the Dscp textual convention of the SMIv2.\";
+    reference
+     \"RFC 3289: Management Information Base for the Differentiated
+                Services Architecture
+      RFC 2474: Definition of the Differentiated Services Field
+                (DS Field) in the IPv4 and IPv6 Headers
+      RFC 2780: IANA Allocation Guidelines For Values In
+                the Internet Protocol and Related Headers\";
+  }
+
+  typedef ipv6-flow-label {
+    type uint32 {
+      range \"0..1048575\";
+    }
+    description
+     \"The ipv6-flow-label type represents the flow identifier or Flow
+      Label in an IPv6 packet header that may be used to
+      discriminate traffic flows.
+
+      In the value set and its semantics, this type is equivalent
+      to the IPv6FlowLabel textual convention of the SMIv2.\";
+    reference
+     \"RFC 3595: Textual Conventions for IPv6 Flow Label
+      RFC 2460: Internet Protocol, Version 6 (IPv6) Specification\";
+  }
+
+  typedef port-number {
+    type uint16 {
+      range \"0..65535\";
+    }
+    description
+     \"The port-number type represents a 16-bit port number of an
+      Internet transport-layer protocol such as UDP, TCP, DCCP, or
+      SCTP.  Port numbers are assigned by IANA.  A current list of
+      all assignments is available from <http://www.iana.org/>.
+
+      Note that the port number value zero is reserved by IANA.  In
+      situations where the value zero does not make sense, it can
+      be excluded by subtyping the port-number type.
+      In the value set and its semantics, this type is equivalent
+      to the InetPortNumber textual convention of the SMIv2.\";
+    reference
+     \"RFC  768: User Datagram Protocol
+      RFC  793: Transmission Control Protocol
+      RFC 4960: Stream Control Transmission Protocol
+      RFC 4340: Datagram Congestion Control Protocol (DCCP)
+      RFC 4001: Textual Conventions for Internet Network Addresses\";
+  }
+
+  /*** collection of types related to autonomous systems ***/
+
+  typedef as-number {
+    type uint32;
+    description
+     \"The as-number type represents autonomous system numbers
+      which identify an Autonomous System (AS).  An AS is a set
+      of routers under a single technical administration, using
+      an interior gateway protocol and common metrics to route
+      packets within the AS, and using an exterior gateway
+      protocol to route packets to other ASes.  IANA maintains
+      the AS number space and has delegated large parts to the
+      regional registries.
+
+      Autonomous system numbers were originally limited to 16
+      bits.  BGP extensions have enlarged the autonomous system
+      number space to 32 bits.  This type therefore uses an uint32
+      base type without a range restriction in order to support
+      a larger autonomous system number space.
+
+      In the value set and its semantics, this type is equivalent
+      to the InetAutonomousSystemNumber textual convention of
+      the SMIv2.\";
+    reference
+     \"RFC 1930: Guidelines for creation, selection, and registration
+                of an Autonomous System (AS)
+      RFC 4271: A Border Gateway Protocol 4 (BGP-4)
+      RFC 4001: Textual Conventions for Internet Network Addresses
+      RFC 6793: BGP Support for Four-Octet Autonomous System (AS)
+                Number Space\";
+  }
+
+  /*** collection of types related to IP addresses and hostnames ***/
+
+  typedef ip-address {
+    type union {
+      type inet:ipv4-address;
+      type inet:ipv6-address;
+    }
+    description
+     \"The ip-address type represents an IP address and is IP
+      version neutral.  The format of the textual representation
+      implies the IP version.  This type supports scoped addresses
+      by allowing zone identifiers in the address format.\";
+    reference
+     \"RFC 4007: IPv6 Scoped Address Architecture\";
+  }
+
+  typedef ipv4-address {
+    type string {
+      pattern
+        ''(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}''
+      +  ''([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])''
+      + ''(%[p{N}p{L}]+)?'';
+    }
+    description
+      \"The ipv4-address type represents an IPv4 address in
+       dotted-quad notation.  The IPv4 address may include a zone
+       index, separated by a % sign.
+
+       The zone index is used to disambiguate identical address
+       values.  For link-local addresses, the zone index will
+       typically be the interface index number or the name of an
+       interface.  If the zone index is not present, the default
+       zone of the device will be used.
+
+       The canonical format for the zone index is the numerical
+       format\";
+  }
+
+  typedef ipv6-address {
+    type string {
+      pattern ''((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}''
+            + ''((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|''
+            + ''(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).){3}''
+            + ''(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))''
+            + ''(%[p{N}p{L}]+)?'';
+      pattern ''(([^:]+:){6}(([^:]+:[^:]+)|(.*..*)))|''
+            + ''((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)''
+            + ''(%.+)?'';
+    }
+    description
+     \"The ipv6-address type represents an IPv6 address in full,
+      mixed, shortened, and shortened-mixed notation.  The IPv6
+      address may include a zone index, separated by a % sign.
+
+      The zone index is used to disambiguate identical address
+      values.  For link-local addresses, the zone index will
+      typically be the interface index number or the name of an
+      interface.  If the zone index is not present, the default
+      zone of the device will be used.
+
+      The canonical format of IPv6 addresses uses the textual
+      representation defined in Section 4 of RFC 5952.  The
+      canonical format for the zone index is the numerical
+      format as described in Section 11.2 of RFC 4007.\";
+    reference
+     \"RFC 4291: IP Version 6 Addressing Architecture
+      RFC 4007: IPv6 Scoped Address Architecture
+      RFC 5952: A Recommendation for IPv6 Address Text
+                Representation\";
+  }
+
+  typedef ip-address-no-zone {
+    type union {
+      type inet:ipv4-address-no-zone;
+      type inet:ipv6-address-no-zone;
+    }
+    description
+     \"The ip-address-no-zone type represents an IP address and is
+      IP version neutral.  The format of the textual representation
+      implies the IP version.  This type does not support scoped
+      addresses since it does not allow zone identifiers in the
+      address format.\";
+    reference
+     \"RFC 4007: IPv6 Scoped Address Architecture\";
+  }
+
+  typedef ipv4-address-no-zone {
+    type inet:ipv4-address {
+      pattern ''[0-9.]*'';
+    }
+    description
+      \"An IPv4 address without a zone index.  This type, derived from
+       ipv4-address, may be used in situations where the zone is
+       known from the context and hence no zone index is needed.\";
+  }
+
+  typedef ipv6-address-no-zone {
+    type inet:ipv6-address {
+      pattern ''[0-9a-fA-F:.]*'';
+    }
+    description
+      \"An IPv6 address without a zone index.  This type, derived from
+       ipv6-address, may be used in situations where the zone is
+       known from the context and hence no zone index is needed.\";
+    reference
+     \"RFC 4291: IP Version 6 Addressing Architecture
+      RFC 4007: IPv6 Scoped Address Architecture
+      RFC 5952: A Recommendation for IPv6 Address Text
+                Representation\";
+  }
+
+  typedef ip-prefix {
+    type union {
+      type inet:ipv4-prefix;
+      type inet:ipv6-prefix;
+    }
+    description
+     \"The ip-prefix type represents an IP prefix and is IP
+      version neutral.  The format of the textual representations
+      implies the IP version.\";
+  }
+
+  typedef ipv4-prefix {
+    type string {
+      pattern
+         ''(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}''
+       +  ''([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])''
+       + ''/(([0-9])|([1-2][0-9])|(3[0-2]))'';
+    }
+    description
+     \"The ipv4-prefix type represents an IPv4 address prefix.
+      The prefix length is given by the number following the
+      slash character and must be less than or equal to 32.
+
+      A prefix length value of n corresponds to an IP address
+      mask that has n contiguous 1-bits from the most
+      significant bit (MSB) and all other bits set to 0.
+
+      The canonical format of an IPv4 prefix has all bits of
+      the IPv4 address set to zero that are not part of the
+      IPv4 prefix.\";
+  }
+
+  typedef ipv6-prefix {
+    type string {
+      pattern ''((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}''
+            + ''((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|''
+            + ''(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9]).){3}''
+            + ''(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))''
+            + ''(/(([0-9])|([0-9]{2})|(1[0-1][0-9])|(12[0-8])))'';
+      pattern ''(([^:]+:){6}(([^:]+:[^:]+)|(.*..*)))|''
+            + ''((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)''
+            + ''(/.+)'';
+    }
+    description
+     \"The ipv6-prefix type represents an IPv6 address prefix.
+      The prefix length is given by the number following the
+      slash character and must be less than or equal to 128.
+
+      A prefix length value of n corresponds to an IP address
+      mask that has n contiguous 1-bits from the most
+      significant bit (MSB) and all other bits set to 0.
+
+      The IPv6 address should have all bits that do not belong
+      to the prefix set to zero.
+
+      The canonical format of an IPv6 prefix has all bits of
+      the IPv6 address set to zero that are not part of the
+      IPv6 prefix.  Furthermore, the IPv6 address is represented
+      as defined in Section 4 of RFC 5952.\";
+    reference
+     \"RFC 5952: A Recommendation for IPv6 Address Text
+                Representation\";
+  }
+
+  /*** collection of domain name and URI types ***/
+
+  typedef domain-name {
+    type string {
+      length \"1..253\";
+      pattern
+        ''((([a-zA-Z0-9_]([a-zA-Z0-9-_]){0,61})?[a-zA-Z0-9].)*''
+      + ''([a-zA-Z0-9_]([a-zA-Z0-9-_]){0,61})?[a-zA-Z0-9].?)''
+      + ''|.'';
+    }
+    description
+     \"The domain-name type represents a DNS domain name.  The
+      name SHOULD be fully qualified whenever possible.
+
+      Internet domain names are only loosely specified.  Section
+      3.5 of RFC 1034 recommends a syntax (modified in Section
+      2.1 of RFC 1123).  The pattern above is intended to allow
+      for current practice in domain name use, and some possible
+      future expansion.  It is designed to hold various types of
+      domain names, including names used for A or AAAA records
+      (host names) and other records, such as SRV records.  Note
+      that Internet host names have a stricter syntax (described
+      in RFC 952) than the DNS recommendations in RFCs 1034 and
+      1123, and that systems that want to store host names in
+      schema nodes using the domain-name type are recommended to
+      adhere to this stricter standard to ensure interoperability.
+
+      The encoding of DNS names in the DNS protocol is limited
+      to 255 characters.  Since the encoding consists of labels
+      prefixed by a length bytes and there is a trailing NULL
+      byte, only 253 characters can appear in the textual dotted
+      notation.
+
+      The description clause of schema nodes using the domain-name
+      type MUST describe when and how these names are resolved to
+      IP addresses.  Note that the resolution of a domain-name value
+      may require to query multiple DNS records (e.g., A for IPv4
+      and AAAA for IPv6).  The order of the resolution process and
+      which DNS record takes precedence can either be defined
+      explicitly or may depend on the configuration of the
+      resolver.
+
+      Domain-name values use the US-ASCII encoding.  Their canonical
+      format uses lowercase US-ASCII characters.  Internationalized
+      domain names MUST be A-labels as per RFC 5890.\";
+    reference
+     \"RFC  952: DoD Internet Host Table Specification
+      RFC 1034: Domain Names - Concepts and Facilities
+      RFC 1123: Requirements for Internet Hosts -- Application
+                and Support
+      RFC 2782: A DNS RR for specifying the location of services
+                (DNS SRV)
+      RFC 5890: Internationalized Domain Names in Applications
+                (IDNA): Definitions and Document Framework\";
+  }
+
+  typedef host {
+    type union {
+      type inet:ip-address;
+      type inet:domain-name;
+    }
+    description
+     \"The host type represents either an IP address or a DNS
+      domain name.\";
+  }
+
+  typedef uri {
+    type string;
+    description
+     \"The uri type represents a Uniform Resource Identifier
+      (URI) as defined by STD 66.
+
+      Objects using the uri type MUST be in US-ASCII encoding,
+      and MUST be normalized as described by RFC 3986 Sections
+      6.2.1, 6.2.2.1, and 6.2.2.2.  All unnecessary
+      percent-encoding is removed, and all case-insensitive
+      characters are set to lowercase except for hexadecimal
+      digits, which are normalized to uppercase as described in
+      Section 6.2.2.1.
+
+      The purpose of this normalization is to help provide
+      unique URIs.  Note that this normalization is not
+      sufficient to provide uniqueness.  Two URIs that are
+      textually distinct after this normalization may still be
+      equivalent.
+
+      Objects using the uri type may restrict the schemes that
+      they permit.  For example, ''data:'' and ''urn:'' schemes
+      might not be appropriate.
+
+      A zero-length URI is not a valid URI.  This can be used to
+      express ''URI absent'' where required.
+
+      In the value set and its semantics, this type is equivalent
+      to the Uri SMIv2 textual convention defined in RFC 5017.\";
+    reference
+     \"RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
+      RFC 3305: Report from the Joint W3C/IETF URI Planning Interest
+                Group: Uniform Resource Identifiers (URIs), URLs,
+                and Uniform Resource Names (URNs): Clarifications
+                and Recommendations
+      RFC 5017: MIB Textual Conventions for Uniform Resource
+                Identifiers (URIs)\";
+  }
+
+}"|fd06e465f26f1e7d0253bbf77e7e55e1
+cps-ran-schema-model2021-01-28.yang|"module cps-ran-schema-model {
+  yang-version 1.1;
+  namespace \"org:onap:ccsdk:features:sdnr:northbound:cps-ran-schema-model\";
+  prefix rn;
+
+  import ietf-inet-types {
+    prefix inet;
+  }
+  import ietf-yang-types {
+    prefix yang;
+  }
+
+  organization
+    \"Open Network Automation Platform - ONAP
+     <https://www.onap.org>\";
+  contact
+    \"Editors:
+       Sandeep Shah
+       <mailto:sandeep.shah@ibm.com>
+
+       Swaminathan Seetharaman
+       <mailto:swaminathan.seetharaman@wipro.com>\";
+  description
+    \"This module contains a collection of YANG definitions for capturing
+     relationships among managed elements of the radio access Network
+     to be stored in ONAP CPS platform.
+
+     Copyright 2020-2021 IBM.
+
+     Licensed under the Apache License, Version 2.0 (the ''License'');
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an ''AS IS'' BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.\";
+
+  revision 2021-01-28 {
+    description
+      \"CPS RAN Network YANG Model for ONAP/O-RAN POC\";
+    reference
+      \"https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin\";
+  }
+
+  typedef usageState {
+    type enumeration {
+      enum IDLE {
+        description
+          \"TODO\";
+      }
+      enum ACTIVE {
+        description
+          \"TODO\";
+      }
+      enum BUSY {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"It describes whether or not the resource is actively in
+       use at a specific instant, and if so, whether or not it has spare
+       capacity for additional users at that instant. The value is READ-ONLY.\";
+    reference
+      \"ITU T Recommendation X.731\";
+  }
+
+  typedef Mcc {
+    type string;
+    description
+      \"The mobile country code consists of three decimal digits,
+       The first digit of the mobile country code identifies the geographic
+       region (the digits 1 and 8 are not used):\";
+    reference
+      \"3GPP TS 23.003 subclause 2.2 and 12.1\";
+  }
+
+  typedef Mnc {
+    type string;
+    description
+      \"The mobile network code consists of two or three
+       decimal digits (for example: MNC of 001 is not the same as MNC of 01)\";
+    reference
+      \"3GPP TS 23.003 subclause 2.2 and 12.1\";
+  }
+
+  typedef Nci {
+    type string;
+    description
+      \"NR Cell Identity. The NCI shall be of fixed length of 36 bits
+       and shall be coded using full hexadecimal representation.
+       The exact coding of the NCI is the responsibility of each PLMN operator\";
+    reference
+      \"TS 23.003\";
+  }
+
+  typedef OperationalState {
+    type enumeration {
+      enum DISABLED {
+        value 0;
+        description
+          \"The resource is totally inoperable.\";
+      }
+      enum ENABLED {
+        value 1;
+        description
+          \"The resource is partially or fully operable.\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"3GPP TS 28.625 and ITU-T X.731\";
+  }
+
+  typedef AvailabilityStatus {
+    type enumeration {
+      enum IN_TEST {
+        description
+          \"TODO\";
+      }
+      enum FAILED {
+        description
+          \"TODO\";
+      }
+      enum POWER_OFF {
+        description
+          \"TODO\";
+      }
+      enum OFF_LINE {
+        description
+          \"TODO\";
+      }
+      enum OFF_DUTY {
+        description
+          \"TODO\";
+      }
+      enum DEPENDENCY {
+        description
+          \"TODO\";
+      }
+      enum DEGRADED {
+        description
+          \"TODO\";
+      }
+      enum NOT_INSTALLED {
+        description
+          \"TODO\";
+      }
+      enum LOG_FULL {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef CellState {
+    type enumeration {
+      enum IDLE {
+        description
+          \"TODO\";
+      }
+      enum INACTIVE {
+        description
+          \"TODO\";
+      }
+      enum ACTIVE {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef SNssai {
+    type string;
+    description
+      \"Single Network Slice Selection Assistance Information.\";
+    reference
+      \"TS 23.501 clause 5.15.2\";
+  }
+
+  typedef Sst {
+    type uint8;
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef Nrpci {
+    type uint32;
+    description
+      \"Physical Cell Identity (PCI) of the NR cell.\";
+    reference
+      \"TS 36.211 subclause 6.11\";
+  }
+
+  typedef Tac {
+    type int32 {
+      range \"0..16777215\";
+    }
+    description
+      \"Tracking Area Code\";
+    reference
+      \"TS 23.003 clause 19.4.2.3\";
+  }
+
+  typedef AmfRegionId {
+    type string;
+    description
+      \"\";
+    reference
+      \"clause 2.10.1 of 3GPP TS 23.003\";
+  }
+
+  typedef AmfSetId {
+    type string;
+    description
+      \"\";
+    reference
+      \"clause 2.10.1 of 3GPP TS 23.003\";
+  }
+
+  typedef AmfPointer {
+    type string;
+    description
+      \"\";
+    reference
+      \"clause 2.10.1 of 3GPP TS 23.003\";
+  }
+
+  // type definitions especially for core NFs
+
+  typedef NfType {
+    type enumeration {
+      enum NRF {
+        description
+          \"TODO\";
+      }
+      enum UDM {
+        description
+          \"TODO\";
+      }
+      enum AMF {
+        description
+          \"TODO\";
+      }
+      enum SMF {
+        description
+          \"TODO\";
+      }
+      enum AUSF {
+        description
+          \"TODO\";
+      }
+      enum NEF {
+        description
+          \"TODO\";
+      }
+      enum PCF {
+        description
+          \"TODO\";
+      }
+      enum SMSF {
+        description
+          \"TODO\";
+      }
+      enum NSSF {
+        description
+          \"TODO\";
+      }
+      enum UDR {
+        description
+          \"TODO\";
+      }
+      enum LMF {
+        description
+          \"TODO\";
+      }
+      enum GMLC {
+        description
+          \"TODO\";
+      }
+      enum 5G_EIR {
+        description
+          \"TODO\";
+      }
+      enum SEPP {
+        description
+          \"TODO\";
+      }
+      enum UPF {
+        description
+          \"TODO\";
+      }
+      enum N3IWF {
+        description
+          \"TODO\";
+      }
+      enum AF {
+        description
+          \"TODO\";
+      }
+      enum UDSF {
+        description
+          \"TODO\";
+      }
+      enum BSF {
+        description
+          \"TODO\";
+      }
+      enum CHF {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+  }
+
+  typedef NotificationType {
+    type enumeration {
+      enum N1_MESSAGES {
+        description
+          \"TODO\";
+      }
+      enum N2_INFORMATION {
+        description
+          \"TODO\";
+      }
+      enum LOCATION_NOTIFICATION {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+  }
+
+  typedef Load {
+    type uint8 {
+      range \"0..100\";
+    }
+    description
+      \"Latest known load information of the NF, percentage \";
+  }
+
+  typedef N1MessageClass {
+    type enumeration {
+      enum 5GMM {
+        description
+          \"TODO\";
+      }
+      enum SM {
+        description
+          \"TODO\";
+      }
+      enum LPP {
+        description
+          \"TODO\";
+      }
+      enum SMS {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+  }
+
+  typedef N2InformationClass {
+    type enumeration {
+      enum SM {
+        description
+          \"TODO\";
+      }
+      enum NRPPA {
+        description
+          \"TODO\";
+      }
+      enum PWS {
+        description
+          \"TODO\";
+      }
+      enum PWS_BCAL {
+        description
+          \"TODO\";
+      }
+      enum PWS_RF {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef NsiId {
+    type string;
+    description
+      \"TODO\";
+  }
+
+  typedef UeMobilityLevel {
+    type enumeration {
+      enum STATIONARY {
+        description
+          \"TODO\";
+      }
+      enum NOMADIC {
+        description
+          \"TODO\";
+      }
+      enum RESTRICTED_MOBILITY {
+        description
+          \"TODO\";
+      }
+      enum FULLY_MOBILITY {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef ResourceSharingLevel {
+    type enumeration {
+      enum SHARED {
+        description
+          \"TODO\";
+      }
+      enum NOT_SHARED {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef TxDirection {
+    type enumeration {
+      enum DL {
+        description
+          \"TODO\";
+      }
+      enum UL {
+        description
+          \"TODO\";
+      }
+      enum DL_AND_UL {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ?
+    type string;
+    description
+      \"Represents the international standard for the representation
+       of Distinguished Name (RFC 4512).
+       The format of the DistinguishedName REGEX is:
+       {AttributeType = AttributeValue}
+
+       AttributeType consists of alphanumeric and hyphen (OIDs not allowed).
+       All other characters are restricted.
+       The Attribute value cannot contain control characters or the
+       following characters : \ > < ; \" + , (Comma) and White space
+       The Attribute value can contain the following characters if they
+       are excaped : \ > < ; \" + , (Comma) and White space
+       The Attribute value can contain control characters if its an escaped
+       double digit hex number.
+       Examples could be
+       UID=nobody@example.com,DC=example,DC=com
+       CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US\";
+    reference
+      \"RFC 4512 Lightweight Directory Access Protocol (LDAP):
+             Directory Information Models\";
+  } // recheck regexp it doesn''t handle posix [:cntrl:]
+
+  typedef QOffsetRange {
+    type int8;
+    units \"dB\";
+    description
+      \"TODO\";
+    reference
+      \"TODO\";
+  }
+
+  typedef QuotaType {
+    type enumeration {
+      enum STRICT {
+        description
+          \"TODO\";
+      }
+      enum FLOAT {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+  }
+
+  typedef CyclicPrefix {
+    type enumeration {
+      enum NORMAL {
+        description
+          \"TODO\";
+      }
+      enum EXTENDED {
+        description
+          \"TODO\";
+      }
+    }
+    description
+      \"TODO\";
+  }
+
+  grouping PLMNInfo {
+    description
+      \"The PLMNInfo data type define a S-NSSAI member in a specific PLMNId, and it have
+       two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). The PLMNId represents a data type that
+       is comprised of mcc (mobile country code) and mnc (mobile network code), (See TS 23.003
+       subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is comprised of an SST
+       (Slice/Service type) and an optional SD (Slice Differentiator) field, (See TS 23.003 [13]).\";
+    uses PLMNId;
+    list sNSSAIList {
+      key \"sNssai\";
+      uses sNSSAIConfig;
+      description \"List of sNSSAIs\";
+    }
+  }
+
+  grouping ManagedNFProfile {
+    description
+      \"Defines profile for managed NF\";
+    reference
+      \"3GPP TS 23.501\";
+    leaf idx {
+      type uint32;
+      description
+        \"TODO\";
+      reference
+        \"3GPP TS 23.501\";
+    }
+    leaf nfInstanceID {
+      type yang:uuid;
+      config false;
+      mandatory false;
+      description
+        \"This parameter defines profile for managed NF.
+         The format of the NF Instance ID shall be a
+         Universally Unique Identifier (UUID) version 4,
+         as described in IETF RFC 4122 \";
+    }
+    leaf-list nfType {
+      type NfType;
+      config false;
+      min-elements 1;
+      description
+        \"Type of the Network Function\";
+    }
+    leaf hostAddr {
+      type inet:host;
+      mandatory false;
+      description
+        \"Host address of a NF\";
+    }
+    leaf authzInfo {
+      type string;
+      description
+        \"This parameter defines NF Specific Service authorization
+         information. It shall include the NF type (s) and NF realms/origins
+         allowed to consume NF Service(s) of NF Service Producer.\";
+      reference
+        \"See TS 23.501\";
+    }
+    leaf location {
+      type string;
+      description
+        \"Information about the location of the NF instance
+         (e.g. geographic location, data center) defined by operator\";
+      reference
+        \"TS 29.510\";
+    }
+    leaf capacity {
+      type uint16;
+      mandatory false;
+      description
+        \"This parameter defines static capacity information
+         in the range of 0-65535, expressed as a weight relative to other
+         NF instances of the same type; if capacity is also present in the
+         nfServiceList parameters, those will have precedence over this value.\";
+      reference
+        \"TS 29.510\";
+    }
+    leaf nFSrvGroupId {
+      type string;
+      description
+        \"This parameter defines identity of the group that is
+         served by the NF instance.
+         May be config false or true depending on the ManagedFunction.
+         Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo.
+         Shall be present if ../nfType = UDM or AUSF or UDR. \";
+      reference
+        \"TS 29.510\";
+    }
+    leaf-list supportedDataSetIds {
+      type enumeration {
+        enum SUBSCRIPTION {
+          description
+            \"TODO\";
+        }
+        enum POLICY {
+          description
+            \"TODO\";
+        }
+        enum EXPOSURE {
+          description
+            \"TODO\";
+        }
+        enum APPLICATION {
+          description
+            \"TODO\";
+        }
+      }
+      description
+        \"List of supported data sets in the UDR instance.
+         May be present if ../nfType = UDR\";
+      reference
+        \"TS 29.510\";
+    }
+    leaf-list smfServingAreas {
+      type string;
+      description
+        \"Defines the SMF service area(s) the UPF can serve.
+         Shall be present if ../nfType = UPF\";
+      reference
+        \"TS 29.510\";
+    }
+    leaf priority {
+      type uint16;
+      description
+        \"This parameter defines Priority (relative to other NFs
+         of the same type) in the range of 0-65535, to be used for NF selection;
+         lower values indicate a higher priority. If priority is also present
+         in the nfServiceList parameters, those will have precedence over
+         this value. Shall be present if ../nfType = AMF \";
+      reference
+        \"TS 29.510\";
+    }
+  }
+
+
+  grouping PLMNId {
+    description
+      \"TODO\";
+    reference
+      \"TS 23.658\";
+    leaf mcc {
+      type Mcc;
+      mandatory true;
+      description
+        \"TODO\";
+    }
+    leaf mnc {
+      type Mnc;
+      mandatory true;
+      description
+        \"TODO\";
+    }
+  }
+
+  grouping AmfIdentifier {
+    description
+      \"The AMFI is constructed from an AMF Region ID,
+       an AMF Set ID and an AMF Pointer.
+       The AMF Region ID identifies the region,
+       the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and
+       the AMF Pointer uniquely identifies the AMF within the AMF Set. \";
+    leaf amfRegionId {
+      type AmfRegionId;
+      description
+        \"TODO\";
+    }
+    leaf amfSetId {
+      type AmfSetId;
+      description
+        \"TODO\";
+    }
+    leaf amfPointer {
+      type AmfPointer;
+      description
+        \"TODO\";
+    }
+  }
+
+  grouping DefaultNotificationSubscription {
+    description
+      \"TODO\";
+    leaf notificationType {
+      type NotificationType;
+      description
+        \"TODO\";
+    }
+    leaf callbackUri {
+      type inet:uri;
+      description
+        \"TODO\";
+    }
+    leaf n1MessageClass {
+      type N1MessageClass;
+      description
+        \"TODO\";
+    }
+    leaf n2InformationClass {
+      type N2InformationClass;
+      description
+        \"TODO\";
+    }
+  }
+
+  grouping Ipv4AddressRange {
+    description
+      \"TODO\";
+    leaf start {
+      type inet:ipv4-address;
+      description
+        \"TODO\";
+    }
+    leaf end {
+      type inet:ipv4-address;
+      description
+        \"TODO\";
+    }
+  }
+
+  grouping Ipv6PrefixRange {
+    description
+      \"TODO\";
+    leaf start {
+      type inet:ipv6-prefix;
+      description
+        \"TODO\";
+    }
+    leaf end {
+      type inet:ipv6-prefix;
+      description
+        \"TODO\";
+    }
+  }
+
+  grouping AddressWithVlan {
+    description
+      \"TODO\";
+    leaf ipAddress {
+      type inet:ip-address;
+      description
+        \"TODO\";
+    }
+    leaf vlanId {
+      type uint16;
+      description
+        \"TODO\";
+    }
+  }
+
+  grouping ManagedElementGroup {
+    description
+      \"Abstract class representing telecommunications resources.\";
+    leaf dnPrefix {
+      type DistinguishedName;
+      description
+        \"Provides naming context and splits the DN into a DN Prefix and Local DN\";
+    }
+    leaf userLabel {
+      type string;
+      description
+        \"A user-friendly name of this object.\";
+    }
+    leaf locationName {
+      type string;
+      config false;
+      description
+        \"The physical location (e.g. an address) of an entity\";
+    }
+    leaf-list managedBy {
+      type DistinguishedName;
+      config false;
+      description
+        \"Relates to the role played by ManagementSystem\";
+    }
+    leaf-list managedElementTypeList {
+      type string;
+      config false;
+      min-elements 1;
+      description
+        \"The type of functionality provided by the ManagedElement.
+         It may represent one ME functionality or a combination of
+         Two examples of allowed values are:
+         -  NodeB;
+         -  HLR, VLR.\";
+    }
+  } // Managed Element grouping
+
+  grouping NearRTRICGroup {
+    description
+      \"Abstract class representing Near RT RIC.\";
+    leaf dnPrefix {
+      type DistinguishedName;
+      description
+        \"Provides naming context and splits the DN into a DN Prefix and Local DN\";
+    }
+    leaf userLabel {
+      type string;
+      description
+        \"A user-friendly name of this object.\";
+    }
+    leaf locationName {
+      type string;
+      config false;
+      description
+        \"The physical location (e.g. an address) of an entity\";
+    }
+    leaf gNBId {
+          type int64 { range \"0..4294967295\"; }
+          config false;
+          description \"Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
+            is part of the NR Cell Identifier (NCI) of the gNB cells.\";
+          reference \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\";
+        }
+
+  	list pLMNInfoList {
+          uses PLMNInfo;
+          key \"mcc mnc\";
+          description \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that can be served by the nearRTRIC.\";
+        }
+    list RRMPolicyRatio {
+      key id;
+      leaf id {
+        type string;
+        description
+          \"Key leaf\";
+      }
+      container attributes {
+        uses RRMPolicyRatioGroup;
+      }
+      description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+        inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
+        standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+        abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\";
+    }
+
+  } // Near RT RIC grouping
+
+
+
+  	grouping Configuration{
+  		leaf configParameter{
+  			type string;
+  			description \"Type of the configuration parameter\";
+        }
+  		leaf configValue{
+  			type int64;
+  			description \"Identifies the configuration to be done for the network elements under the NearRTRIC\";
+
+  		}
+  	}
+
+
+  grouping GNBDUFunctionGroup {
+    description
+      \"Represents the GNBDUFunction IOC.\";
+    reference
+      \"3GPP TS 28.541\";
+
+    leaf gNBId {
+      type int64 {
+        range \"0..4294967295\";
+      }
+      config false;
+      mandatory false;
+      description
+        \"Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
+         is part of the NR Cell Identifier (NCI) of the gNB cells.\";
+      reference
+        \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\";
+    }
+    leaf gNBIdLength {
+      type int32 {
+        range \"22..32\";
+      }
+      mandatory false;
+      description
+        \"Indicates the number of bits for encoding the gNB ID.\";
+      reference
+        \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\";
+    }
+    leaf gNBDUId {
+      type int64 {
+        range \"0..68719476735\";
+      }
+      mandatory false;
+      description
+        \"Uniquely identifies the DU at least within a gNB.\";
+      reference
+        \"3GPP TS 38.473\";
+    }
+    leaf gNBDUName {
+      type string {
+        length \"1..150\";
+      }
+      description
+        \"Identifies the Distributed Unit of an NR node\";
+      reference
+        \"3GPP TS 38.473\";
+    }
+    list RRMPolicyRatio {
+      key id;
+      leaf id {
+        type string;
+        description
+          \"Key leaf\";
+      }
+      container attributes {
+        uses RRMPolicyRatioGroup;
+      }
+      description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+        inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
+        standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+        abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\";
+    }
+  }
+
+  grouping NRCellDUGroup {
+    description
+      \"Represents the NRCellDU IOC.\";
+    reference
+      \"3GPP TS 28.541\";
+    list RRMPolicyRatio {
+      key id;
+      leaf id {
+        type string;
+        description
+          \"Key leaf\";
+      }
+      container attributes {
+        uses RRMPolicyRatioGroup;
+      }
+      description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+        inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
+        standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+        abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\";
+    }
+    leaf cellLocalId {
+      type int32 {
+        range \"0..16383\";
+      }
+      mandatory false;
+      description
+        \"Identifies an NR cell of a gNB. Together with the
+         corresponding gNB identifier in forms the NR Cell Identity (NCI).\";
+      reference
+        \"NCI in 3GPP TS 38.300\";
+    }
+    list pLMNInfoList {
+      key \"mcc mnc\";
+      min-elements 1;
+      description
+        \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
+         can be served by the NR cell, and which S-NSSAIs that can be supported by the NR cell for
+         corresponding PLMN in case of network slicing feature is supported. The plMNId of the first
+         entry of the list is the PLMNId used to construct the nCGI for the NR cell.\";
+      uses PLMNInfo;
+    }
+    leaf nRPCI {
+      type int32 {
+        range \"0..1007\";
+      }
+      mandatory false;
+      description
+        \"The Physical Cell Identity (PCI) of the NR cell.\";
+      reference
+        \"3GPP TS 36.211\";
+    }
+    leaf nRTAC {
+      type Tac;
+      description
+        \"The common 5GS Tracking Area Code for the PLMNs.\";
+      reference
+        \"3GPP TS 23.003, 3GPP TS 38.473\";
+    }
+  } // grouping
+
+  grouping rRMPolicyMemberGroup {
+    description
+      \"TODO\";
+    uses PLMNId;
+    leaf sNSSAI {
+      type SNssai;
+      description
+        \"This data type represents an RRM Policy member that will be part of a
+         rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI).
+         The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources
+         based on settings in RRMPolicy.\";
+    }
+  }
+
+  grouping RRMPolicyRatioGroup {
+
+    uses RRMPolicy_Group;    // Inherits RRMPolicy_
+
+    leaf quotaType {
+      type QuotaType;
+      mandatory false;
+      description \"The type of the quota which allows to allocate resources as
+        strictly usable for defined slice(s) (strict quota) or allows that
+        resources to be used by other slice(s) when defined slice(s) do not
+        need them (float quota).\";
+    }
+
+    leaf rRMPolicyMaxRatio {
+      type uint8;
+      mandatory false;
+      units percent;
+      description \"The RRM policy setting the maximum percentage of radio
+        resources to be allocated to the corresponding S-NSSAI list. This
+        quota can be strict or float quota. Strict quota means resources are
+        not allowed for other sNSSAIs even when they are not used by the
+        defined sNSSAIList. Float quota resources can be used by other sNSSAIs
+        when the defined sNSSAIList do not need them. Value 0 indicates that
+        there is no maximum limit.\";
+    }
+
+    leaf rRMPolicyMinRatio {
+      type uint8;
+      mandatory false;
+      units percent;
+      description \"The RRM policy setting the minimum percentage of radio
+        resources to be allocated to the corresponding S-NSSAI list. This
+        quota can be strict or float quota. Strict quota means resources are
+        not allowed for other sNSSAIs even when they are not used by the
+        defined sNSSAIList. Float quota resources can be used by other sNSSAIs
+        when the defined sNSSAIList do not need them. Value 0 indicates that
+        there is no minimum limit.\";
+    }
+    leaf rRMPolicyDedicatedRatio {
+      type uint8;
+      units percent;
+      description \"Dedicated Ration.\";
+      }
+    description \"Represents the RRMPolicyRatio concrete IOC.\";
+    }
+
+
+  grouping sNSSAIConfig{
+	leaf sNssai {
+        type string;
+        description \"s-NSSAI of a network slice.\";
+	   reference \"3GPP TS 23.003\";
+      }
+ 	 leaf status {
+        type string;
+        description \"status of s-NSSAI\";
+      }
+	list configData{
+		uses Configuration;
+		key \"configParameter\";
+		description \"List of configurations to be done at the network elements\";
+	}
+	}
+
+  grouping RRMPolicy_Group {
+    description
+      \"This IOC represents the properties of an abstract RRMPolicy. The RRMPolicy_ IOC
+       needs to be subclassed to be instantiated. It defines two attributes apart from those
+       inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC
+       connected users, DRB usage etc.) and the rRMPolicyMemberList attribute defines the
+       RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType
+       attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, GNBCUCPFunction or in
+       GNBCUUPFunction. The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+       inheritance in TS 28.541 Figure 4.2.1.2-1. This RRM framework allows adding new policies,
+       both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+       abstract RRMPolicy_ IOC.\";
+    leaf resourceType {
+      type string;
+      mandatory false;
+      description
+        \"The resourceType attribute defines type of resource (PRB, RRC connected users,
+         DRB usage etc.) that is subject to policy. Valid values are ''PRB'', ''RRC'' or ''DRB''\";
+    }
+    list rRMPolicyMemberList {
+      key \"idx\";
+      leaf idx {
+        type uint32;
+        description
+          \"TODO\";
+      }
+      description
+        \"It represents the list of RRMPolicyMember (s) that the managed object
+         is supporting. A RRMPolicyMember <<dataType>> include the PLMNId <<dataType>>
+         and S-NSSAI <<dataType>>.\";
+      uses rRMPolicyMemberGroup;
+    }
+  } // grouping
+
+  grouping GNBCUUPFunctionGroup {
+    description
+      \"Represents the GNBCUUPFunction IOC.\";
+    reference
+      \"3GPP TS 28.541\";
+
+    list RRMPolicyRatio {
+      key id;
+      leaf id {
+        type string;
+        description
+          \"Key leaf\";
+      }
+      container attributes {
+        uses RRMPolicyRatioGroup;
+      }
+      description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+        inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
+        standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+        abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\";
+    }
+    leaf gNBCUUPId {
+      type uint64 {
+        range \"0..68719476735\";
+      }
+      config false;
+      mandatory false;
+      description
+        \"Identifies the gNB-CU-UP at least within a gNB-CU-CP\";
+      reference
+        \"''gNB-CU-UP ID'' in subclause 9.3.1.15 of 3GPP TS 38.463\";
+    }
+    leaf gNBId {
+      type int64 {
+      range \"0..4294967295\";
+    }
+      mandatory false;
+      description
+        \"Indicates the number of bits for encoding the gNB Id.\";
+      reference
+        \"gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\";
+    }
+    list pLMNInfoList {
+      key \"mcc mnc\";
+      description
+        \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
+         can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the
+         GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported\";
+      uses PLMNInfo;
+    }
+  } // grouping
+
+  grouping GNBCUCPFunctionGroup {
+    description
+      \"Represents the GNBCUCPFunction IOC.\";
+    reference
+      \"3GPP TS 28.541\";
+    list RRMPolicyRatio {
+      key id;
+      leaf id {
+        type string;
+        description
+          \"Key leaf\";
+      }
+      container attributes {
+        uses RRMPolicyRatioGroup;
+      }
+      description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+        inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
+        standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+        abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\";
+    }
+    leaf gNBId {
+      type int64 {
+        range \"0..4294967295\";
+      }
+      mandatory false;
+      description
+        \"Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
+         is part of the NR Cell Identifier (NCI) of the gNB cells.\";
+      reference
+        \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\";
+    }
+    leaf gNBIdLength {
+      type int32 {
+        range \"22..32\";
+      }
+      mandatory false;
+      description
+        \"Indicates the number of bits for encoding the gNB ID.\";
+      reference
+        \"gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413\";
+    }
+    leaf gNBCUName {
+      type string {
+        length \"1..150\";
+      }
+      mandatory false;
+      description
+        \"Identifies the Central Unit of an gNB.\";
+      reference
+        \"3GPP TS 38.473\";
+    }
+    list pLMNId {
+      key \"mcc mnc\";
+      min-elements 1;
+      max-elements 1;
+      description
+        \"The PLMN identifier to be used as part of the global RAN
+         node identity.\";
+      uses PLMNId;
+    }
+  } // grouping
+
+  grouping NRCellCUGroup {
+    description
+      \"Represents the NRCellCU IOC.\";
+    reference
+      \"3GPP TS 28.541\";
+    leaf cellLocalId {
+      type int32 {
+        range \"0..16383\";
+      }
+      mandatory false;
+      description
+        \"Identifies an NR cell of a gNB. Together with corresponding
+         gNB ID it forms the NR Cell Identifier (NCI).\";
+    }
+    list pLMNInfoList {
+      key \"mcc mnc\";
+      min-elements 1;
+      description
+        \"The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs
+         that can be served by the NR cell, and which S-NSSAIs that can be supported by the
+         NR cell for corresponding PLMN in case of network slicing feature is supported.\";
+      uses PLMNInfo;
+      // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation.
+    }
+    list RRMPolicyRatio {
+      key id;
+      leaf id {
+        type string;
+        description
+          \"Key leaf\";
+      }
+      container attributes {
+        uses RRMPolicyRatioGroup;
+      }
+      description \" The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
+        inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
+        standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
+        abstract RRMPolicy_ IOC. For details see subclause 4.3.36.\";
+    }
+  } // grouping NRCellCUGroup
+
+  grouping NRCellRelationGroup {
+    description
+      \"Represents the NRCellRelation IOC.\";
+    reference
+      \"3GPP TS 28.541\";
+    leaf nRTCI {
+      type uint64;
+      description
+        \"Target NR Cell Identifier. It consists of NR Cell
+         Identifier (NCI) and Physical Cell Identifier of the target NR cell
+         (nRPCI).\";
+    "|0337045143fa2e592243243f82699b93
+ietf-yang-types.yang|"module ietf-yang-types {
+
+  namespace \"urn:ietf:params:xml:ns:yang:ietf-yang-types\";
+  prefix \"yang\";
+
+  organization
+   \"IETF NETMOD (NETCONF Data Modeling Language) Working Group\";
+
+  contact
+   \"WG Web:   <http://tools.ietf.org/wg/netmod/>
+    WG List:  <mailto:netmod@ietf.org>
+
+    WG Chair: David Kessens
+              <mailto:david.kessens@nsn.com>
+
+    WG Chair: Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>
+
+    Editor:   Juergen Schoenwaelder
+              <mailto:j.schoenwaelder@jacobs-university.de>\";
+
+  description
+   \"This module contains a collection of generally useful derived
+    YANG data types.
+
+    Copyright (c) 2013 IETF Trust and the persons identified as
+    authors of the code.  All rights reserved.
+
+    Redistribution and use in source and binary forms, with or
+    without modification, is permitted pursuant to, and subject
+    to the license terms contained in, the Simplified BSD License
+    set forth in Section 4.c of the IETF Trust''s Legal Provisions
+    Relating to IETF Documents
+    (http://trustee.ietf.org/license-info).
+
+    This version of this YANG module is part of RFC 6991; see
+    the RFC itself for full legal notices.\";
+
+  revision 2013-07-15 {
+    description
+     \"This revision adds the following new data types:
+      - yang-identifier
+      - hex-string
+      - uuid
+      - dotted-quad\";
+    reference
+     \"RFC 6991: Common YANG Data Types\";
+  }
+
+  revision 2010-09-24 {
+    description
+     \"Initial revision.\";
+    reference
+     \"RFC 6021: Common YANG Data Types\";
+  }
+
+  /*** collection of counter and gauge types ***/
+
+  typedef counter32 {
+    type uint32;
+    description
+     \"The counter32 type represents a non-negative integer
+      that monotonically increases until it reaches a
+      maximum value of 2^32-1 (4294967295 decimal), when it
+      wraps around and starts increasing again from zero.
+
+      Counters have no defined ''initial'' value, and thus, a
+      single value of a counter has (in general) no information
+      content.  Discontinuities in the monotonically increasing
+      value normally occur at re-initialization of the
+      management system, and at other times as specified in the
+      description of a schema node using this type.  If such
+      other times can occur, for example, the creation of
+      a schema node of type counter32 at times other than
+      re-initialization, then a corresponding schema node
+      should be defined, with an appropriate type, to indicate
+      the last discontinuity.
+
+      The counter32 type should not be used for configuration
+      schema nodes.  A default statement SHOULD NOT be used in
+      combination with the type counter32.
+
+      In the value set and its semantics, this type is equivalent
+      to the Counter32 type of the SMIv2.\";
+    reference
+     \"RFC 2578: Structure of Management Information Version 2
+                (SMIv2)\";
+  }
+
+  typedef zero-based-counter32 {
+    type yang:counter32;
+    default \"0\";
+    description
+     \"The zero-based-counter32 type represents a counter32
+      that has the defined ''initial'' value zero.
+
+      A schema node of this type will be set to zero (0) on creation
+      and will thereafter increase monotonically until it reaches
+      a maximum value of 2^32-1 (4294967295 decimal), when it
+      wraps around and starts increasing again from zero.
+
+      Provided that an application discovers a new schema node
+      of this type within the minimum time to wrap, it can use the
+      ''initial'' value as a delta.  It is important for a management
+      station to be aware of this minimum time and the actual time
+      between polls, and to discard data if the actual time is too
+      long or there is no defined minimum time.
+
+      In the value set and its semantics, this type is equivalent
+      to the ZeroBasedCounter32 textual convention of the SMIv2.\";
+    reference
+      \"RFC 4502: Remote Network Monitoring Management Information
+                 Base Version 2\";
+  }
+
+  typedef counter64 {
+    type uint64;
+    description
+     \"The counter64 type represents a non-negative integer
+      that monotonically increases until it reaches a
+      maximum value of 2^64-1 (18446744073709551615 decimal),
+      when it wraps around and starts increasing again from zero.
+
+      Counters have no defined ''initial'' value, and thus, a
+      single value of a counter has (in general) no information
+      content.  Discontinuities in the monotonically increasing
+      value normally occur at re-initialization of the
+      management system, and at other times as specified in the
+      description of a schema node using this type.  If such
+      other times can occur, for example, the creation of
+      a schema node of type counter64 at times other than
+      re-initialization, then a corresponding schema node
+      should be defined, with an appropriate type, to indicate
+      the last discontinuity.
+
+      The counter64 type should not be used for configuration
+      schema nodes.  A default statement SHOULD NOT be used in
+      combination with the type counter64.
+
+      In the value set and its semantics, this type is equivalent
+      to the Counter64 type of the SMIv2.\";
+    reference
+     \"RFC 2578: Structure of Management Information Version 2
+                (SMIv2)\";
+  }
+
+  typedef zero-based-counter64 {
+    type yang:counter64;
+    default \"0\";
+    description
+     \"The zero-based-counter64 type represents a counter64 that
+      has the defined ''initial'' value zero.
+
+
+
+
+      A schema node of this type will be set to zero (0) on creation
+      and will thereafter increase monotonically until it reaches
+      a maximum value of 2^64-1 (18446744073709551615 decimal),
+      when it wraps around and starts increasing again from zero.
+
+      Provided that an application discovers a new schema node
+      of this type within the minimum time to wrap, it can use the
+      ''initial'' value as a delta.  It is important for a management
+      station to be aware of this minimum time and the actual time
+      between polls, and to discard data if the actual time is too
+      long or there is no defined minimum time.
+
+      In the value set and its semantics, this type is equivalent
+      to the ZeroBasedCounter64 textual convention of the SMIv2.\";
+    reference
+     \"RFC 2856: Textual Conventions for Additional High Capacity
+                Data Types\";
+  }
+
+  typedef gauge32 {
+    type uint32;
+    description
+     \"The gauge32 type represents a non-negative integer, which
+      may increase or decrease, but shall never exceed a maximum
+      value, nor fall below a minimum value.  The maximum value
+      cannot be greater than 2^32-1 (4294967295 decimal), and
+      the minimum value cannot be smaller than 0.  The value of
+      a gauge32 has its maximum value whenever the information
+      being modeled is greater than or equal to its maximum
+      value, and has its minimum value whenever the information
+      being modeled is smaller than or equal to its minimum value.
+      If the information being modeled subsequently decreases
+      below (increases above) the maximum (minimum) value, the
+      gauge32 also decreases (increases).
+
+      In the value set and its semantics, this type is equivalent
+      to the Gauge32 type of the SMIv2.\";
+    reference
+     \"RFC 2578: Structure of Management Information Version 2
+                (SMIv2)\";
+  }
+
+  typedef gauge64 {
+    type uint64;
+    description
+     \"The gauge64 type represents a non-negative integer, which
+      may increase or decrease, but shall never exceed a maximum
+      value, nor fall below a minimum value.  The maximum value
+      cannot be greater than 2^64-1 (18446744073709551615), and
+      the minimum value cannot be smaller than 0.  The value of
+      a gauge64 has its maximum value whenever the information
+      being modeled is greater than or equal to its maximum
+      value, and has its minimum value whenever the information
+      being modeled is smaller than or equal to its minimum value.
+      If the information being modeled subsequently decreases
+      below (increases above) the maximum (minimum) value, the
+      gauge64 also decreases (increases).
+
+      In the value set and its semantics, this type is equivalent
+      to the CounterBasedGauge64 SMIv2 textual convention defined
+      in RFC 2856\";
+    reference
+     \"RFC 2856: Textual Conventions for Additional High Capacity
+                Data Types\";
+  }
+
+  /*** collection of identifier-related types ***/
+
+  typedef object-identifier {
+    type string {
+      pattern ''(([0-1](.[1-3]?[0-9]))|(2.(0|([1-9]d*))))''
+            + ''(.(0|([1-9]d*)))*'';
+    }
+    description
+     \"The object-identifier type represents administratively
+      assigned names in a registration-hierarchical-name tree.
+
+      Values of this type are denoted as a sequence of numerical
+      non-negative sub-identifier values.  Each sub-identifier
+      value MUST NOT exceed 2^32-1 (4294967295).  Sub-identifiers
+      are separated by single dots and without any intermediate
+      whitespace.
+
+      The ASN.1 standard restricts the value space of the first
+      sub-identifier to 0, 1, or 2.  Furthermore, the value space
+      of the second sub-identifier is restricted to the range
+      0 to 39 if the first sub-identifier is 0 or 1.  Finally,
+      the ASN.1 standard requires that an object identifier
+      has always at least two sub-identifiers.  The pattern
+      captures these restrictions.
+
+      Although the number of sub-identifiers is not limited,
+      module designers should realize that there may be
+      implementations that stick with the SMIv2 limit of 128
+      sub-identifiers.
+
+      This type is a superset of the SMIv2 OBJECT IDENTIFIER type
+      since it is not restricted to 128 sub-identifiers.  Hence,
+      this type SHOULD NOT be used to represent the SMIv2 OBJECT
+      IDENTIFIER type; the object-identifier-128 type SHOULD be
+      used instead.\";
+    reference
+     \"ISO9834-1: Information technology -- Open Systems
+      Interconnection -- Procedures for the operation of OSI
+      Registration Authorities: General procedures and top
+      arcs of the ASN.1 Object Identifier tree\";
+  }
+
+  typedef object-identifier-128 {
+    type object-identifier {
+      pattern ''d*(.d*){1,127}'';
+    }
+    description
+     \"This type represents object-identifiers restricted to 128
+      sub-identifiers.
+
+      In the value set and its semantics, this type is equivalent
+      to the OBJECT IDENTIFIER type of the SMIv2.\";
+    reference
+     \"RFC 2578: Structure of Management Information Version 2
+                (SMIv2)\";
+  }
+
+  typedef yang-identifier {
+    type string {
+      length \"1..max\";
+      pattern ''[a-zA-Z_][a-zA-Z0-9-_.]*'';
+      pattern ''.|..|[^xX].*|.[^mM].*|..[^lL].*'';
+    }
+    description
+      \"A YANG identifier string as defined by the ''identifier''
+       rule in Section 12 of RFC 6020.  An identifier must
+       start with an alphabetic character or an underscore
+       followed by an arbitrary sequence of alphabetic or
+       numeric characters, underscores, hyphens, or dots.
+
+       A YANG identifier MUST NOT start with any possible
+       combination of the lowercase or uppercase character
+       sequence ''xml''.\";
+    reference
+      \"RFC 6020: YANG - A Data Modeling Language for the Network
+                 Configuration Protocol (NETCONF)\";
+  }
+
+  /*** collection of types related to date and time***/
+
+  typedef date-and-time {
+    type string {
+      pattern ''d{4}-d{2}-d{2}Td{2}:d{2}:d{2}(.d+)?''
+            + ''(Z|[+-]d{2}:d{2})'';
+    }
+    description
+     \"The date-and-time type is a profile of the ISO 8601
+      standard for representation of dates and times using the
+      Gregorian calendar.  The profile is defined by the
+      date-time production in Section 5.6 of RFC 3339.
+
+      The date-and-time type is compatible with the dateTime XML
+      schema type with the following notable exceptions:
+
+      (a) The date-and-time type does not allow negative years.
+
+      (b) The date-and-time time-offset -00:00 indicates an unknown
+          time zone (see RFC 3339) while -00:00 and +00:00 and Z
+          all represent the same time zone in dateTime.
+
+      (c) The canonical format (see below) of data-and-time values
+          differs from the canonical format used by the dateTime XML
+          schema type, which requires all times to be in UTC using
+          the time-offset ''Z''.
+
+      This type is not equivalent to the DateAndTime textual
+      convention of the SMIv2 since RFC 3339 uses a different
+      separator between full-date and full-time and provides
+      higher resolution of time-secfrac.
+
+      The canonical format for date-and-time values with a known time
+      zone uses a numeric time zone offset that is calculated using
+      the device''s configured known offset to UTC time.  A change of
+      the device''s offset to UTC time will cause date-and-time values
+      to change accordingly.  Such changes might happen periodically
+      in case a server follows automatically daylight saving time
+      (DST) time zone offset changes.  The canonical format for
+      date-and-time values with an unknown time zone (usually
+      referring to the notion of local time) uses the time-offset
+      -00:00.\";
+    reference
+     \"RFC 3339: Date and Time on the Internet: Timestamps
+      RFC 2579: Textual Conventions for SMIv2
+      XSD-TYPES: XML Schema Part 2: Datatypes Second Edition\";
+  }
+
+  typedef timeticks {
+    type uint32;
+    description
+     \"The timeticks type represents a non-negative integer that
+      represents the time, modulo 2^32 (4294967296 decimal), in
+      hundredths of a second between two epochs.  When a schema
+      node is defined that uses this type, the description of
+      the schema node identifies both of the reference epochs.
+
+      In the value set and its semantics, this type is equivalent
+      to the TimeTicks type of the SMIv2.\";
+    reference
+     \"RFC 2578: Structure of Management Information Version 2
+                (SMIv2)\";
+  }
+
+  typedef timestamp {
+    type yang:timeticks;
+    description
+     \"The timestamp type represents the value of an associated
+      timeticks schema node at which a specific occurrence
+      happened.  The specific occurrence must be defined in the
+      description of any schema node defined using this type.  When
+      the specific occurrence occurred prior to the last time the
+      associated timeticks attribute was zero, then the timestamp
+      value is zero.  Note that this requires all timestamp values
+      to be reset to zero when the value of the associated timeticks
+      attribute reaches 497+ days and wraps around to zero.
+
+      The associated timeticks schema node must be specified
+      in the description of any schema node using this type.
+
+      In the value set and its semantics, this type is equivalent
+      to the TimeStamp textual convention of the SMIv2.\";
+    reference
+     \"RFC 2579: Textual Conventions for SMIv2\";
+  }
+
+  /*** collection of generic address types ***/
+
+  typedef phys-address {
+    type string {
+      pattern ''([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'';
+    }
+
+
+
+
+    description
+     \"Represents media- or physical-level addresses represented
+      as a sequence octets, each octet represented by two hexadecimal
+      numbers.  Octets are separated by colons.  The canonical
+      representation uses lowercase characters.
+
+      In the value set and its semantics, this type is equivalent
+      to the PhysAddress textual convention of the SMIv2.\";
+    reference
+     \"RFC 2579: Textual Conventions for SMIv2\";
+  }
+
+  typedef mac-address {
+    type string {
+      pattern ''[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}'';
+    }
+    description
+     \"The mac-address type represents an IEEE 802 MAC address.
+      The canonical representation uses lowercase characters.
+
+      In the value set and its semantics, this type is equivalent
+      to the MacAddress textual convention of the SMIv2.\";
+    reference
+     \"IEEE 802: IEEE Standard for Local and Metropolitan Area
+                Networks: Overview and Architecture
+      RFC 2579: Textual Conventions for SMIv2\";
+  }
+
+  /*** collection of XML-specific types ***/
+
+  typedef xpath1.0 {
+    type string;
+    description
+     \"This type represents an XPATH 1.0 expression.
+
+      When a schema node is defined that uses this type, the
+      description of the schema node MUST specify the XPath
+      context in which the XPath expression is evaluated.\";
+    reference
+     \"XPATH: XML Path Language (XPath) Version 1.0\";
+  }
+
+  /*** collection of string types ***/
+
+  typedef hex-string {
+    type string {
+      pattern ''([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?'';
+    }
+    description
+     \"A hexadecimal string with octets represented as hex digits
+      separated by colons.  The canonical representation uses
+      lowercase characters.\";
+  }
+
+  typedef uuid {
+    type string {
+      pattern ''[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-''
+            + ''[0-9a-fA-F]{4}-[0-9a-fA-F]{12}'';
+    }
+    description
+     \"A Universally Unique IDentifier in the string representation
+      defined in RFC 4122.  The canonical representation uses
+      lowercase characters.
+
+      The following is an example of a UUID in string representation:
+      f81d4fae-7dec-11d0-a765-00a0c91e6bf6
+      \";
+    reference
+     \"RFC 4122: A Universally Unique IDentifier (UUID) URN
+                Namespace\";
+  }
+
+  typedef dotted-quad {
+    type string {
+      pattern
+        ''(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).){3}''
+      + ''([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])'';
+    }
+    description
+      \"An unsigned 32-bit number expressed in the dotted-quad
+       notation, i.e., four octets written as decimal numbers
+       and separated with the ''.'' (full stop) character.\";
+  }
+}"|57d603ee9ab0c49355ad0695c0709c93
diff --git a/cps-ri/src/main/resources/schema.sql b/cps-ri/src/main/resources/schema.sql
deleted file mode 100755
index 2735ca4..0000000
--- a/cps-ri/src/main/resources/schema.sql
+++ /dev/null
@@ -1,85 +0,0 @@
-CREATE TABLE IF NOT EXISTS RELATION_TYPE
-(
-    RELATION_TYPE TEXT NOT NULL,
-    ID SERIAL PRIMARY KEY
-);
-
-CREATE TABLE IF NOT EXISTS DATASPACE
-(
-    ID SERIAL PRIMARY KEY,
-    NAME TEXT NOT NULL,
-    CONSTRAINT "UQ_NAME" UNIQUE (NAME)
-);
-
-CREATE TABLE IF NOT EXISTS SCHEMA_NODE
-(
-    SCHEMA_NODE_IDENTIFIER TEXT NOT NULL,
-    ID SERIAL PRIMARY KEY
-);
-
-CREATE TABLE IF NOT EXISTS SCHEMA_SET
-(
-    ID SERIAL PRIMARY KEY,
-    NAME TEXT NOT NULL,
-    DATASPACE_ID BIGINT NOT NULL,
-    UNIQUE (NAME, DATASPACE_ID),
-    CONSTRAINT SCHEMA_SET_DATASPACE FOREIGN KEY (DATASPACE_ID) REFERENCES DATASPACE(ID) ON UPDATE CASCADE ON DELETE CASCADE
-);
-
-CREATE TABLE IF NOT EXISTS YANG_RESOURCE
-(
-    ID SERIAL PRIMARY KEY,
-    NAME TEXT NOT NULL,
-    CONTENT TEXT NOT NULL,
-    CHECKSUM TEXT NOT NULL,
-    UNIQUE (CHECKSUM)
-);
-
-CREATE TABLE IF NOT EXISTS SCHEMA_SET_YANG_RESOURCES
-(
-    SCHEMA_SET_ID BIGINT NOT NULL,
-    YANG_RESOURCE_ID BIGINT NOT NULL REFERENCES YANG_RESOURCE(ID),
-    CONSTRAINT SCHEMA_SET_RESOURCE FOREIGN KEY (SCHEMA_SET_ID) REFERENCES SCHEMA_SET(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE IF NOT EXISTS ANCHOR
-(
-    ID BIGSERIAL PRIMARY KEY,
-    NAME TEXT,
-    SCHEMA_SET_ID INTEGER REFERENCES SCHEMA_SET(ID),
-    DATASPACE_ID INTEGER NOT NULL REFERENCES DATASPACE(ID),
-    UNIQUE (DATASPACE_ID, NAME)
-);
-
-CREATE TABLE IF NOT EXISTS FRAGMENT
-(
-    ID BIGSERIAL PRIMARY KEY,
-    XPATH TEXT NOT NULL,
-    ATTRIBUTES JSONB,
-    ANCHOR_ID BIGINT REFERENCES ANCHOR(ID),
-    PARENT_ID BIGINT REFERENCES FRAGMENT(ID),
-    DATASPACE_ID INTEGER NOT NULL REFERENCES DATASPACE(ID),
-    SCHEMA_NODE_ID INTEGER REFERENCES SCHEMA_NODE(ID),
-    UNIQUE (DATASPACE_ID, ANCHOR_ID, XPATH)
-);
-
-CREATE TABLE IF NOT EXISTS RELATION
-(
-    FROM_FRAGMENT_ID BIGINT NOT NULL REFERENCES FRAGMENT(ID),
-    TO_FRAGMENT_ID   BIGINT NOT NULL REFERENCES FRAGMENT(ID),
-    RELATION_TYPE_ID  INTEGER NOT NULL REFERENCES RELATION_TYPE(ID),
-    FROM_REL_XPATH TEXT NOT NULL,
-    TO_REL_XPATH TEXT NOT NULL,
-    CONSTRAINT RELATION_PKEY PRIMARY KEY (TO_FRAGMENT_ID, FROM_FRAGMENT_ID, RELATION_TYPE_ID)
-);
-
-CREATE INDEX  IF NOT EXISTS "FKI_FRAGMENT_DATASPACE_ID_FK"     ON FRAGMENT USING BTREE(DATASPACE_ID) ;
-CREATE INDEX  IF NOT EXISTS "FKI_FRAGMENT_PARENT_ID_FK"        ON FRAGMENT USING BTREE(PARENT_ID) ;
-CREATE INDEX  IF NOT EXISTS "FKI_FRAGMENT_ANCHOR_ID_FK"        ON FRAGMENT USING BTREE(ANCHOR_ID) ;
-CREATE INDEX  IF NOT EXISTS "FKI_ANCHOR_SCHEMA_SET_ID_FK"      ON ANCHOR USING BTREE(SCHEMA_SET_ID) ;
-CREATE INDEX  IF NOT EXISTS "PERF_SCHEMA_NODE_SCHEMA_NODE_ID"  ON SCHEMA_NODE USING BTREE(SCHEMA_NODE_IDENTIFIER) ;
-CREATE INDEX  IF NOT EXISTS "FKI_SCHEMA_NODE_ID_TO_ID"         ON FRAGMENT USING BTREE(SCHEMA_NODE_ID) ;
-CREATE INDEX  IF NOT EXISTS "FKI_RELATION_TYPE_ID_FK"          ON RELATION USING BTREE(RELATION_TYPE_ID);
-CREATE INDEX  IF NOT EXISTS "FKI_RELATIONS_FROM_ID_FK"         ON RELATION USING BTREE(FROM_FRAGMENT_ID);
-CREATE INDEX  IF NOT EXISTS "FKI_RELATIONS_TO_ID_FK"           ON RELATION USING BTREE(TO_FRAGMENT_ID);
-CREATE UNIQUE INDEX  IF NOT EXISTS "UQ_FRAGMENT_XPATH"ON FRAGMENT USING btree(xpath COLLATE pg_catalog."default" text_pattern_ops, dataspace_id);
\ No newline at end of file
diff --git a/cps-ri/src/test/resources/application.yml b/cps-ri/src/test/resources/application.yml
index f6a5dfb..7454ad2 100644
--- a/cps-ri/src/test/resources/application.yml
+++ b/cps-ri/src/test/resources/application.yml
@@ -5,9 +5,13 @@
       hibernate:
         enable_lazy_load_no_trans: true
         dialect: org.hibernate.dialect.PostgreSQLDialect
+
   datasource:
     url: ${DB_URL}
     username: ${DB_USERNAME}
     password: ${DB_PASSWORD}
     driverClassName: org.postgresql.Driver
     initialization-mode: always
+
+  liquibase:
+    change-log: classpath:changelog/changelog-master.yaml
\ No newline at end of file
diff --git a/cps-service/pom.xml b/cps-service/pom.xml
index fc4ca12..7225e43 100644
--- a/cps-service/pom.xml
+++ b/cps-service/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-parent</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
     <relativePath>../cps-parent/pom.xml</relativePath>
   </parent>
 
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
index 75c98a8..a24bd0a 100755
--- a/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/E2ENetworkSliceSpec.groovy
@@ -106,7 +106,7 @@
         def dataNodeStored
         given: 'valid yang resource as name-to-content map'
             def yangResourcesNameToContentMap = TestUtils.getYangResourcesAsMap(
-                    'e2e/basic/cps-ran-inventory.yang')
+                    'e2e/basic/cps-ran-inventory@2021-01-28.yang')
             def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesNameToContentMap).getSchemaContext()
         and : 'a valid json is provided for the model'
             def jsonData = TestUtils.getResourceFileContent('e2e/basic/cps-ran-inventory-data.json')
@@ -122,18 +122,23 @@
                     { args -> dataNodeStored = args[2]}
         and: 'the size of the tree is correct'
             def cpsRanInventory = TestUtils.getFlattenMapByXpath(dataNodeStored)
-            assert  cpsRanInventory.size() == 3
+            assert  cpsRanInventory.size() == 4
         and: 'ran-inventory contains the correct child node'
             def ranInventory = cpsRanInventory.get('/ran-inventory')
-            def sliceProfilesList = cpsRanInventory.get('/ran-inventory/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']')
-            def pLMNIdList = cpsRanInventory.get('/ran-inventory/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']/pLMNIdList[@mcc=\'310\' and @mnc=\'410\']')
+            def ranSlices = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']')
+            def sliceProfilesList = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']')
+            def pLMNIdList = cpsRanInventory.get('/ran-inventory/ran-slices[@rannfnssiid=\'14559ead-f4fe-4c1c-a94c-8015fad3ea35\']/sliceProfilesList[@sliceProfileId=\'f33a9dd8-ae51-4acf-8073-c9390c25f6f1\']/pLMNIdList[@mcc=\'310\' and @mnc=\'410\']')
             ranInventory.getChildDataNodes().size() == 1
-            ranInventory.getChildDataNodes().find( {it.xpath == sliceProfilesList.xpath})
+            ranInventory.getChildDataNodes().find( {it.xpath == ranSlices.xpath})
+        and: 'ranSlices contains the correct child node'
+            ranSlices.getChildDataNodes().size() == 1
+            ranSlices.getChildDataNodes().find( {it.xpath == sliceProfilesList.xpath})
         and: 'sliceProfilesList contains the correct child node'
             sliceProfilesList.getChildDataNodes().size() == 1
             sliceProfilesList.getChildDataNodes().find( {it.xpath == pLMNIdList.xpath})
-        and: 'pLMNIdList contains the no child nodes'
+        and: 'pLMNIdList contains no children'
             pLMNIdList.getChildDataNodes().size() == 0
+
     }
 
     def 'E2E RAN Schema Model.'(){
diff --git a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
index 1dbdab2..fb2efb1 100644
--- a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
+++ b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory-data.json
@@ -1,31 +1,34 @@
 {
-"ran-inventory":{
-   "rannfnssiid": "14559ead-f4fe-4c1c-a94c-8015fad3ea35",
-   "subnetStatus": "active",
-   "nsstid": "2372a5dc-ee24-4a45-85f5-65103dfdc5b4",
-   "slicetype": "embb",
-   "isshareable": "Shareable",
-   "sliceProfilesList": [
-     {
-       "sliceProfileId": "f33a9dd8-ae51-4acf-8073-c9390c25f6f1",
-       "sNSSAI": "001-11000",
-       "maxNumberofUEs": 300,
-       "latency": 5,
-       "uLThptPerSlice": 40,
-       "dLThptPerSlice": 50,
-       "maxNumberofConns": 500,
-       "uEMobilityLevel": "FULLY MOBILITY",
-       "coverageAreaList": [
-         "Washington"
-       ],
-       "resourceSharingLevel": "Shareable",
-       "pLMNIdList": [
-         {
-           "mcc": "310",
-           "mnc": "410"
-         }
-       ]
-     }
-   ]
+  "cps-ran-inventory:ran-inventory":{
+    "ran-slices":[{
+      "rannfnssiid": "14559ead-f4fe-4c1c-a94c-8015fad3ea35",
+      "subnetStatus": "active",
+      "nsstid": "2372a5dc-ee24-4a45-85f5-65103dfdc5b4",
+      "slicetype": "embb",
+      "isshareable": "Shareable",
+      "sliceProfilesList": [
+        {
+          "sliceProfileId": "f33a9dd8-ae51-4acf-8073-c9390c25f6f1",
+          "sNSSAI": "001-11000",
+          "maxNumberofUEs": 300,
+          "latency": 5,
+          "uLThptPerSlice": 40,
+          "dLThptPerSlice": 50,
+          "maxNumberofConns": 500,
+          "uEMobilityLevel": "FULLY MOBILITY",
+          "coverageAreaList": [
+            "Washington"
+          ],
+          "resourceSharingLevel": "Shareable",
+          "pLMNIdList": [
+            {
+              "mcc": "310",
+              "mnc": "410"
+            }
+          ]
+        }
+      ]
+    }
+    ]
   }
 }
\ No newline at end of file
diff --git a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang
similarity index 61%
rename from cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang
rename to cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang
index 0e504ca..c16a682 100644
--- a/cps-service/src/test/resources/e2e/basic/cps-ran-inventory.yang
+++ b/cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang
@@ -57,46 +57,46 @@
   }
 
     grouping SliceProfile{
-  		leaf sliceProfileId{
-  			type string;
-  			mandatory true;
-  			description "slice profile id";
-  		}
-  		leaf sNSSAI{
-  			type string;
-  			mandatory false;
-  			description "The S-NSSAI may include both the SST and SD fields (in which case the S-NSSAI length is 32 bits in total), or the S-NSSAI may just include the SST field (in which case the S-NSSAI length is 8 bits only)";
-  		}
-  		leaf maxNumberofUEs{
-  			type int64 { range "0..68719476735"; }
-        		mandatory false;
-          		description "maximum number of UEs";
-  		}
-  		leaf latency{
-  			type int64 { range "0..68719476735"; }
-        		mandatory false;
-          		description "latency of the slice requested by the operator";
-  		}
-  		leaf uLThptPerSlice{
-  			type int64 { range "0..68719476735"; }
-        		mandatory false;
-          		description "uplink throughput of the slice requested by the operator";
-  		}
-  		leaf dLThptPerSlice{
-  			type int64 { range "0..68719476735"; }
-        		mandatory false;
-          		description "downlink throughput  of the slice requested by the operator";
-  		}
-  		leaf maxNumberofConns{
-  			type int64 { range "0..68719476735"; }
-        		mandatory false;
-          		description "maximum number of connections to be served by the slice";
-  		}
-  		leaf uEMobilityLevel{
-  			type string;
-  			mandatory false;
-  			description "Mobility level of the UE";
-  		}
+                leaf sliceProfileId{
+                        type string;
+                        mandatory true;
+                        description "slice profile id";
+                }
+                leaf sNSSAI{
+                        type string;
+                        mandatory false;
+                        description "The S-NSSAI may include both the SST and SD fields (in which case the S-NSSAI length is 32 bits in total), or the S-NSSAI may just include the SST field (in which case the S-NSSAI length is 8 bits only)";
+                }
+                leaf maxNumberofUEs{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "maximum number of UEs";
+                }
+                leaf latency{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "latency of the slice requested by the operator";
+                }
+                leaf uLThptPerSlice{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "uplink throughput of the slice requested by the operator";
+                }
+                leaf dLThptPerSlice{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "downlink throughput  of the slice requested by the operator";
+                }
+                leaf maxNumberofConns{
+                        type int64 { range "0..68719476735"; }
+                        mandatory false;
+                        description "maximum number of connections to be served by the slice";
+                }
+                leaf uEMobilityLevel{
+                        type string;
+                        mandatory false;
+                        description "Mobility level of the UE";
+                }
     leaf resourceSharingLevel{
       type string;
       description "Resource sharing level";
@@ -117,7 +117,7 @@
       uses PLMNId;
     }
 
-  	}
+        }
 
     grouping PLMNId {
     description
@@ -141,17 +141,17 @@
     }
   }
 
-    container ran-inventory{
+    grouping ran-slices{
       leaf rannfnssiid{
       description "NSSI of a RAN network function";
       type string;
     }
 
     list sliceProfilesList{
-  		uses SliceProfile;
-  		key "sliceProfileId";
-  		description "List of slice profiles supported by the ran slice";
-  	}
+                uses SliceProfile;
+                key "sliceProfileId";
+                description "List of slice profiles supported by the ran slice";
+        }
 
     leaf subnetStatus{
       description "status of  RAN NF NSSI";
@@ -173,4 +173,11 @@
       type string;
     }
     }
+    container ran-inventory{
+    list ran-slices{
+        uses ran-slices;
+        key "rannfnssiid";
+        description "List of RAN Slices";
+        }
+    }
     }
diff --git a/docker-compose/application.yml b/docker-compose/application.yml
index c3ceecd..9b841cb 100644
--- a/docker-compose/application.yml
+++ b/docker-compose/application.yml
@@ -29,6 +29,11 @@
         cache-names: yangSchema
         caffeine:
             spec: maximumSize=10000,expireAfterAccess=10m
+
+    liquibase:
+        change-log: classpath:changelog/changelog-master.yaml
+        labels: ${LIQUIBASE_LABELS}
+
 # Actuator
 management:
     endpoints:
diff --git a/pom.xml b/pom.xml
index 21d9b2e..de96249 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
 
     <groupId>org.onap.cps</groupId>
     <artifactId>cps-aggregator</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>cps</name>
diff --git a/spotbugs/pom.xml b/spotbugs/pom.xml
index 133c4f7..2a0788e 100644
--- a/spotbugs/pom.xml
+++ b/spotbugs/pom.xml
@@ -5,7 +5,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.onap.cps</groupId>
     <artifactId>spotbugs</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
+    <version>0.0.2-SNAPSHOT</version>
 
     <properties>
         <nexusproxy>https://nexus.onap.org</nexusproxy>
diff --git a/version.properties b/version.properties
index d38d843..304745a 100644
--- a/version.properties
+++ b/version.properties
@@ -3,7 +3,7 @@
 
 major=0
 minor=0
-patch=1
+patch=2
 
 base_version=${major}.${minor}.${patch}
 
