diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9397864901e53846cf9c752214b62973186d3e4
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java
@@ -0,0 +1,157 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter;
+
+import lombok.AccessLevel;
+import lombok.experimental.FieldDefaults;
+import org.opengroup.osdu.indexer.schema.converter.tags.AllOfItem;
+import org.opengroup.osdu.indexer.schema.converter.tags.Definition;
+import org.opengroup.osdu.indexer.schema.converter.tags.Definitions;
+import org.opengroup.osdu.indexer.schema.converter.tags.TypeProperty;
+
+import java.util.*;
+import java.util.stream.Stream;
+
+@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
+class PropertiesProcessor {
+    static String DEF_PREFIX = "#/definitions/";
+
+    static Set<String> SKIP_DEFINITIONS = new HashSet<>(
+            Arrays.asList("AbstractAnyCrsFeatureCollection.1.0.0",
+                          "anyCrsGeoJsonFeatureCollection"));
+
+    static Set<String> ARRAY_SUPPORTED_SIMPLE_TYPES = new HashSet<>(
+            Arrays.asList("boolean", "integer", "number", "string"));
+
+    static Map<String, String> SPEC_DEFINITION_TYPES = new HashMap<String, String>() {{
+        put("AbstractFeatureCollection.1.0.0", "core:dl:geoshape:1.0.0");
+        put("core_dl_geopoint", "core:dl:geopoint:1.0.0");
+        put("geoJsonFeatureCollection", "core:dl:geoshape:1.0.0");
+    }};
+
+    static Map<String, String> PRIMITIVE_TYPES_MAP = new HashMap<String, String>() {{
+        put("boolean", "bool");
+        put("number", "double");
+        put("date-time", "datetime");
+        put("date", "datetime");
+        put("time", "datetime");
+        put("int32", "int");
+        put("integer", "int");
+        put("int64", "long");
+    }};
+
+    Definitions definitions;
+    String pathPrefix;
+    String pathPrefixWithDot;
+
+    public PropertiesProcessor(Definitions definitions) {
+        this(definitions, null);
+    }
+
+    public PropertiesProcessor(Definitions definitions, String pathPrefix) {
+        this.definitions = definitions;
+        this.pathPrefix = pathPrefix;
+        this.pathPrefixWithDot = Objects.isNull(pathPrefix)  || pathPrefix.isEmpty() ? "" : pathPrefix + ".";
+    }
+
+    protected Stream<Map<String, Object>> processItem(AllOfItem allOfItem) {
+        assert allOfItem!= null;
+
+        String ref = allOfItem.getRef();
+
+        return Objects.isNull(ref) ?
+            allOfItem.getProperties().entrySet().stream().flatMap(this::processPropertyEntry) : processRef(ref);
+    }
+
+    public Stream<Map<String, Object>> processRef(String ref) {
+        assert ref!= null;
+
+        if (!ref.contains(DEF_PREFIX)) {
+            return Stream.empty();
+        }
+
+        String definitionSubRef = ref.substring(DEF_PREFIX.length());
+
+        if (SKIP_DEFINITIONS.contains(definitionSubRef)) {
+            return Stream.empty();
+        }
+
+        if (!Objects.isNull(SPEC_DEFINITION_TYPES.get(definitionSubRef))) {
+            return storageSchemaEntry(SPEC_DEFINITION_TYPES.get(definitionSubRef), pathPrefix);
+        }
+
+        Definition definition = definitions.getDefinition(definitionSubRef);
+        Optional.ofNullable(definition).orElseThrow(() -> new RuntimeException("Failed to find definition"));
+
+        return definition.getProperties().entrySet().stream().flatMap(this::processPropertyEntry);
+    }
+
+    protected Stream<Map<String, Object>> processPropertyEntry(Map.Entry<String, TypeProperty> entry) {
+        assert entry!= null;
+
+        if ("object".equals(entry.getValue().getType())
+                && Objects.isNull(entry.getValue().getItems())
+                && Objects.isNull(entry.getValue().getRef())
+                && Objects.isNull(entry.getValue().getProperties())) {
+            return Stream.empty();
+        }
+
+        if ("array".equals(entry.getValue().getType())) {
+            if (ARRAY_SUPPORTED_SIMPLE_TYPES.contains(entry.getValue().getItems().getType())) {
+                return storageSchemaEntry("[]" + getTypeByDefinitionProperty(entry.getValue()), pathPrefixWithDot + entry.getKey());
+            }
+
+            return Stream.empty();
+        }
+
+        if (!Objects.isNull(entry.getValue().getProperties())) {
+            PropertiesProcessor propertiesProcessor = new PropertiesProcessor(definitions, pathPrefixWithDot + entry.getKey());
+            return entry.getValue().getProperties().entrySet().stream().flatMap(propertiesProcessor::processPropertyEntry);
+        }
+
+        if (!Objects.isNull(entry.getValue().getRef())) {
+            return new PropertiesProcessor(definitions, pathPrefixWithDot + entry.getKey())
+                    .processRef(entry.getValue().getRef());
+        }
+
+        return storageSchemaEntry(getTypeByDefinitionProperty(entry.getValue()), pathPrefixWithDot + entry.getKey());
+    }
+
+    protected Stream<Map<String, Object>> storageSchemaEntry(String kind, String path) {
+        assert kind!= null;
+        assert path!= null;
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("kind", kind);
+        map.put("path", path);
+        return Stream.of(map);
+    }
+
+    protected String getTypeByDefinitionProperty(TypeProperty definitionProperty) {
+        assert definitionProperty!= null;
+
+        String pattern = definitionProperty.getPattern();
+        String format = definitionProperty.getFormat();
+        String type = definitionProperty.getType();
+        String itemsType = definitionProperty.getItems() != null ? definitionProperty.getItems().getType() : null;
+        String itemsPattern = definitionProperty.getItems() != null ? definitionProperty.getItems().getPattern() : null;
+
+        return !Objects.isNull(pattern) && pattern.startsWith("^srn") ? "link" :
+                !Objects.isNull(itemsPattern) && itemsPattern.startsWith("^srn") ? "link" :
+                !Objects.isNull(format)  ? PRIMITIVE_TYPES_MAP.getOrDefault(format, format) :
+                        !Objects.isNull(itemsType) ? PRIMITIVE_TYPES_MAP.getOrDefault(itemsType, itemsType) :
+                                PRIMITIVE_TYPES_MAP.getOrDefault(type, type);
+    }
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..60466c3f1eecce1d1cb863820a4f12922182ec12
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java
@@ -0,0 +1,108 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import lombok.AccessLevel;
+import lombok.experimental.FieldDefaults;
+import org.opengroup.osdu.indexer.schema.converter.tags.*;
+import org.springframework.stereotype.Component;
+
+import javax.inject.Inject;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Converts schema from Schema Service format to Storage Service format
+ */
+@Component
+@FieldDefaults(makeFinal=true, level= AccessLevel.PRIVATE)
+public class SchemaToStorageFormatImpl {
+
+    ObjectMapper objectMapper;
+
+    @Inject
+    public SchemaToStorageFormatImpl(ObjectMapper objectMapper) {
+        assert objectMapper!= null;
+
+        this.objectMapper = objectMapper;
+    }
+
+    public String convertToString(final String schemaServiceFormat, String kind) {
+        assert schemaServiceFormat!= null;
+        assert kind!= null;
+        assert !kind.isEmpty();
+
+        return saveJsonToString(convert(parserJsonString(schemaServiceFormat), kind));
+    }
+
+    public Map<String, Object> convertToMap(final String schemaServiceFormat, String kind) {
+        assert schemaServiceFormat!= null;
+        assert kind!= null;
+        assert !kind.isEmpty();
+
+        return convert(parserJsonString(schemaServiceFormat), kind);
+    }
+
+    protected SchemaRoot parserJsonString(final String schemaServiceFormat) {
+        try {
+            return objectMapper.readValue(schemaServiceFormat, SchemaRoot.class);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("Failed to load schema", e);
+        }
+    }
+
+    protected String saveJsonToString(final Map<String, Object> schemaServiceFormat) {
+        try {
+            return objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(schemaServiceFormat);
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException("Failed to save JSON file", e);
+        }
+    }
+
+    public Map<String, Object> convert(SchemaRoot schemaServiceSchema, String kind) {
+        assert schemaServiceSchema!= null;
+        assert kind!= null;
+        assert !kind.isEmpty();
+
+        PropertiesProcessor propertiesProcessor = new PropertiesProcessor(schemaServiceSchema.getDefinitions());
+
+        final List<Map<String, Object>> storageSchemaItems = new ArrayList<>();
+        if (schemaServiceSchema.getProperties() != null) {
+            PropertiesData schemaData = schemaServiceSchema.getProperties().getData();
+            if (!Objects.isNull(schemaData)) {
+
+                if (schemaData.getAllOf() != null) {
+                    storageSchemaItems.addAll(schemaServiceSchema.getProperties().getData().getAllOf().stream()
+                            .flatMap(propertiesProcessor::processItem)
+                            .collect(Collectors.toList()));
+                }
+
+                if (schemaData.getRef() != null) {
+                    storageSchemaItems.addAll(propertiesProcessor.processRef(schemaData.getRef())
+                            .collect(Collectors.toList()));
+                }
+            }
+        }
+
+        final Map<String, Object> result = new LinkedHashMap<>();
+        result.put("kind", kind);
+        result.put("schema", storageSchemaItems);
+
+        return result;
+    }
+
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..8630e1f06b565662c026f6c3ae13f5420d8d78d6
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md
@@ -0,0 +1,302 @@
+Schema Service schema conversion.
+=================================
+
+Purpose
+-------
+
+The purpose of this document is to describe schema conversion from the
+Schema Service format to the Storage Service format.
+
+Storage Service schema has the following JSON format
+----------------------------------------------------
+```json
+{
+  "kind": "<kind>",
+  "schema": [
+    {
+      "kind": "<type>",
+      "path": "<path>"
+    },
+    {
+      "kind": "<type>",
+      "path": "<path>"
+    },
+	…
+}
+
+```
+
+Where \<kind\> - id of a kind, \<type\> - type of the described entity
+(for instance link, string,datetime, \[\]string, etc.), \<path\> -
+path/name/id of the described entity (for instance FacilityID, WellID,
+ProjectedBottomHoleLocation.CoordinateQualityCheckDateTime, etc.)
+
+Shema Service format follows JSON schema format. 
+------------------------------------------------
+
+Please see <https://tools.ietf.org/html/draft-handrews-json-schema-02>
+for the details
+
+Example
+
+```json
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Wellbore",
+  "description": "A hole in the ground extending from a point at the earth's surface to the maximum point of penetration.",
+  "type": "object",
+  "properties": {…},
+  "required": […],
+  "additionalProperties": false,
+  "definitions": {…}
+}
+
+```
+
+We are interested in "properties.data" and "definitions" sections.
+
+"definitions" contains definitions of complex types. "properties.data"
+contains attributes that are used in a certain schema and can refer to
+the definition section (in that case we have to unwrap definition
+section and turn into simple types). Sibling properties to
+properties.data are ignored as the so-called system properties are
+shared with all records.
+
+"properties.data" may have 0..n references to the "definitions" section
+and 0..m properties that describe schema sections. For instance
+
+```json
+"data": {
+  "$ref": "#/definitions/wellboreData",
+  "description": "Wellbore data container",
+  "title": "Wellbore Data"
+}
+
+```
+
+This means "wellboreData" has to be found among definitions and data are
+included
+
+```json
+"data": {
+  "allOf": [
+    {
+      "$ref": "#/definitions/AbstractFacility.1.0.0"
+    },
+    {
+      "type": "object",
+      "properties": {
+        "WellID": {
+          "type": "string",
+          "pattern": "^srn:<namespace>:master-data\\/Well:[^:]+:[0-9]*$"
+        },
+        "SequenceNumber": {
+          "description": "A number that indicates the order in which wellbores were drilled.",
+          "type": "integer"
+        },
+…
+
+```
+
+
+This means \"AbstractFacility.1.0.0\" must be processed, plus
+\"WellID\", \"SequenceNumber\", ...
+
+References can have references to other reference(-s), in that case
+Storage Schema has a composite path.
+
+For instance,
+
+```json
+"elevationReference": {
+  "$ref": "#/definitions/simpleElevationReference",
+  "description": "…",
+  "title": "Elevation Reference",
+  "type": "object"
+},
+…
+"simpleElevationReference": {
+  "description": "...",
+  "properties": {
+    "elevationFromMsl": {
+      "$ref": "#/definitions/valueWithUnit",
+      "description": "…",
+      "example": 123.45,
+      "title": "Elevation from MSL",
+      "x-slb-measurement": "Standard_Depth_Index"
+    },
+…
+"valueWithUnit": {
+  "description": "Number value ...",
+  "properties": {
+    "value": {
+      "description": "Value of the corresponding...",
+      "example": 30.2,
+      "title": "Value",
+      "type": "number"
+    }
+  }
+
+```
+
+Is converted to
+
+```json
+{
+  "kind": "double",
+  "path": "elevationReference.elevationFromMsl.value"
+}
+
+```
+
+\"path\":\"elevationReference.elevationFromMsl.value\" consists of 3
+names separated with dot.
+
+Not all data are converted to the storage service schema format:
+----------------------------------------------------------------
+
+1.  Definitions
+
+Ignored definition(-s) are not included into Storage Service schema:
+
+```json
+AbstractAnyCrsFeatureCollection.1.0.0
+anyCrsGeoJsonFeatureCollection
+```
+
+Following definitions are not unwrapped and kind is determined according
+to the following types conversions:
+
+```json
+AbstractFeatureCollection.1.0.0 -> core:dl:geoshape:1.0.0
+geoJsonFeatureCollection -> core:dl:geoshape:1.0.0
+core_dl_geopoint -> core:dl:geopoint:1.0.0
+```
+
+for instance
+
+```json
+"Wgs84Coordinates": {
+  "title": "WGS 84 Coordinates",
+  "description": "…",
+  "$ref": "#/definitions/AbstractFeatureCollection.1.0.0"
+}
+
+```
+
+Is converted to
+
+```json
+{
+  "kind": "core:dl:geoshape:1.0.0",
+  "path": "Wgs84Coordinates"
+}
+```
+
+2.  Arrays
+
+Arrays of complex types are ignored, only following arrays of primitive
+types are supported
+
+```json
+"number", "string", "integer", "boolean"
+```
+
+Following primitive types are converted to the Storage Service Schema types:
+----------------------------------------------------------------------------
+
+```json
+"date-time"->"datetime"
+"date"->"datetime"
+"int64"->"long"
+"number"->"double"
+"boolean"->"bool"
+"integer"->"int"
+```
+
+Type selection according to attributes.
+---------------------------------------
+
+One or more attributes of a single entity may have values with types.
+Following attributes are considered to select a type for the Storage
+Schema kind (ordered according to selection priority):
+```json
+"pattern", "format", "items.type", "type"
+```
+If \"pattern\" starts with \"\^srn\" the returned kind is \"link\"
+
+Arrays of primitive types have \[\] before the type (for instance
+\"\[\]string\")
+
+Examples
+--------
+
+#### Simple String
+
+```json
+"FacilityID": {
+  "description": "A system-specified unique identifier of a Facility.",
+  "type": "string"
+},
+
+```
+
+\"kind\":\"string\"
+
+#### Nested Arrays of Structures
+
+```json
+"FacilityTypeID": {
+  "description": "The definition of a kind of capability to perform a business function or a service.",
+  "type": "string",
+  "pattern": "^srn:<namespace>:reference-data\\/FacilityType:[^:]+:[0-9]*$"
+},
+
+```
+
+\"kind\":\"link\"
+
+```json
+"FacilityOperator": {
+  "description": "The history of operator organizations of the facility.",
+  "type": "array",
+  "items": {
+    "$ref": "#/definitions/AbstractFacilityOperator.1.0.0"
+  }
+}
+
+```
+
+Ignored for now (array of references)
+
+#### Object References by ID
+
+```json
+"externalIds": {
+  "description": "An array of identities (e.g. some kind if URL to be resolved in an external data store), which links to external realizations of the same entity.",
+  "format": "link",
+  "items": {
+    "type": "string"
+  },
+  "title": "Array of External IDs",
+  "type": "array"
+},
+
+```
+
+\"kind\": \"\[\]link\"
+
+#### Long Integers
+
+```json
+"version": {
+  "description": "The version number of this wellbore; set by the framework.",
+  "example": "1040815391631285",
+  "format": "int64",
+  "title": "Entity Version Number",
+  "type": "number"
+}
+
+```
+
+\"kind\": \"long\"
\ No newline at end of file
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/AllOfItem.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/AllOfItem.java
new file mode 100644
index 0000000000000000000000000000000000000000..8305d2604a366f7a76b17466f7ef2f2e4f214be3
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/AllOfItem.java
@@ -0,0 +1,31 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+import java.util.Map;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class AllOfItem {
+    @JsonProperty("$ref")
+    String ref;
+    String type;
+    Map<String, TypeProperty> properties;
+}
\ No newline at end of file
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Definition.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Definition.java
new file mode 100644
index 0000000000000000000000000000000000000000..bf4e0f00b89f1344ecd66dc9f07683067dc6d0f2
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Definition.java
@@ -0,0 +1,28 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+import java.util.Map;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class Definition {
+    String type;
+    Map<String, TypeProperty> properties;
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Definitions.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Definitions.java
new file mode 100644
index 0000000000000000000000000000000000000000..25c019c0a2bb263b00449f2caab199412046e2c5
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Definitions.java
@@ -0,0 +1,42 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import lombok.AccessLevel;
+import lombok.experimental.FieldDefaults;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class Definitions {
+    Map<String, Definition> items = new HashMap<>();
+
+    public Definition getDefinition(String name) {
+        return items.get(name);
+    }
+
+    @JsonAnySetter
+    public void add(String key, Definition value) {
+        items.put(key, value);
+    }
+
+    @JsonAnyGetter
+    public Map<String, Definition> getProperties() {
+        return items;
+    }
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Items.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Items.java
new file mode 100644
index 0000000000000000000000000000000000000000..7316987882f20fe2beaa5aebc1b6d682421f6d59
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Items.java
@@ -0,0 +1,26 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class Items {
+    String type;
+    String pattern;
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Properties.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Properties.java
new file mode 100644
index 0000000000000000000000000000000000000000..f50c1f0dad50e18cd121b5a2d2a79ebb73ea8e15
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/Properties.java
@@ -0,0 +1,28 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class Properties {
+    PropertiesData data;
+    @JsonProperty("$ref")
+    String ref;
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/PropertiesData.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/PropertiesData.java
new file mode 100644
index 0000000000000000000000000000000000000000..d970bdc72fcf6ba2ef6de783d7d1235a0236e0a0
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/PropertiesData.java
@@ -0,0 +1,30 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+import java.util.List;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class PropertiesData {
+    List<AllOfItem> allOf;
+    @JsonProperty("$ref")
+    String ref;
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/SchemaRoot.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/SchemaRoot.java
new file mode 100644
index 0000000000000000000000000000000000000000..a06d82efc36ef560619ef37a7618a405a0f7b6b7
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/SchemaRoot.java
@@ -0,0 +1,26 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class SchemaRoot {
+    Definitions definitions;
+    Properties properties;
+}
diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/TypeProperty.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/TypeProperty.java
new file mode 100644
index 0000000000000000000000000000000000000000..284d00a63c5215717f64deb52d6a2a6eadf8da29
--- /dev/null
+++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tags/TypeProperty.java
@@ -0,0 +1,34 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter.tags;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AccessLevel;
+import lombok.Data;
+import lombok.experimental.FieldDefaults;
+
+import java.util.Map;
+
+@Data
+@FieldDefaults(level= AccessLevel.PRIVATE)
+public class TypeProperty {
+    String type;
+    String pattern;
+    String format;
+    @JsonProperty("$ref")
+    String ref;
+    Items items;
+    Map<String, TypeProperty> properties;
+}
diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..79ac0756ea9f67c97ea5f12937c27e1e57e61cae
--- /dev/null
+++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImplTest.java
@@ -0,0 +1,116 @@
+// Copyright 2017-2019, Schlumberger
+//
+// 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.
+
+package org.opengroup.osdu.indexer.schema.converter;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+@SpringBootTest
+public class SchemaToStorageFormatImplTest {
+
+    private ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json().build();
+
+    private SchemaToStorageFormatImpl schemaToStorageFormatImpl = new SchemaToStorageFormatImpl(objectMapper);
+
+    @Test
+    public void firstSchemaPassed() {
+        testSingleFile("converter/first/schema.json", "osdu:osdu:Wellbore:1.0.0");
+    }
+
+    @Test
+    public void wkeSchemaPassed() {
+        testSingleFile("converter/wks/slb_wke_wellbore.json", "slb:wks:wellbore:1.0.6");
+    }
+
+    @Test
+    public void folderPassed() throws URISyntaxException, IOException {
+        String folder = "converter/R3-json-schema";
+        Path path = Paths.get(ClassLoader.getSystemResource(folder).toURI());
+        Files.walk(path)
+                .filter(Files::isRegularFile)
+                .filter(f -> f.toString().endsWith(".json"))
+                .forEach( f -> testSingleFile(f.toString().substring(f.toString().indexOf(folder)), "osdu:osdu:Wellbore:1.0.0"));
+    }
+
+    private void testSingleFile(String filename, String kind) {
+        String json = getSchemaFromSchemaService(filename);
+        Map<String, Object> expected = getStorageSchema( filename + ".res");
+
+        Map<String, Object> converted = schemaToStorageFormatImpl.convertToMap(json, kind);
+
+        compareSchemas(expected, converted, filename);
+    }
+
+    private Map<String, Object> getStorageSchema(String s)  {
+
+        TypeReference<Map<String, Object>> typeRef
+                = new TypeReference<Map<String, Object>>() {
+        };
+        try {
+            return objectMapper.readValue(ClassLoader.getSystemResource(s), typeRef);
+        } catch (IOException | IllegalArgumentException e) {
+            fail("Failed to load schema from file:" + s);
+        }
+
+        return null;
+    }
+
+    private String getSchemaFromSchemaService(String s) {
+        try {
+            return new String(Files.readAllBytes(
+                    Paths.get(ClassLoader.getSystemResource(s).toURI())), StandardCharsets.UTF_8);
+        } catch (IOException | URISyntaxException e) {
+            fail("Failed to read file:" + s);
+        }
+        return null;
+    }
+
+    private void compareSchemas(Map<String, Object> expected, Map<String, Object> converted, String filename) {
+        assertEquals("File:" + filename, expected.size(), converted.size());
+        assertEquals("File:" + filename, expected.get("kind"), converted.get("kind"));
+        ArrayList<Map<String, String>> conv = (ArrayList<Map<String, String>>) converted.get("schema");
+        ArrayList<Map<String, String>> exp = (ArrayList<Map<String, String>>) expected.get("schema");
+
+        checkSchemaIteamsAreEqual(exp, conv, filename);
+    }
+
+    private void checkSchemaIteamsAreEqual(ArrayList<Map<String, String>> exp, List<Map<String, String>> conv, String filename) {
+        assertEquals("File:" + filename, exp.size(), conv.size());
+        conv.forEach((c) -> checkItemIn(c, exp, filename));
+    }
+
+    private void checkItemIn(Map<String, String> item, List<Map<String, String>> exp, String filename) {
+        String itemPath = item.get("path");
+        assertEquals("File:" + filename + ", " + itemPath + " is missed(or too many) see count", exp.stream().filter(e->itemPath.equals(e.get("path"))).count(), 1L);
+        Map<String, String> found =  exp.stream().filter(e->item.get("path").equals(e.get("path"))).findAny().get();
+        assertEquals("File:" + filename + ", in " + itemPath, found.get("kind"), item.get("kind"));
+    }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAccessControlList.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAccessControlList.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..226c7fec079618cafb5854978546087a761e72d3
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAccessControlList.1.0.0.json
@@ -0,0 +1,33 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractAccessControlList.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Access Control List",
+  "description": "The access control tags associated with this entity. This structure is included by the SystemProperties \"acl\", which is part of all OSDU records. Not extensible.",
+  "type": "object",
+  "properties": {
+    "owners": {
+      "title": "List of Owners",
+      "description": "The list of owners of this data record formatted as an email (core.common.model.storage.validation.ValidationDoc.EMAIL_REGEX).",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$"
+      }
+    },
+    "viewers": {
+      "title": "List of Viewers",
+      "description": "The list of viewers to which this data record is accessible/visible/discoverable formatted as an email (core.common.model.storage.validation.ValidationDoc.EMAIL_REGEX).",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$"
+      }
+    }
+  },
+  "required": [
+    "owners",
+    "viewers"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAccessControlList.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAccessControlList.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAccessControlList.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAliasNames.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAliasNames.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..5c88c31470bb74ced92d473e937f7156570bd13a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAliasNames.1.0.0.json
@@ -0,0 +1,34 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractAliasNames.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractAliasNames",
+  "description": "A list of alternative names for an object.  The preferred name is in a separate, scalar property.  It may or may not be repeated in the alias list, though a best practice is to include it if the list is present, but to omit the list if there are no other names.  Note that the abstract entity is an array so the $ref to it is a simple property reference.",
+  "type": "object",
+  "properties": {
+    "AliasName": {
+      "description": "Alternative Name value of defined name type for an object.",
+      "type": "string"
+    },
+    "AliasNameTypeID": {
+      "description": "A classification of alias names such as by role played or type of source, such as regulatory name, regulatory code, company code, international standard name, etc.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/AliasNameType:[^:]+:[0-9]*$"
+    },
+    "DefinitionOrganisationID": {
+      "description": "Organisation that provided the name (the source).",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+    },
+    "EffectiveDateTime": {
+      "description": "The date and time when an alias name becomes effective.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "TerminationDateTime": {
+      "description": "The data and time when an alias name is no longer in effect.",
+      "type": "string",
+      "format": "date-time"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAliasNames.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAliasNames.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAliasNames.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c82372559e37f9037d229caf2cd25abb724d5393
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json
@@ -0,0 +1,556 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json",
+  "title": "AbstractAnyCrsFeatureCollection",
+  "description": "A schema like GeoJSON FeatureCollection with a non-WGS 84 CRS context; based on https://geojson.org/schema/FeatureCollection.json. Attention: the coordinate order is fixed: Longitude/Easting/Westing/X first, followed by Latitude/Northing/Southing/Y, optionally height as third coordinate.",
+  "type": "object",
+  "required": [
+    "type",
+    "persistableReferenceCRS",
+    "features"
+  ],
+  "properties": {
+    "type": {
+      "type": "string",
+      "enum": [
+        "AnyCrsFeatureCollection"
+      ]
+    },
+    "CoordinateReferenceSystemID": {
+      "title": "Coordinate Reference System ID",
+      "description": "The CRS reference into the CoordinateReferenceSystem catalog.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+      "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:BoundCRS.SLB.32021.15851:"
+    },
+    "VerticalCoordinateReferenceSystemID": {
+      "title": "Vertical Coordinate Reference System ID",
+      "description": "The explicit VerticalCRS reference into the CoordinateReferenceSystem catalog. This property stays empty for 2D geometries. Absent or empty values for 3D geometries mean the context may be provided by a CompoundCRS in 'CoordinateReferenceSystemID' or implicitly EPSG:5714 MSL height",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+      "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:VerticalCRS.EPSG.5773:"
+    },
+    "persistableReferenceCRS": {
+      "type": "string",
+      "title": "CRS Reference",
+      "description": "The CRS reference as persistableReference string. If populated, the CoordinateReferenceSystemID takes precedence.",
+      "example": "{\"lateBoundCRS\":{\"wkt\":\"PROJCS[\\\"NAD_1927_StatePlane_North_Dakota_South_FIPS_3302\\\",GEOGCS[\\\"GCS_North_American_1927\\\",DATUM[\\\"D_North_American_1927\\\",SPHEROID[\\\"Clarke_1866\\\",6378206.4,294.9786982]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],PROJECTION[\\\"Lambert_Conformal_Conic\\\"],PARAMETER[\\\"False_Easting\\\",2000000.0],PARAMETER[\\\"False_Northing\\\",0.0],PARAMETER[\\\"Central_Meridian\\\",-100.5],PARAMETER[\\\"Standard_Parallel_1\\\",46.1833333333333],PARAMETER[\\\"Standard_Parallel_2\\\",47.4833333333333],PARAMETER[\\\"Latitude_Of_Origin\\\",45.6666666666667],UNIT[\\\"Foot_US\\\",0.304800609601219],AUTHORITY[\\\"EPSG\\\",32021]]\",\"ver\":\"PE_10_3_1\",\"name\":\"NAD_1927_StatePlane_North_Dakota_South_FIPS_3302\",\"authCode\":{\"auth\":\"EPSG\",\"code\":\"32021\"},\"type\":\"LBC\"},\"singleCT\":{\"wkt\":\"GEOGTRAN[\\\"NAD_1927_To_WGS_1984_79_CONUS\\\",GEOGCS[\\\"GCS_North_American_1927\\\",DATUM[\\\"D_North_American_1927\\\",SPHEROID[\\\"Clarke_1866\\\",6378206.4,294.9786982]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],METHOD[\\\"NADCON\\\"],PARAMETER[\\\"Dataset_conus\\\",0.0],AUTHORITY[\\\"EPSG\\\",15851]]\",\"ver\":\"PE_10_3_1\",\"name\":\"NAD_1927_To_WGS_1984_79_CONUS\",\"authCode\":{\"auth\":\"EPSG\",\"code\":\"15851\"},\"type\":\"ST\"},\"ver\":\"PE_10_3_1\",\"name\":\"NAD27 * OGP-Usa Conus / North Dakota South [32021,15851]\",\"authCode\":{\"auth\":\"SLB\",\"code\":\"32021079\"},\"type\":\"EBC\"}"
+    },
+    "persistableReferenceVerticalCRS": {
+      "type": "string",
+      "title": "Vertical CRS Reference",
+      "description": "The VerticalCRS reference as persistableReference string. If populated, the VerticalCoordinateReferenceSystemID takes precedence. The property is null or empty for 2D geometries. For 3D geometries and absent or null persistableReferenceVerticalCRS the vertical CRS is either provided via persistableReferenceCRS's CompoundCRS or it is implicitly defined as EPSG:5714 MSL height.",
+      "example": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"5773\"},\"type\":\"LBC\",\"ver\":\"PE_10_3_1\",\"name\":\"EGM96_Geoid\",\"wkt\":\"VERTCS[\\\"EGM96_Geoid\\\",VDATUM[\\\"EGM96_Geoid\\\"],PARAMETER[\\\"Vertical_Shift\\\",0.0],PARAMETER[\\\"Direction\\\",1.0],UNIT[\\\"Meter\\\",1.0],AUTHORITY[\\\"EPSG\\\",5773]]\"}"
+    },
+    "persistableReferenceUnitZ": {
+      "type": "string",
+      "title": "Z-Unit Reference",
+      "description": "The unit of measure for the Z-axis (only for 3-dimensional coordinates, where the CRS does not describe the vertical unit). Note that the direction is upwards positive, i.e. Z means height.",
+      "example": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
+    },
+    "features": {
+      "type": "array",
+      "items": {
+        "title": "AnyCrsGeoJSON Feature",
+        "type": "object",
+        "required": [
+          "type",
+          "properties",
+          "geometry"
+        ],
+        "properties": {
+          "type": {
+            "type": "string",
+            "enum": [
+              "AnyCrsFeature"
+            ]
+          },
+          "properties": {
+            "oneOf": [
+              {
+                "type": "null"
+              },
+              {
+                "type": "object"
+              }
+            ]
+          },
+          "geometry": {
+            "oneOf": [
+              {
+                "type": "null"
+              },
+              {
+                "title": "AnyCrsGeoJSON Point",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsPoint"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "minItems": 2,
+                    "items": {
+                      "type": "number"
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "AnyCrsGeoJSON LineString",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsLineString"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "minItems": 2,
+                    "items": {
+                      "type": "array",
+                      "minItems": 2,
+                      "items": {
+                        "type": "number"
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "AnyCrsGeoJSON Polygon",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsPolygon"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "minItems": 4,
+                      "items": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "AnyCrsGeoJSON MultiPoint",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsMultiPoint"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "minItems": 2,
+                      "items": {
+                        "type": "number"
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "AnyCrsGeoJSON MultiLineString",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsMultiLineString"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "minItems": 2,
+                      "items": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "AnyCrsGeoJSON MultiPolygon",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsMultiPolygon"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "items": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "number"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "AnyCrsGeoJSON GeometryCollection",
+                "type": "object",
+                "required": [
+                  "type",
+                  "geometries"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "AnyCrsGeometryCollection"
+                    ]
+                  },
+                  "geometries": {
+                    "type": "array",
+                    "items": {
+                      "oneOf": [
+                        {
+                          "title": "AnyCrsGeoJSON Point",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "AnyCrsPoint"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "minItems": 2,
+                              "items": {
+                                "type": "number"
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "AnyCrsGeoJSON LineString",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "AnyCrsLineString"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "minItems": 2,
+                              "items": {
+                                "type": "array",
+                                "minItems": 2,
+                                "items": {
+                                  "type": "number"
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "AnyCrsGeoJSON Polygon",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "AnyCrsPolygon"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "minItems": 4,
+                                "items": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "AnyCrsGeoJSON MultiPoint",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "AnyCrsMultiPoint"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "minItems": 2,
+                                "items": {
+                                  "type": "number"
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "AnyCrsGeoJSON MultiLineString",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "AnyCrsMultiLineString"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "minItems": 2,
+                                "items": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "AnyCrsGeoJSON MultiPolygon",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "AnyCrsMultiPolygon"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "items": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "number"
+                                    }
+                                  }
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        }
+                      ]
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              }
+            ]
+          },
+          "bbox": {
+            "type": "array",
+            "minItems": 4,
+            "items": {
+              "type": "number"
+            }
+          }
+        }
+      }
+    },
+    "bbox": {
+      "type": "array",
+      "minItems": 4,
+      "items": {
+        "type": "number"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractAnyCrsFeatureCollection.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBinGrid.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBinGrid.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f346acb8a6e2591227c4db8ae5fd798058c16bca
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBinGrid.1.0.0.json
@@ -0,0 +1,91 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractBinGrid.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractBinGrid",
+  "description": "The shared properties for a bin grid.",
+  "type": "object",
+  "properties": {
+    "BinGridName": {
+      "description": "Name of bin grid (e.g., GEOCO_GREENCYN_PHV_2012).  Probably the name as it exists in a separate corporate store if OSDU is not main system.",
+      "type": "string"
+    },
+    "BinGridTypeID": {
+      "description": "Type of bin grid (Acquisition, Processing, Velocity, MagGrav, Magnetics, Gravity, GeologicModel, Reprojected, etc.)",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicBinGridType:[^:]+:[0-9]*$"
+    },
+    "SourceBinGridID": {
+      "description": "Identifier of the source bin grid as stored in a corporate database/application if OSDU is not main system.",
+      "type": "integer"
+    },
+    "SourceBinGridAppID": {
+      "description": "Identifier (name) of the corporate database/application that stores the source bin grid definitions if OSDU is not main system.",
+      "type": "string"
+    },
+    "CoveragePercent": {
+      "type": "number",
+      "description": "Nominal design fold as intended by the bin grid definition, expressed as the mode in percentage points (60 fold = 6000%)."
+    },
+    "BinGridDefinitionMethodTypeID": {
+      "description": "This identifies how the Bin Grid is defined:  4=ABCD four-points method was used to define the grid (P6 parameters are optional and can contain derived values; P6BinNodeIncrementOnIAxis and P6BinNodeIncrementOnJaxis can be used as part of four-point method).  Use a perspective transformation to map between map coordinates and bin coordinates. Note point order.  6=P6 definition method was used to define the bin grid (ABCD points are optional and can contain derived values; ABCDBinGridSpatialLocation must specify the projected CRS).  Use an affine transformation to map between map coordinates and bin coordinates.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/BinGridDefinitionMethodType:[^:]+:[0-9]*$"
+    },
+    "ABCDBinGridLocalCoordinates": {
+      "type": "array",
+      "items": {
+        "$ref": "AbstractCoordinates.1.0.0.json"
+      },
+      "description": "Array of 4 corner points for bin grid in local coordinates: Point A (min inline, min crossline); Point B (min inline, max crossline); Point C (max inline, min crossline); Point D (max inline, max crossline).  If Point D is not given and BinGridDefinitionMethodTypeID=4, it must be supplied, with its spatial location, before ingestion to create a parallelogram in map coordinate space.  Note correspondence of inline=x, crossline=y."
+    },
+    "ABCDBinGridSpatialLocation": {
+      "description": "Bin Grid ABCD points containing the projected coordinates, projected CRS and quality metadata.  This attribute is required also for the P6 definition method to define the projected CRS, even if the ABCD coordinates would be optional (recommended to be always calculated).",
+      "$ref": "AbstractSpatialLocation.1.0.0.json"
+    },
+    "P6TransformationMethod": {
+      "description": "EPSG code: 9666 for right-handed, 1049 for left-handed.  See IOGP Guidance Note 373-07-2 and 483-6.",
+      "type": "integer"
+    },
+    "P6BinGridOriginI": {
+      "description": "Inline coordinate of tie point (e.g., center or A point)",
+      "type": "number"
+    },
+    "P6BinGridOriginJ": {
+      "description": "Crossline coordinate of tie point (e.g., center or A point)",
+      "type": "number"
+    },
+    "P6BinGridOriginEasting": {
+      "description": "Easting coordinate of tie point (e.g., center or A point)",
+      "type": "number"
+    },
+    "P6BinGridOriginNorthing": {
+      "description": "Northing coordinate of tie point (e.g., center or A point)",
+      "type": "number"
+    },
+    "P6ScaleFactorOfBinGrid": {
+      "description": "Scale factor for Bin Grid.  If not provided then 1 is assumed. Unit is unity.",
+      "type": "number"
+    },
+    "P6BinWidthOnIaxis": {
+      "description": "Distance between two inlines at the given increment apart, e.g., 30 m with P6BinNodeIncrementOnIaxis=1.  Unit from projected CRS in ABCDBinGridSpatialLocation",
+      "type": "number"
+    },
+    "P6BinWidthOnJaxis": {
+      "description": "Distance between two crosslines at the given increment apart, e.g., 25 m with P6BinNodeIncrementOnJaxis=4.  Unit from projected CRS in ABCDBinGridSpatialLocation",
+      "type": "number"
+    },
+    "P6MapGridBearingOfBinGridJaxis": {
+      "description": "Clockwise angle from grid north (in projCRS) in degrees from 0 to 360 of the direction of increasing crosslines (constant inline), i.e., of the vector from point A to B. ",
+      "type": "number"
+    },
+    "P6BinNodeIncrementOnIaxis": {
+      "description": "Increment (positive integer) for the inline coordinate. If not provided then 1 is assumed.  The bin grid definition is expected to have increment 1 and the increment stored with the SeismicTraceData (\u201cinline increment\u201d) takes precedence over the increment set at the BinGrid.  Alternatively the increments are allowed to be defined with the BinGrid, but this should be avoided to allow for variations in sampling in trace data sets.",
+      "type": "integer"
+    },
+    "P6BinNodeIncrementOnJaxis": {
+      "description": "Increment (positive integer) for the crossline coordinate. If not provided then 1 is assumed.  The bin grid definition is expected to have increment 1 and the increment stored with the SeismicTraceData (\u201ccrossline increment\u201d) takes precedence over the increment set at the BinGrid. Alternatively the increments are allowed to be defined with the BinGrid, but this should be avoided to allow for variations in sampling in trace data sets.",
+      "type": "integer"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBinGrid.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBinGrid.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBinGrid.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBusinessRule.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBusinessRule.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ac3c541bf66903604c91c9d185dd3c31d599a293
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBusinessRule.1.0.0.json
@@ -0,0 +1,46 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractBusinessRule.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractBusinessRule",
+  "description": "The business rule is a collection of one or more data rule sets with their run status as well as a collection of individual rules with their run status.",
+  "type": "object",
+  "properties": {
+    "DataRuleSets": {
+      "description": "The list of data rule sets that is relevant for this business process. Each data rule set reference is associated with a run-status.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "DataRuleSetID": {
+            "type": "string",
+            "description": "The relationship to the QualityDataRuleSet.",
+            "pattern": "^srn:<namespace>:reference-data\\/QualityDataRuleSet:[^:]+:[0-9]*$"
+          },
+          "DataRuleSetRunStatus": {
+            "description": "True if data ruleset rule has passed, False if data ruleset rule dit not pass.",
+            "type": "boolean"
+          }
+        }
+      }
+    },
+    "DataRules": {
+      "description": "The list of individual data rules that is relevant for this business process. Each data rule reference is associated with a run-status.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "DataRuleID": {
+            "type": "string",
+            "description": "The relationship to the individual QualityDataRule.",
+            "pattern": "^srn:<namespace>:reference-data\\/QualityDataRule:[^:]+:[0-9]*$"
+          },
+          "DataRuleRunStatus": {
+            "description": "True if data rule has passed, False if data rule did not pass.",
+            "type": "boolean"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBusinessRule.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBusinessRule.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractBusinessRule.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractCoordinates.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractCoordinates.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8660f30eac75723e048763c3b0d70cd8dcd50221
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractCoordinates.1.0.0.json
@@ -0,0 +1,18 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractCoordinates.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractCoordinates",
+  "description": "A geographic position on the surface of the earth.",
+  "type": "object",
+  "properties": {
+    "x": {
+      "description": "x is Easting or Longitude.",
+      "type": "number"
+    },
+    "y": {
+      "description": "y is Northing or Latitude.",
+      "type": "number"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractCoordinates.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractCoordinates.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractCoordinates.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacility.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacility.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..be70342dac8ad8e802d419147217cc5e205421ef
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacility.1.0.0.json
@@ -0,0 +1,92 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFacility.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractFacility",
+  "description": "",
+  "type": "object",
+  "properties": {
+    "FacilityID": {
+      "description": "A system-specified unique identifier of a Facility.",
+      "type": "string"
+    },
+    "FacilityTypeID": {
+      "description": "The definition of a kind of capability to perform a business function or a service.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FacilityType:[^:]+:[0-9]*$"
+    },
+    "FacilityOperator": {
+      "description": "The history of operator organizations of the facility.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractFacilityOperator.1.0.0.json"
+      }
+    },
+    "InitialOperatorID": {
+      "description": "A reference to a FacilityOperator array object ('FacilityOperatorID') that corresponds to the first historical operator of this facility. If dates are complete and accurate for every object in FacilityOperator array, InitialOperatorID should correspond to the FacilityOperator array object with the minimum EffectiveDateTime.",
+      "type": "string",
+      "title": "Initial Operator ID"
+    },
+    "CurrentOperatorID": {
+      "description": "A reference to a FacilityOperator array object ('FacilityOperatorID') that corresponds to the operator of this facility at the present time. If dates are complete and accurate for every object in FacilityOperator array, CurrentOperatorID should correspond to the FacilityOperator array object with no TerminationDateTime.",
+      "type": "string",
+      "title": "Current Operator ID"
+    },
+    "DataSourceOrganisationID": {
+      "description": "The main source of the header information.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+    },
+    "SpatialLocation": {
+      "description": "The spatial location information such as coordinates,CRS information.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractSpatialLocation.1.0.0.json"
+      }
+    },
+    "GeoContexts": {
+      "description": "List of geographic entities which provide context to the facility.  This may include multiple types or multiple values of the same type.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractGeoContext.1.0.0.json"
+      }
+    },
+    "OperatingEnvironmentID": {
+      "description": "Identifies the Facility's general location as being onshore vs. offshore.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OperatingEnvironment:[^:]+:[0-9]*$"
+    },
+    "FacilityName": {
+      "description": "Name of the Facility.",
+      "type": "string"
+    },
+    "FacilityNameAlias": {
+      "description": "Alternative names, including historical, by which this facility is/has been known.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractAliasNames.1.0.0.json"
+      }
+    },
+    "FacilityState": {
+      "description": "The history of life cycle states the facility has been through.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractFacilityState.1.0.0.json"
+      }
+    },
+    "FacilityEvent": {
+      "description": "A list of key facility events.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractFacilityEvent.1.0.0.json"
+      }
+    },
+    "FacilitySpecification": {
+      "description": "facilitySpecification maintains the specification like slot name, wellbore drilling permit number, rig name etc.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractFacilitySpecification.1.0.0.json"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacility.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacility.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacility.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityEvent.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityEvent.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..db296742ba4331efae0c385a28c3bebd6248d447
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityEvent.1.0.0.json
@@ -0,0 +1,25 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFacilityEvent.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractFacilityEvent",
+  "description": "A significant occurrence in the life of a facility, which often changes its state, or the state of one of its components. It can describe a point-in-time (event) or a time interval of a specific type (FacilityEventType).",
+  "type": "object",
+  "properties": {
+    "FacilityEventTypeID": {
+      "description": "The facility event type is a picklist. Examples: 'Permit', 'Spud', 'Abandon', etc.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FacilityEventType:[^:]+:[0-9]*$"
+    },
+    "EffectiveDateTime": {
+      "description": "The date and time at which the event took place or takes effect.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "TerminationDateTime": {
+      "description": "The date and time at which the event is no longer in effect. For point-in-time events the 'TerminationDateTime' must be set equal to 'EffectiveDateTime'. Open time intervals have an absent 'TerminationDateTime'.",
+      "type": "string",
+      "format": "date-time"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityEvent.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityEvent.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityEvent.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityOperator.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityOperator.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0c0c56eb906329194c9619b76f3242fd7e6d632
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityOperator.1.0.0.json
@@ -0,0 +1,30 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFacilityOperator.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractFacilityOperator",
+  "description": "The organisation that was responsible for a facility at some point in time.",
+  "type": "object",
+  "properties": {
+    "FacilityOperatorID": {
+      "description": "Internal, unique identifier for an item 'AbstractFacilityOperator'. This identifier is used by 'AbstractFacility.CurrentOperatorID' and 'AbstractFacility.InitialOperatorID'.",
+      "type": "string",
+      "title": "Facility Operator ID"
+    },
+    "FacilityOperatorOrganisationID": {
+      "description": "The company that currently operates, or previously operated the facility",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+    },
+    "EffectiveDateTime": {
+      "description": "The date and time at which the facility operator becomes effective.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "TerminationDateTime": {
+      "description": "The date and time at which the facility operator is no longer in effect. If the operator is still effective, the 'TerminationDateTime' is left absent.",
+      "type": "string",
+      "format": "date-time"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityOperator.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityOperator.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityOperator.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilitySpecification.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilitySpecification.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8496760db9221f90364b64340bba44cd4fdcebeb
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilitySpecification.1.0.0.json
@@ -0,0 +1,48 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFacilitySpecification.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractFacilitySpecification",
+  "description": "A property, characteristic, or attribute about a facility that is not described explicitly elsewhere.",
+  "type": "object",
+  "properties": {
+    "EffectiveDateTime": {
+      "description": "The date and time at which the facility specification instance becomes effective.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "TerminationDateTime": {
+      "description": "The date and time at which the facility specification instance is no longer in effect.",
+      "format": "date-time",
+      "type": "string"
+    },
+    "FacilitySpecificationQuantity": {
+      "description": "The value for the specified parameter type.",
+      "type": "number",
+      "x-osdu-frame-of-reference": "UOM_via_property:UnitOfMeasureID"
+    },
+    "FacilitySpecificationDateTime": {
+      "description": "The actual date and time value of the parameter.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "FacilitySpecificationIndicator": {
+      "description": "The actual indicator value of the parameter.",
+      "type": "boolean"
+    },
+    "FacilitySpecificationText": {
+      "description": "The actual text value of the parameter.",
+      "type": "string"
+    },
+    "UnitOfMeasureID": {
+      "description": "The unit for the quantity parameter, like metre (m in SI units system) for quantity Length.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+    },
+    "ParameterTypeID": {
+      "description": "Parameter type of property or characteristic.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ParameterType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilitySpecification.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilitySpecification.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilitySpecification.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityState.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityState.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..1fc686495e9e8254497f7838c17ee5a823b7a359
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityState.1.0.0.json
@@ -0,0 +1,25 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFacilityState.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractFacilityState",
+  "description": "The life cycle status of a facility at some point in time.",
+  "type": "object",
+  "properties": {
+    "EffectiveDateTime": {
+      "description": "The date and time at which the facility state becomes effective.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "TerminationDateTime": {
+      "description": "The date and time at which the facility state is no longer in effect.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "FacilityStateTypeID": {
+      "description": "The facility life cycle state from planning to abandonment.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FacilityStateType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityState.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityState.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityState.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..619178ced8b807d2d1b2e63f33f6d2701a5c7f68
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json
@@ -0,0 +1,67 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractFacilityVerticalMeasurement",
+  "description": "A location along a wellbore, _usually_ associated with some aspect of the drilling of the wellbore, but not with any intersecting _subsurface_ natural surfaces.",
+  "type": "object",
+  "properties": {
+    "VerticalMeasurementID": {
+      "description": "The ID for a distinct vertical measurement within the Facility array so that it may be referenced by other vertical measurements if necessary.",
+      "type": "string"
+    },
+    "EffectiveDateTime": {
+      "description": "The date and time at which a vertical measurement instance becomes effective.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "VerticalMeasurement": {
+      "description": "The value of the elevation or depth. Depth is positive downwards from a vertical reference or geodetic datum along a path, which can be vertical; elevation is positive upwards from a geodetic datum along a vertical path. Either can be negative.",
+      "type": "number",
+      "x-osdu-frame-of-reference": "UOM_via_property:VerticalMeasurementUnitOfMeasureID"
+    },
+    "TerminationDateTime": {
+      "description": "The date and time at which a vertical measurement instance is no longer in effect.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "VerticalMeasurementTypeID": {
+      "description": "Specifies the type of vertical measurement (TD, Plugback, Kickoff, Drill Floor, Rotary Table...).",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+:[0-9]*$"
+    },
+    "VerticalMeasurementPathID": {
+      "description": "Specifies Measured Depth, True Vertical Depth, or Elevation.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementPath:[^:]+:[0-9]*$"
+    },
+    "VerticalMeasurementSourceID": {
+      "description": "Specifies Driller vs Logger.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementSource:[^:]+:[0-9]*$"
+    },
+    "WellboreTVDTrajectoryID": {
+      "description": "Specifies what directional survey or wellpath was used to calculate the TVD.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/WellboreTrajectory:[^:]+:[0-9]*$"
+    },
+    "VerticalMeasurementUnitOfMeasureID": {
+      "description": "The unit of measure for the vertical measurement. If a unit of measure and a vertical CRS are provided, the unit of measure provided is taken over the unit of measure from the CRS.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+    },
+    "VerticalCRSID": {
+      "description": "A vertical coordinate reference system defines the origin for height or depth values. It is expected that either VerticalCRSID or VerticalReferenceID reference is provided in a given vertical measurement array object, but not both.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+    },
+    "VerticalReferenceID": {
+      "description": "The reference point from which the relative vertical measurement is made. This is only populated if the measurement has no VerticalCRSID specified. The value entered must be the VerticalMeasurementID for another vertical measurement array object in this resource, and as a chain of measurements, they must resolve ultimately to a Vertical CRS. It is expected that a VerticalCRSID or a VerticalReferenceID is provided in a given vertical measurement array object, but not both.",
+      "type": "string"
+    },
+    "VerticalMeasurementDescription": {
+      "description": "Text which describes a vertical measurement in detail.",
+      "type": "string"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFacilityVerticalMeasurement.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFeatureCollection.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFeatureCollection.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..5883789efaea197bc5aa5052e4ed09705a850a43
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFeatureCollection.1.0.0.json
@@ -0,0 +1,523 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractFeatureCollection.1.0.0.json",
+  "description": "GeoJSON feature collection as originally published in https://geojson.org/schema/FeatureCollection.json. Attention: the coordinate order is fixed: Longitude first, followed by Latitude, optionally height above MSL (EPSG:5714) as third coordinate.",
+  "title": "GeoJSON FeatureCollection",
+  "type": "object",
+  "required": [
+    "type",
+    "features"
+  ],
+  "properties": {
+    "type": {
+      "type": "string",
+      "enum": [
+        "FeatureCollection"
+      ]
+    },
+    "features": {
+      "type": "array",
+      "items": {
+        "title": "GeoJSON Feature",
+        "type": "object",
+        "required": [
+          "type",
+          "properties",
+          "geometry"
+        ],
+        "properties": {
+          "type": {
+            "type": "string",
+            "enum": [
+              "Feature"
+            ]
+          },
+          "properties": {
+            "oneOf": [
+              {
+                "type": "null"
+              },
+              {
+                "type": "object"
+              }
+            ]
+          },
+          "geometry": {
+            "oneOf": [
+              {
+                "type": "null"
+              },
+              {
+                "title": "GeoJSON Point",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "Point"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "minItems": 2,
+                    "items": {
+                      "type": "number"
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "GeoJSON LineString",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "LineString"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "minItems": 2,
+                    "items": {
+                      "type": "array",
+                      "minItems": 2,
+                      "items": {
+                        "type": "number"
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "GeoJSON Polygon",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "Polygon"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "minItems": 4,
+                      "items": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "GeoJSON MultiPoint",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "MultiPoint"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "minItems": 2,
+                      "items": {
+                        "type": "number"
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "GeoJSON MultiLineString",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "MultiLineString"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "minItems": 2,
+                      "items": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "GeoJSON MultiPolygon",
+                "type": "object",
+                "required": [
+                  "type",
+                  "coordinates"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "MultiPolygon"
+                    ]
+                  },
+                  "coordinates": {
+                    "type": "array",
+                    "items": {
+                      "type": "array",
+                      "items": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "number"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              },
+              {
+                "title": "GeoJSON GeometryCollection",
+                "type": "object",
+                "required": [
+                  "type",
+                  "geometries"
+                ],
+                "properties": {
+                  "type": {
+                    "type": "string",
+                    "enum": [
+                      "GeometryCollection"
+                    ]
+                  },
+                  "geometries": {
+                    "type": "array",
+                    "items": {
+                      "oneOf": [
+                        {
+                          "title": "GeoJSON Point",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "Point"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "minItems": 2,
+                              "items": {
+                                "type": "number"
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "GeoJSON LineString",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "LineString"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "minItems": 2,
+                              "items": {
+                                "type": "array",
+                                "minItems": 2,
+                                "items": {
+                                  "type": "number"
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "GeoJSON Polygon",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "Polygon"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "minItems": 4,
+                                "items": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "GeoJSON MultiPoint",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "MultiPoint"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "minItems": 2,
+                                "items": {
+                                  "type": "number"
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "GeoJSON MultiLineString",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "MultiLineString"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "minItems": 2,
+                                "items": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        },
+                        {
+                          "title": "GeoJSON MultiPolygon",
+                          "type": "object",
+                          "required": [
+                            "type",
+                            "coordinates"
+                          ],
+                          "properties": {
+                            "type": {
+                              "type": "string",
+                              "enum": [
+                                "MultiPolygon"
+                              ]
+                            },
+                            "coordinates": {
+                              "type": "array",
+                              "items": {
+                                "type": "array",
+                                "items": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "number"
+                                    }
+                                  }
+                                }
+                              }
+                            },
+                            "bbox": {
+                              "type": "array",
+                              "minItems": 4,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        }
+                      ]
+                    }
+                  },
+                  "bbox": {
+                    "type": "array",
+                    "minItems": 4,
+                    "items": {
+                      "type": "number"
+                    }
+                  }
+                }
+              }
+            ]
+          },
+          "bbox": {
+            "type": "array",
+            "minItems": 4,
+            "items": {
+              "type": "number"
+            }
+          }
+        }
+      }
+    },
+    "bbox": {
+      "type": "array",
+      "minItems": 4,
+      "items": {
+        "type": "number"
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFeatureCollection.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFeatureCollection.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractFeatureCollection.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoBasinContext.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoBasinContext.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..da4c9699dd320a89881ee26c4a351bc1d7534136
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoBasinContext.1.0.0.json
@@ -0,0 +1,20 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractGeoBasinContext.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractGeoBasinContext",
+  "description": "A single, typed basin entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+  "type": "object",
+  "properties": {
+    "BasinID": {
+      "type": "string",
+      "description": "Reference to Basin.",
+      "pattern": "^srn:<namespace>:master-data\\/Basin:[^:]+:[0-9]*$"
+    },
+    "GeoTypeID": {
+      "description": "The BasinType reference of the Basin (via BasinID) for application convenience.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/BasinType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoBasinContext.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoBasinContext.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoBasinContext.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoContext.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoContext.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..98093f5e8cbdf863bd12ef15ae7e816bbc378a2f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoContext.1.0.0.json
@@ -0,0 +1,24 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractGeoContext.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractGeoContext",
+  "description": "A geographic context to an entity. It can be either a reference to a GeoPoliticalEntity, Basin, Field, Play or Prospect.",
+  "oneOf": [
+    {
+      "$ref": "AbstractGeoPoliticalContext.1.0.0.json"
+    },
+    {
+      "$ref": "AbstractGeoBasinContext.1.0.0.json"
+    },
+    {
+      "$ref": "AbstractGeoFieldContext.1.0.0.json"
+    },
+    {
+      "$ref": "AbstractGeoPlayContext.1.0.0.json"
+    },
+    {
+      "$ref": "AbstractGeoProspectContext.1.0.0.json"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoContext.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoContext.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoContext.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoFieldContext.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoFieldContext.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c485e7d83b1b72565cf5a22c9912cee8287f8f48
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoFieldContext.1.0.0.json
@@ -0,0 +1,19 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractGeoFieldContext.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractGeoFieldContext",
+  "description": "A single, typed field entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+  "type": "object",
+  "properties": {
+    "FieldID": {
+      "type": "string",
+      "description": "Reference to Field.",
+      "pattern": "^srn:<namespace>:master-data\\/Field:[^:]+:[0-9]*$"
+    },
+    "GeoTypeID": {
+      "const": "Field",
+      "description": "The fixed type 'Field' for this AbstractGeoFieldContext."
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoFieldContext.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoFieldContext.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoFieldContext.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPlayContext.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPlayContext.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..55fda44a3846ff97c4a92b9662f4f526443305d0
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPlayContext.1.0.0.json
@@ -0,0 +1,20 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractGeoPlayContext.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractGeoPlayContext",
+  "description": "A single, typed Play entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+  "type": "object",
+  "properties": {
+    "PlayID": {
+      "type": "string",
+      "description": "Reference to the play.",
+      "pattern": "^srn:<namespace>:master-data\\/Play:[^:]+:[0-9]*$"
+    },
+    "GeoTypeID": {
+      "type": "string",
+      "description": "The PlayType reference of the Play (via PlayID) for application convenience.",
+      "pattern": "^srn:<namespace>:reference-data\\/PlayType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPlayContext.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPlayContext.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPlayContext.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPoliticalContext.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPoliticalContext.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..cbdec3512a8a163627043fca132b001bad1caace
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPoliticalContext.1.0.0.json
@@ -0,0 +1,20 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractGeoPoliticalContext.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractGeoPoliticalContext",
+  "description": "A single, typed geo-political entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+  "type": "object",
+  "properties": {
+    "GeoPoliticalEntityID": {
+      "type": "string",
+      "description": "Reference to GeoPoliticalEntity.",
+      "pattern": "^srn:<namespace>:master-data\\/GeoPoliticalEntity:[^:]+:[0-9]*$"
+    },
+    "GeoTypeID": {
+      "type": "string",
+      "description": "The GeoPoliticalEntityType reference of the GeoPoliticalEntity (via GeoPoliticalEntityID) for application convenience.",
+      "pattern": "^srn:<namespace>:reference-data\\/GeoPoliticalEntityType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPoliticalContext.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPoliticalContext.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoPoliticalContext.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoProspectContext.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoProspectContext.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..07f41b18841e81aafd473cf6401cb84668975ecb
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoProspectContext.1.0.0.json
@@ -0,0 +1,20 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractGeoProspectContext.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractGeoProspectContext",
+  "description": "A single, typed Prospect entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+  "type": "object",
+  "properties": {
+    "ProspectID": {
+      "type": "string",
+      "description": "Reference to the prospect.",
+      "pattern": "^srn:<namespace>:master-data\\/Prospect:[^:]+:[0-9]*$"
+    },
+    "GeoTypeID": {
+      "type": "string",
+      "description": "The ProspectType reference of the Prospect (via ProspectID) for application convenience.",
+      "pattern": "^srn:<namespace>:reference-data\\/ProspectType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoProspectContext.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoProspectContext.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractGeoProspectContext.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalParentList.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalParentList.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..5b3d1cf238f970bff1fe52e0b9bf510e39d0c999
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalParentList.1.0.0.json
@@ -0,0 +1,20 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractLegalParentList.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Parent List",
+  "description": "A list of entity IDs in the data ecosystem, which act as legal parents to the current entity. This structure is included by the SystemProperties \"ancestry\", which is part of all OSDU records. Not extensible.",
+  "type": "object",
+  "properties": {
+    "parents": {
+      "description": "An array of none, one or many entity references in the data ecosystem, which identify the source of data in the legal sense. Example: the 'parents' will be queried when e.g. the subscription of source data services is terminated; access to the derivatives is also terminated.",
+      "items": {
+        "type": "string"
+      },
+      "example": [],
+      "title": "Parents",
+      "type": "array"
+    }
+  },
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalParentList.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalParentList.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalParentList.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalTags.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalTags.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..2f35b8864f179d781ad6c8cf2bab7def2c730ae3
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalTags.1.0.0.json
@@ -0,0 +1,38 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractLegalTags.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Legal Meta Data",
+  "description": "Legal meta data like legal tags, relevant other countries, legal status. This structure is included by the SystemProperties \"legal\", which is part of all OSDU records. Not extensible.",
+  "type": "object",
+  "properties": {
+    "legaltags": {
+      "title": "Legal Tags",
+      "description": "The list of legal tags, which resolve to legal properties (like country of origin, export classification code, etc.) and rules with the help of the Compliance Service.",
+      "type": "array",
+      "items": {
+        "type": "string"
+      }
+    },
+    "otherRelevantDataCountries": {
+      "title": "Other Relevant Data Countries",
+      "description": "The list of other relevant data countries as an array of two-letter country codes, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^[A-Z]{2}$"
+      }
+    },
+    "status": {
+      "title": "Legal Status",
+      "description": "The legal status. Set by the system after evaluation against the compliance rules associated with the \"legaltags\" using the Compliance Service.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LegalStatus:[^:]+:[0-9]*$"
+    }
+  },
+  "required": [
+    "legaltags",
+    "otherRelevantDataCountries"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalTags.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalTags.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractLegalTags.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractMetaItem.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractMetaItem.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..a1e729475c867f94b5d467d34afb8e199854ad6d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractMetaItem.1.0.0.json
@@ -0,0 +1,176 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractMetaItem.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Frame of Reference Meta Data Item",
+  "description": "A meta data item, which allows the association of named properties or property values to a Unit/Measurement/CRS/Azimuth/Time context.",
+  "oneOf": [
+    {
+      "title": "FrameOfReferenceUOM",
+      "type": "object",
+      "properties": {
+        "kind": {
+          "title": "UOM Reference Kind",
+          "description": "The kind of reference, 'Unit' for FrameOfReferenceUOM.",
+          "const": "Unit"
+        },
+        "name": {
+          "title": "UOM Unit Symbol",
+          "description": "The unit symbol or name of the unit.",
+          "type": "string",
+          "example": "ft[US]"
+        },
+        "persistableReference": {
+          "title": "UOM Persistable Reference",
+          "description": "The self-contained, persistable reference string uniquely identifying the Unit.",
+          "type": "string",
+          "example": "{\"abcd\":{\"a\":0.0,\"b\":1200.0,\"c\":3937.0,\"d\":0.0},\"symbol\":\"ft[US]\",\"baseMeasurement\":{\"ancestry\":\"L\",\"type\":\"UM\"},\"type\":\"UAD\"}"
+        },
+        "unitOfMeasureID": {
+          "description": "SRN to unit of measure reference.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+          "example": "srn:<namespace>:reference-data/UnitOfMeasure:Energistics_UoM_ftUS:"
+        },
+        "propertyNames": {
+          "title": "UOM Property Names",
+          "description": "The list of property names, to which this meta data item provides Unit context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+          "type": "array",
+          "example": [
+            "HorizontalDeflection.EastWest",
+            "HorizontalDeflection.NorthSouth"
+          ],
+          "items": {
+            "type": "string"
+          }
+        }
+      },
+      "required": [
+        "kind",
+        "persistableReference"
+      ]
+    },
+    {
+      "title": "FrameOfReferenceCRS",
+      "type": "object",
+      "properties": {
+        "kind": {
+          "title": "CRS Reference Kind",
+          "description": "The kind of reference, constant 'CRS' for FrameOfReferenceCRS.",
+          "const": "CRS"
+        },
+        "name": {
+          "title": "CRS Name",
+          "description": "The name of the CRS.",
+          "type": "string",
+          "example": "NAD27 * OGP-Usa Conus / North Dakota South [32021,15851]"
+        },
+        "persistableReference": {
+          "title": "CRS Persistable Reference",
+          "description": "The self-contained, persistable reference string uniquely identifying the CRS.",
+          "type": "string",
+          "example": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"32615\"},\"type\":\"LBC\",\"ver\":\"PE_10_3_1\",\"name\":\"WGS_1984_UTM_Zone_15N\",\"wkt\":\"PROJCS[\\\"WGS_1984_UTM_Zone_15N\\\",GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],PROJECTION[\\\"Transverse_Mercator\\\"],PARAMETER[\\\"False_Easting\\\",500000.0],PARAMETER[\\\"False_Northing\\\",0.0],PARAMETER[\\\"Central_Meridian\\\",-93.0],PARAMETER[\\\"Scale_Factor\\\",0.9996],PARAMETER[\\\"Latitude_Of_Origin\\\",0.0],UNIT[\\\"Meter\\\",1.0],AUTHORITY[\\\"EPSG\\\",32615]]\"}"
+        },
+        "coordinateReferenceSystemID": {
+          "description": "SRN to CRS reference.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+          "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:EPSG.32615:"
+        },
+        "propertyNames": {
+          "title": "CRS Property Names",
+          "description": "The list of property names, to which this meta data item provides CRS context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+          "type": "array",
+          "example": [
+            "KickOffPosition.X",
+            "KickOffPosition.Y"
+          ],
+          "items": {
+            "type": "string"
+          }
+        }
+      },
+      "required": [
+        "kind",
+        "persistableReference"
+      ]
+    },
+    {
+      "title": "FrameOfReferenceDateTime",
+      "type": "object",
+      "properties": {
+        "kind": {
+          "title": "DateTime Reference Kind",
+          "description": "The kind of reference, constant 'DateTime', for FrameOfReferenceDateTime.",
+          "const": "DateTime"
+        },
+        "name": {
+          "title": "DateTime Name",
+          "description": "The name of the DateTime format and reference.",
+          "type": "string",
+          "example": "UTC"
+        },
+        "persistableReference": {
+          "title": "DateTime Persistable Reference",
+          "description": "The self-contained, persistable reference string uniquely identifying DateTime reference.",
+          "type": "string",
+          "example": "{\"format\":\"yyyy-MM-ddTHH:mm:ssZ\",\"timeZone\":\"UTC\",\"type\":\"DTM\"}"
+        },
+        "propertyNames": {
+          "title": "DateTime Property Names",
+          "description": "The list of property names, to which this meta data item provides DateTime context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+          "type": "array",
+          "example": [
+            "Acquisition.StartTime",
+            "Acquisition.EndTime"
+          ],
+          "items": {
+            "type": "string"
+          }
+        }
+      },
+      "required": [
+        "kind",
+        "persistableReference"
+      ]
+    },
+    {
+      "title": "FrameOfReferenceAzimuthReference",
+      "type": "object",
+      "properties": {
+        "kind": {
+          "title": "AzimuthReference Reference Kind",
+          "description": "The kind of reference, constant 'AzimuthReference', for FrameOfReferenceAzimuthReference.",
+          "const": "AzimuthReference"
+        },
+        "name": {
+          "title": "AzimuthReference Name",
+          "description": "The name of the CRS or the symbol/name of the unit.",
+          "type": "string",
+          "example": "TrueNorth"
+        },
+        "persistableReference": {
+          "title": "AzimuthReference Persistable Reference",
+          "description": "The self-contained, persistable reference string uniquely identifying AzimuthReference.",
+          "type": "string",
+          "example": "{\"code\":\"TrueNorth\",\"type\":\"AZR\"}"
+        },
+        "propertyNames": {
+          "title": "AzimuthReference Property Names",
+          "description": "The list of property names, to which this meta data item provides AzimuthReference context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+          "type": "array",
+          "example": [
+            "Bearing"
+          ],
+          "items": {
+            "type": "string"
+          }
+        }
+      },
+      "required": [
+        "kind",
+        "persistableReference"
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractMetaItem.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractMetaItem.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractMetaItem.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractPersistableReference.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractPersistableReference.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc131ddf3fc3d2e4e2bf93bddbdfd5df3c1c8388
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractPersistableReference.1.0.0.json
@@ -0,0 +1,681 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractPersistableReference.1.0.0.json",
+  "title": "Persistable Reference",
+  "type": "object",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "description": "So-called persistable reference strings carry a serialized JSON structure simply for convenience of transport; the carrier does not need to understand the internal details. This schema declares the structure of this self-contained reference value payload. PersistableReferences come in various specializations. All variants contain a property \"type\", which can be used to parse into a specific class. The JSON string-serialized structures are used e.g. in abstract/AbstractMetaItem and in some reference-data entities.",
+  "oneOf": [
+    {
+      "type": "object",
+      "required": [
+        "type"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "description": "The type identifier and discriminator, fixed for a specific type'.",
+          "enum": [
+            "LBC",
+            "EBC",
+            "CC",
+            "ST",
+            "CT",
+            "AOU",
+            "UM",
+            "USO",
+            "UAD",
+            "DTM",
+            "DAT",
+            "AZR"
+          ]
+        }
+      }
+    },
+    {
+      "$ref": "#/definitions/genericCRS"
+    },
+    {
+      "$ref": "#/definitions/unit"
+    },
+    {
+      "$ref": "#/definitions/measurement"
+    },
+    {
+      "$ref": "#/definitions/date"
+    },
+    {
+      "$ref": "#/definitions/dateTime"
+    },
+    {
+      "$ref": "#/definitions/azimuthReference"
+    }
+  ],
+  "definitions": {
+    "genericCRS": {
+      "oneOf": [
+        {
+          "$ref": "#/definitions/lateBoundCRS"
+        },
+        {
+          "$ref": "#/definitions/earlyBoundCRS"
+        },
+        {
+          "$ref": "#/definitions/compoundCRS"
+        }
+      ]
+    },
+    "unit": {
+      "oneOf": [
+        {
+          "$ref": "#/definitions/unitSO"
+        },
+        {
+          "$ref": "#/definitions/unitABCD"
+        }
+      ]
+    },
+    "authCode": {
+      "type": "object",
+      "title": "Authority Code",
+      "description": "The AuthorityCode for this item.",
+      "required": [
+        "auth",
+        "code"
+      ],
+      "properties": {
+        "auth": {
+          "type": "string",
+          "title": "Authority",
+          "description": "The name of the authority issuing the code.",
+          "example": "EPSG"
+        },
+        "code": {
+          "type": "string",
+          "example": "4326",
+          "title": "Code",
+          "description": "The code issued by the authority."
+        }
+      }
+    },
+    "boundBox": {
+      "type": "object",
+      "title": "WGS 84 Bounding Box",
+      "description": "WGS 84 bounding box in latitude longitude.",
+      "properties": {
+        "lonMin": {
+          "type": "number",
+          "title": "Longitude Left",
+          "description": "The left longitude limit in degrees; the longitude can wrap around the datum line - then 'lonMin' is not the minimum longitude. Value range [-180,...,180] degrees from Greenwich."
+        },
+        "lonMax": {
+          "type": "number",
+          "title": "Longitude Right",
+          "description": "The right longitude limit in degrees; the longitude can wrap around the datum line - then 'lonMax' is not the maximum longitude. Value range [-180,...,180] degrees from Greenwich."
+        },
+        "latMin": {
+          "type": "number",
+          "title": "Latitude Lower",
+          "description": "The lower or minimum latitude limit in degrees. Value range from South -90 to 90 North."
+        },
+        "latMax": {
+          "type": "number",
+          "title": "Latitude Upper",
+          "description": "The upper or maximum latitude limit in degrees. Value range from South -90 to 90 North."
+        }
+      },
+      "required": [
+        "lonMin",
+        "lonMax",
+        "latMin",
+        "latMax"
+      ]
+    },
+    "scaleOffset": {
+      "type": "object",
+      "title": "Scale Offset",
+      "description": "Scale Offset parameter container.",
+      "required": [
+        "scale",
+        "offset"
+      ],
+      "properties": {
+        "scale": {
+          "type": "number",
+          "title": "Scale Factor",
+          "example": "0.5555555555555556",
+          "description": "The scale factor; formula:  y = scale*(x-offset)"
+        },
+        "offset": {
+          "type": "number",
+          "title": "offset",
+          "example": "-459.67",
+          "description": "The offset; formula:  y = scale*(x-offset)"
+        }
+      }
+    },
+    "abcd": {
+      "type": "object",
+      "title": "ABCD",
+      "description": "ABCD parameter container.",
+      "required": [
+        "a",
+        "b",
+        "c",
+        "d"
+      ],
+      "properties": {
+        "a": {
+          "type": "number",
+          "title": "A",
+          "example": "2298.35",
+          "description": "The A parameter; formula: y = (A+B*x)/(C+D*x)"
+        },
+        "b": {
+          "type": "number",
+          "title": "B",
+          "example": "5.0",
+          "description": "The B parameter; formula: y = (A+B*x)/(C+D*x)"
+        },
+        "c": {
+          "type": "number",
+          "title": "C",
+          "example": "9.0",
+          "description": "The C parameter; formula: y = (A+B*x)/(C+D*x)"
+        },
+        "d": {
+          "type": "number",
+          "title": "D",
+          "example": "0.0",
+          "description": "The D parameter; formula: y = (A+B*x)/(C+D*x)"
+        }
+      }
+    },
+    "measurement": {
+      "type": "object",
+      "title": "Measurement",
+      "description": "A measurement. It is a base measurement, also called dimension, if the 'ancestry' is 'root', a child measurement if the 'ancestry' contains more than one '.'-separated measurement names.",
+      "required": [
+        "type",
+        "ancestry"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "UM"
+          ],
+          "default": "UM",
+          "example": "UM",
+          "description": "The type identifier, fixed to 'UM'."
+        },
+        "ancestry": {
+          "type": "string",
+          "title": "Measurement Ancestry",
+          "description": "The ancestry of this dimension, unit quantity or measurement. Parent and child measurements are separated by a '.' symbol. An ancestry without a '.' is a base measurement or dimension.",
+          "example": "L.length"
+        }
+      }
+    },
+    "unitSO": {
+      "type": "object",
+      "title": "Unit Scale Offset",
+      "description": "A unit of measure, scale, offset parameterized.",
+      "required": [
+        "type",
+        "symbol",
+        "baseMeasurement",
+        "scaleOffset"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "USO"
+          ],
+          "default": "USO",
+          "example": "USO",
+          "description": "The type identifier, fixed to 'USO'."
+        },
+        "baseMeasurement": {
+          "$ref": "#/definitions/measurement",
+          "title": "Base Measurement",
+          "description": "The unit's base measurement."
+        },
+        "symbol": {
+          "type": "string",
+          "title": "Unit Symbol",
+          "description": "The unit symbol or short name.",
+          "example": "degF"
+        },
+        "scaleOffset": {
+          "$ref": "#/definitions/scaleOffset",
+          "title": "Scale Offset",
+          "description": "Scale Offset parameter container."
+        }
+      }
+    },
+    "unitABCD": {
+      "type": "object",
+      "title": "Unit Energistics",
+      "description": "A unit of measure in Energistics ABCD parameterization.",
+      "required": [
+        "type",
+        "symbol",
+        "baseMeasurement",
+        "abcd"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "UAD"
+          ],
+          "default": "UAD",
+          "example": "UAD",
+          "description": "The type identifier, fixed to 'UAD'."
+        },
+        "baseMeasurement": {
+          "$ref": "#/definitions/measurement",
+          "title": "Base Measurement",
+          "description": "The unit's base measurement."
+        },
+        "symbol": {
+          "type": "string",
+          "title": "Unit Symbol",
+          "description": "The unit symbol or short name.",
+          "example": "degF"
+        },
+        "abcd": {
+          "$ref": "#/definitions/abcd",
+          "title": "ABCD",
+          "description": "ABCD parameter container."
+        }
+      }
+    },
+    "area": {
+      "type": "object",
+      "title": "Area of Use",
+      "description": "Area of use consisting of a bounding box in latitude and longitude WGS 84.",
+      "required": [
+        "type",
+        "boundBox"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "AOU"
+          ],
+          "default": "AOU",
+          "example": "AOU",
+          "description": "The type identifier, fixed to 'AOU'."
+        },
+        "boundBox": {
+          "$ref": "#/definitions/boundBox",
+          "title": "Bounding Box",
+          "description": "The bounding box in latitude and longitude WGS 84 based."
+        },
+        "authCode": {
+          "$ref": "#/definitions/authCode",
+          "title": "Authority Code",
+          "description": "The authority code for this item."
+        }
+      }
+    },
+    "lateBoundCRS": {
+      "type": "object",
+      "title": "Late-bound CRS",
+      "description": "Late-bound coordinate reference system, i.e. a CRS without a transformation binding to WGS 84.",
+      "required": [
+        "type",
+        "name",
+        "wkt"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "LBC"
+          ],
+          "default": "LBC",
+          "example": "LBC",
+          "description": "The type identifier, fixed to 'LBC'."
+        },
+        "name": {
+          "type": "string",
+          "title": "CRS Name",
+          "description": "The name of the late-bound coordinate reference system.",
+          "example": "GCS_WGS_1984"
+        },
+        "ver": {
+          "type": "string",
+          "title": "Version",
+          "description": "The engine version issuing the definition.",
+          "example": "PE_10_3_1"
+        },
+        "wkt": {
+          "type": "string",
+          "title": "Late-bound CRS WKT",
+          "description": "Well-known text (Esri style) of the late-bound coordinate reference system.",
+          "example": "GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433],AUTHORITY[\"EPSG\",4326]]"
+        },
+        "authCode": {
+          "$ref": "#/definitions/authCode",
+          "title": "Authority Code",
+          "description": "The authority code for this item."
+        }
+      }
+    },
+    "singleCT": {
+      "type": "object",
+      "title": "Single CT",
+      "description": "Single cartographic transformation.",
+      "required": [
+        "type",
+        "name",
+        "wkt"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "ST"
+          ],
+          "default": "ST",
+          "example": "ST",
+          "description": "The type identifier, fixed to 'ST'."
+        },
+        "name": {
+          "type": "string",
+          "title": "Single CT Name",
+          "description": "The name of the simple cartographic transformation.",
+          "example": "ED_1950_UTM_Zone_31N"
+        },
+        "ver": {
+          "type": "string",
+          "title": "Version",
+          "description": "The engine version issuing the definition.",
+          "example": "PE_10_3_1"
+        },
+        "wkt": {
+          "type": "string",
+          "title": "Well-known Text",
+          "description": "The well-known text (Esri style) defining this transformation.",
+          "example": "GEOGTRAN[\"ED_1950_To_WGS_1984_23\",GEOGCS[\"GCS_European_1950\",DATUM[\"D_European_1950\",SPHEROID[\"International_1924\",6378388.0,297.0]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"Position_Vector\"],PARAMETER[\"X_Axis_Translation\",-116.641],PARAMETER[\"Y_Axis_Translation\",-56.931],PARAMETER[\"Z_Axis_Translation\",-110.559],PARAMETER[\"X_Axis_Rotation\",0.893],PARAMETER[\"Y_Axis_Rotation\",0.921],PARAMETER[\"Z_Axis_Rotation\",-0.917],PARAMETER[\"Scale_Difference\",-3.52],AUTHORITY[\"EPSG\",1612]]"
+        },
+        "authCode": {
+          "$ref": "#/definitions/authCode",
+          "title": "Authority Code",
+          "description": "The authority code for this item."
+        }
+      }
+    },
+    "compoundCT": {
+      "type": "object",
+      "title": "Compound CT",
+      "description": "Compound cartographic transformation.",
+      "required": [
+        "type",
+        "name",
+        "policy",
+        "cts"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "CT"
+          ],
+          "default": "CT",
+          "example": "CT",
+          "description": "The type identifier, fixed to 'CT'."
+        },
+        "name": {
+          "type": "string",
+          "title": "Compound CT Name",
+          "description": "The name of the compound cartographic transformation.",
+          "example": "Fallback NAD27 to WGS 84 (79)/NAD27 to WGS 84 (33)"
+        },
+        "ver": {
+          "type": "string",
+          "title": "Version",
+          "description": "The engine version issuing the definition.",
+          "example": "PE_10_3_1"
+        },
+        "policy": {
+          "type": "string",
+          "title": "Policy",
+          "description": "The transformation policy - concatenated or fallback.",
+          "example": "Concatenated",
+          "enum": [
+            "Fallback",
+            "Concatenated"
+          ]
+        },
+        "cts": {
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/singleCT",
+            "title": "Transformation List",
+            "description": "The ordered list of cartographic transformations."
+          },
+          "title": "Transformation List ",
+          "description": "The ordered list of cartographic transformations."
+        },
+        "authCode": {
+          "$ref": "#/definitions/authCode",
+          "title": "Authority Code",
+          "description": "The authority code for this item."
+        }
+      }
+    },
+    "earlyBoundCRS": {
+      "type": "object",
+      "title": "Early-bound CRS",
+      "description": "Early-bound coordinate reference system, i.e. a CRS with a transformation binding to WGS 84",
+      "required": [
+        "type",
+        "name",
+        "lateBoundCRS"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "EBC"
+          ],
+          "example": "EBC",
+          "default": "EBC",
+          "description": "The type identifier, fixed to 'EBC'."
+        },
+        "name": {
+          "type": "string",
+          "title": "CRS Name",
+          "description": "The name of the early-bound coordinate reference system.",
+          "example": "ED50 * EPSG-Nor N62 2001 / UTM zone 31N [23031,1612]"
+        },
+        "ver": {
+          "type": "string",
+          "title": "Version",
+          "description": "The engine version issuing the definition.",
+          "example": "PE_10_3_1"
+        },
+        "lateBoundCRS": {
+          "$ref": "#/definitions/lateBoundCRS",
+          "title": "Late-bound CRS",
+          "description": "Late-bound CRS, which is bound to a single (singleCT) or compound (compoundCT) transformation to WGS 84."
+        },
+        "singleCT": {
+          "$ref": "#/definitions/singleCT",
+          "title": "Single Transformation",
+          "description": "Single Transformation, which binds the late-bound CRS (lbCRS) to WGS 84. If absent, a compound transformation (compoundCT) must be present."
+        },
+        "compoundCT": {
+          "$ref": "#/definitions/compoundCT",
+          "title": "Compound Transformation",
+          "description": "Compound transformation, which binds the late-bound CRS (lbCRS) to WGS 84. If absent, a single transformation (singleCT) must be present."
+        },
+        "authCode": {
+          "$ref": "#/definitions/authCode",
+          "title": "Authority Code",
+          "description": "The authority code for this item."
+        }
+      }
+    },
+    "compoundCRS": {
+      "type": "object",
+      "title": "Compound CRS",
+      "description": "Compound coordinate reference system aggregating a horizontal to a vertical CRS.",
+      "required": [
+        "type",
+        "name"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "CC"
+          ],
+          "example": "CC",
+          "default": "CC",
+          "description": "The type identifier. fixed to 'CC'."
+        },
+        "name": {
+          "type": "string",
+          "title": "CRS Name",
+          "description": "The name of the compound coordinate reference system.",
+          "example": "WGS 84 / UTM zone 35N + EGM96 height"
+        },
+        "ver": {
+          "type": "string",
+          "title": "Version",
+          "description": "The engine version issuing the definition.",
+          "example": "PE_10_3_1"
+        },
+        "horzLateBoundCRS": {
+          "$ref": "#/definitions/lateBoundCRS",
+          "title": "Horizontal late-bound CRS",
+          "description": "The horizontal CRS of a Compound CRS as late-bound CRS. If 'horzLateBoundCRS' is non-null, 'horzEarlyBoundCRS' must be null."
+        },
+        "horzEarlyBoundCRS": {
+          "$ref": "#/definitions/earlyBoundCRS",
+          "title": "Horizontal early-bound CRS",
+          "description": "The horizontal CRS of a Compound CRS as early-bound CRS. If 'horzEarlyBoundCRS' is non-null, 'horzLateBoundCRS' must be null."
+        },
+        "vertLateBoundCRS": {
+          "$ref": "#/definitions/lateBoundCRS",
+          "title": "Vertical late-bound CRS",
+          "description": "The vertical CRS of the Compound CRS as late-bound CRS. If 'vertLateBoundCRS' is non-null, 'vertEarlyBoundCRS' must be null."
+        },
+        "vertEarlyBoundCRS": {
+          "$ref": "#/definitions/earlyBoundCRS",
+          "title": "Vertical early-bound CRS",
+          "description": "The vertical CRS of the Compound CRS as early-bound CRS. If 'vertEarlyBoundCRS' is non-null, 'vertLateBoundCRS' must be null."
+        },
+        "authCode": {
+          "$ref": "#/definitions/authCode",
+          "title": "Authority Code",
+          "description": "The authority code for this item."
+        }
+      }
+    },
+    "date": {
+      "type": "object",
+      "title": "Date",
+      "description": "A set of references describing date reference.",
+      "required": [
+        "type",
+        "format"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "DAT"
+          ],
+          "example": "DAT",
+          "default": "DAT",
+          "description": "The type identifier. Fixed to 'DAT'."
+        },
+        "format": {
+          "type": "string",
+          "title": "Date Format",
+          "description": "The date format specification follows https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings.",
+          "example": "yyyy-MM-dd"
+        }
+      }
+    },
+    "dateTime": {
+      "type": "object",
+      "title": "Date Time",
+      "description": "A set of references describing date-time and time zone references.",
+      "required": [
+        "type",
+        "format"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "DTM"
+          ],
+          "example": "DTM",
+          "default": "DTM",
+          "description": "The type identifier. Fixed to 'DTM'."
+        },
+        "format": {
+          "type": "string",
+          "title": "Date/Time Format",
+          "description": "The date-time format specification follows https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings.",
+          "example": "yyyy-MM-ddTHH:mm:ss.ffffffZ"
+        },
+        "timeZone": {
+          "type": "string",
+          "title": "Time Zone",
+          "description": "The time zone reference specification. For data in UTC or with UTC offset this is 'UTC' or the serialized Windows TimeZoneInfo.",
+          "example": "Antarctica/South Pole Standard Time;720;(GMT+12:00) Antarctica/South Pole;Antarctica/South Pole Standard Time;Antarctica/South Pole Daylight Time;[10:01:1989;12:31:9999;60;[0;02:00:00;10;1;0;];[0;02:00:00;3;3;0;];];"
+        }
+      }
+    },
+    "azimuthReference": {
+      "type": "object",
+      "title": "Azimuth Reference",
+      "description": "A set of parameters defining an azimuth reference. This type definition is a place-holder covering only TrueNorth at the moment. GridNorth and MagneticNorth references require specific properties, which are yet to be declared.",
+      "required": [
+        "type",
+        "code"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "title": "Type of Persistable Reference",
+          "enum": [
+            "AZR"
+          ],
+          "example": "AZR",
+          "default": "AZR",
+          "description": "The type identifier. Fixed to 'AZR'."
+        },
+        "code": {
+          "type": "string",
+          "title": "Azimuth Reference Code",
+          "description": "The azimuth reference code, e.g. TrueNorth, GridNorth, MagneticNorth. Depending on the code other properties required like projected CRS and geo-magnetic model with observation date. Only TrueNorth does not require any additional properties.",
+          "example": "TrueNorth"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractPersistableReference.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractPersistableReference.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractPersistableReference.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractProject.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractProject.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..077b336d63b37b0aa4bc4a6041e748f01044c012
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractProject.1.0.0.json
@@ -0,0 +1,209 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractProject.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractProject",
+  "description": "A Project is a business activity that consumes financial and human resources and produces (digital) work products.",
+  "type": "object",
+  "properties": {
+    "ProjectID": {
+      "description": "A system-specified unique identifier of a Project.",
+      "type": "string"
+    },
+    "ProjectName": {
+      "description": "The common or preferred name of a Project.",
+      "x-osdu-natural-key": 0,
+      "type": "string"
+    },
+    "ProjectNames": {
+      "description": "The history of Project names, codes, and other business identifiers.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractAliasNames.1.0.0.json"
+      }
+    },
+    "Purpose": {
+      "description": "Description of the objectives of a Project.",
+      "type": "string"
+    },
+    "ProjectBeginDate": {
+      "description": "The date and time when the Project was initiated.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "ProjectEndDate": {
+      "description": "The date and time when the Project was completed.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "FundsAuthorization": {
+      "description": "The history of expenditure approvals.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "AuthorizationID": {
+            "description": "Internal Company control number which identifies the allocation of funds to the Project.",
+            "type": "string"
+          },
+          "EffectiveDateTime": {
+            "description": "The date and time when the funds were approved.",
+            "type": "string",
+            "format": "date-time"
+          },
+          "FundsAmount": {
+            "description": "The level of expenditure approved.",
+            "type": "string",
+            "format": "date-time"
+          },
+          "CurrencyID": {
+            "description": "Type of currency for the authorized expenditure.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/Currency:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    },
+    "ContractIDs": {
+      "description": "References to applicable agreements in external contract database system of record.",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:master-data\\/Agreement:[^:]+:[0-9]*$"
+      }
+    },
+    "Operator": {
+      "description": "The organisation which controlled the conduct of the project.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+    },
+    "Contractors": {
+      "description": "References to organisations which supplied services to the Project.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "ContractorOrganisationID": {
+            "description": "Reference to a company that provided services.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+          },
+          "ContractorCrew": {
+            "description": "Name of the team, unit, crew, party, or other subdivision of the Contractor that provided services.",
+            "type": "string"
+          },
+          "ContractorTypeID": {
+            "description": "The identifier of a reference value for the role of a contractor providing services, such as Recording, Line Clearing, Positioning, Data Processing.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/ContractorType:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    },
+    "Personnel": {
+      "description": "List of key individuals supporting the Project.  This could be Abstracted for re-use, and could reference a separate Persons master data object.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "PersonName": {
+            "description": "Name of an individual supporting the Project.",
+            "type": "string"
+          },
+          "CompanyOrganisationID": {
+            "description": "Reference to the company which employs Personnel.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+          },
+          "ProjectRoleID": {
+            "description": "The identifier of a reference value for the role of an individual supporting a Project, such as Project Manager, Party Chief, Client Representative, Senior Observer.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/ProjectRole:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    },
+    "SpatialLocation": {
+      "description": "A spatial geometry object that indicates the area of operation or interest for a Project.",
+      "$ref": "AbstractSpatialLocation.1.0.0.json"
+    },
+    "GeoContexts": {
+      "description": "List of geographic entities which provide context to the project.  This may include multiple types or multiple values of the same type.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractGeoContext.1.0.0.json"
+      }
+    },
+    "ProjectSpecification": {
+      "description": "General parameters defining the configuration of the Project.  In the case of a seismic acquisition project it is like receiver interval, source depth, source type.  In the case of a processing project, it is like replacement velocity, reference datum above mean sea level.",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "EffectiveDateTime": {
+            "description": "The date and time at which a ProjectSpecification becomes effective.",
+            "type": "string",
+            "format": "date-time"
+          },
+          "TerminationDateTime": {
+            "description": "The date and time at which a ProjectSpecification is no longer in effect.",
+            "format": "date-time",
+            "type": "string"
+          },
+          "ProjectSpecificationQuantity": {
+            "description": "The value for the specified parameter type.",
+            "type": "number",
+            "x-osdu-frame-of-reference": "UOM_via_property:UnitOfMeasureID"
+          },
+          "ProjectSpecificationDateTime": {
+            "description": "The actual date and time value of the parameter.  ISO format permits specification of time or date only.",
+            "type": "string",
+            "format": "date-time"
+          },
+          "ProjectSpecificationIndicator": {
+            "description": "The actual indicator value of the parameter.",
+            "type": "boolean"
+          },
+          "ProjectSpecificationText": {
+            "description": "The actual text value of the parameter.",
+            "type": "string"
+          },
+          "UnitOfMeasureID": {
+            "description": "The unit for the quantity parameter if overriding the default for this ParameterType, like metre (m in SI units system) for quantity Length.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+          },
+          "ParameterTypeID": {
+            "description": "Parameter type of property or characteristic.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/ParameterType:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    },
+    "ProjectState": {
+      "description": "The history of life cycle states that the Project has been through..",
+      "type": "array",
+      "items": {
+        "type": "object",
+        "properties": {
+          "EffectiveDateTime": {
+            "description": "The date and time at which the state becomes effective.",
+            "type": "string",
+            "format": "date-time"
+          },
+          "TerminationDateTime": {
+            "description": "The date and time at which the state is no longer in effect.",
+            "type": "string",
+            "format": "date-time"
+          },
+          "ProjectStateTypeID": {
+            "description": "The Project life cycle state from planning to completion.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/ProjectStateType:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractProject.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractProject.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractProject.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractQualityMetric.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractQualityMetric.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..4f8bebd4068c444b9322b353619e3adad90c85c6
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractQualityMetric.1.0.0.json
@@ -0,0 +1,55 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractQualityMetric.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractQualityMetric",
+  "description": "Generic quality metric schema fragment containing the universal properties for data profiling and data metrics of OSDU objects.",
+  "type": "object",
+  "properties": {
+    "RunDateTime": {
+      "description": "Run timestamp of the Business data quality ruleset.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "MetadataCountTotal": {
+      "description": "Total number of metadata attributes for object in scope.",
+      "type": "number"
+    },
+    "MetadataNull": {
+      "description": "The count of total number where metadata is not populated.",
+      "type": "number"
+    },
+    "MetadataCountFormat": {
+      "description": "Total number of attributes defined in reference value lists.",
+      "type": "number"
+    },
+    "MetadataFormat": {
+      "description": "The count of total number where attribute follows the defined reference value lists.",
+      "type": "number"
+    },
+    "MetadataCountPattern": {
+      "description": "Total number of attributes with a pattern.",
+      "type": "number"
+    },
+    "MetadataPattern": {
+      "description": "The count of total number of attributes that follow pattern.",
+      "type": "number"
+    },
+    "MetadataCountRequired": {
+      "description": "Total number required attributes.",
+      "type": "number"
+    },
+    "MetadataCountRequiredTrue": {
+      "description": "The count of required metadata that are not populated.",
+      "type": "number"
+    },
+    "MetadataCountAdditionalProperties": {
+      "description": "Total number of additional properties.",
+      "type": "number"
+    },
+    "MetadataAdditionalPropertiesTrue": {
+      "description": "The count of total number of additional properties that are not populated.",
+      "type": "number"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractQualityMetric.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractQualityMetric.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractQualityMetric.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractReferenceType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractReferenceType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d0efa3a9356fdd3c293ebff6bbd79335faa8c5c1
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractReferenceType.1.0.0.json
@@ -0,0 +1,51 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractReferenceType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractReferenceType",
+  "description": "Generic reference object containing the universal properties of reference data, especially the ones commonly thought of as Types",
+  "type": "object",
+  "properties": {
+    "Name": {
+      "description": "The name of the entity instance.",
+      "x-osdu-natural-key": 1,
+      "type": "string"
+    },
+    "NameAlias": {
+      "description": "Alternative names, including historical, by which this entity instance is/has been known.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractAliasNames.1.0.0.json"
+      }
+    },
+    "ID": {
+      "description": "Surrogate key to uniquely identify an instance in a domain list.",
+      "type": "string"
+    },
+    "InactiveIndicator": {
+      "description": "This is set to T (True) if the instance is no longer in use.",
+      "type": "boolean"
+    },
+    "Description": {
+      "description": "The text which describes a NAME TYPE in detail.",
+      "type": "string"
+    },
+    "Code": {
+      "description": "The abbreviation or mnemonic for a reference type if defined. Example: WELL and WLBR.",
+      "x-osdu-natural-key": 0,
+      "type": "string"
+    },
+    "AttributionAuthority": {
+      "description": "Name of the authority, or organisation, which governs the entity value and from which it is sourced.",
+      "type": "string"
+    },
+    "AttributionPublication": {
+      "description": "Name, URL, or other identifier of the publication, or repository, of the attribution source organisation from which the entity value is sourced.",
+      "type": "string"
+    },
+    "AttributionRevision": {
+      "description": "The distinct instance of the attribution publication, by version number, sequence number, date of publication, etc., that was used for the entity value.",
+      "type": "string"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractReferenceType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractReferenceType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractReferenceType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractSpatialLocation.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractSpatialLocation.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6b327d8c7c8f2884d02cc12dcf9ef237e490f2a1
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractSpatialLocation.1.0.0.json
@@ -0,0 +1,74 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractSpatialLocation.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractSpatialLocation",
+  "description": "A geographic object which can be described by a set of points.",
+  "type": "object",
+  "properties": {
+    "SpatialLocationCoordinatesDate": {
+      "description": "Date when coordinates were measured or retrieved.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "QuantitativeAccuracyBandID": {
+      "description": "An approximate quantitative assessment of the quality of a location (accurate to > 500 m (i.e. not very accurate)), to < 1 m, etc.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/QuantitativeAccuracyBand:[^:]+:[0-9]*$"
+    },
+    "QualitativeSpatialAccuracyTypeID": {
+      "description": "A qualitative description of the quality of a spatial location, e.g. unverifiable, not verified, basic validation.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/QualitativeSpatialAccuracyType:[^:]+:[0-9]*$"
+    },
+    "CoordinateQualityCheckPerformedBy": {
+      "description": "The user who performed the Quality Check.",
+      "type": "string"
+    },
+    "CoordinateQualityCheckDateTime": {
+      "description": "The date of the Quality Check.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "CoordinateQualityCheckRemarks": {
+      "description": "Freetext remarks on Quality Check.",
+      "type": "array",
+      "items": {
+        "type": "string"
+      }
+    },
+    "AsIngestedCoordinates": {
+      "title": "As Ingested Coordinates",
+      "description": "The original or 'as ingested' coordinates (Point, MultiPoint, LineString, MultiLineString, Polygon or MultiPolygon). The name 'AsIngestedCoordinates' was chosen to contrast it to 'OriginalCoordinates', which carries the uncertainty whether any coordinate operations took place before ingestion. In cases where the original CRS is different from the as-ingested CRS, the OperationsApplied can also contain the list of operations applied to the coordinate prior to ingestion. The data structure is similar to GeoJSON FeatureCollection, however in a CRS context explicitly defined within the AbstractAnyCrsFeatureCollection. The coordinate sequence follows GeoJSON standard, i.e. 'eastward/longitude', 'northward/latitude' {, 'upward/height' unless overridden by an explicit direction in the AsIngestedCoordinates.VerticalCoordinateReferenceSystemID}.",
+      "$ref": "AbstractAnyCrsFeatureCollection.1.0.0.json",
+      "x-osdu-frame-of-reference": "CRS:"
+    },
+    "Wgs84Coordinates": {
+      "title": "WGS 84 Coordinates",
+      "description": "The normalized coordinates (Point, MultiPoint, LineString, MultiLineString, Polygon or MultiPolygon) based on WGS 84 (EPSG:4326 for 2-dimensional coordinates, EPSG:4326 + EPSG:5714 (MSL) for 3-dimensional coordinates). This derived coordinate representation is intended for global discoverability only. The schema of this substructure is identical to the GeoJSON FeatureCollection https://geojson.org/schema/FeatureCollection.json. The coordinate sequence follows GeoJSON standard, i.e. longitude, latitude {, height}",
+      "$ref": "AbstractFeatureCollection.1.0.0.json"
+    },
+    "OperationsApplied": {
+      "title": "Operations Applied",
+      "description": "The audit trail of operations applied to the coordinates from the original state to the current state. The list may contain operations applied prior to ingestion as well as the operations applied to produce the Wgs84Coordinates. The text elements refer to ESRI style CRS and Transformation names, which may have to be translated to EPSG standard names.",
+      "type": "array",
+      "items": {
+        "type": "string"
+      },
+      "example": [
+        "conversion from ED_1950_UTM_Zone_31N to GCS_European_1950; 1 points converted",
+        "transformation GCS_European_1950 to GCS_WGS_1984 using ED_1950_To_WGS_1984_24; 1 points successfully transformed"
+      ]
+    },
+    "SpatialParameterTypeID": {
+      "description": "A type of spatial representation of an object, often general (e.g. an Outline, which could be applied to Field, Reservoir, Facility, etc.) or sometimes specific (e.g. Onshore Outline, State Offshore Outline, Federal Offshore Outline, 3 spatial representations that may be used by Countries).",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SpatialParameterType:[^:]+:[0-9]*$"
+    },
+    "SpatialGeometryTypeID": {
+      "description": "Indicates the expected look of the SpatialParameterType, e.g. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon. The value constrains the type of geometries in the GeoJSON Wgs84Coordinates and AsIngestedCoordinates.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SpatialGeometryType:[^:]+:[0-9]*$"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractSpatialLocation.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractSpatialLocation.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractSpatialLocation.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWPCGroupType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWPCGroupType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..2d5fad10aa9ce004d225555a8cf9c3abbaa02e5f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWPCGroupType.1.0.0.json
@@ -0,0 +1,50 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractWPCGroupType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractWPCGroupType",
+  "description": "Generic reference object containing the universal grouptype properties of a Work Product Component for inclusion in data type specific Work Product Component objects",
+  "type": "object",
+  "properties": {
+    "Files": {
+      "type": "array",
+      "items": {
+        "description": "The SRN which identifies this OSDU File resource.",
+        "type": "string",
+        "pattern": "^srn:<namespace>:file\\/File:[^:]+:[0-9]*$"
+      }
+    },
+    "Artefacts": {
+      "type": "array",
+      "description": "An array of Artefacts - each artefact has a Role, Resource tuple. An artefact is distinct from the file, in the sense certain valuable information is generated during loading process (Artefact generation process). Examples include retrieving location data, performing an OCR which may result in the generation of artefacts which need to be preserved distinctly",
+      "items": {
+        "type": "object",
+        "properties": {
+          "RoleID": {
+            "description": "The SRN of this artefact's role.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:reference-data\\/ArtefactRole:[^:]+:[0-9]*$"
+          },
+          "ResourceTypeID": {
+            "description": "The SRN of the artefact's resource type.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:file\\/File:[^:]+:[0-9]*$"
+          },
+          "ResourceID": {
+            "description": "The SRN which identifies this OSDU Artefact resource.",
+            "type": "string",
+            "pattern": "^srn:<namespace>:file\\/File:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    },
+    "IsExtendedLoad": {
+      "type": "boolean",
+      "description": "A flag that indicates if the work product component is undergoing an extended load.  It reflects the fact that the work product component is in an early stage and may be updated before finalization."
+    },
+    "IsDiscoverable": {
+      "type": "boolean",
+      "description": "A flag that indicates if the work product component is searchable, which means covered in the search index."
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWPCGroupType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWPCGroupType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWPCGroupType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWellboreDrillingReason.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWellboreDrillingReason.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d6e157731f1429588e060134cc04baa7634e052d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWellboreDrillingReason.1.0.0.json
@@ -0,0 +1,25 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractWellboreDrillingReason.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractWellboreDrillingReason",
+  "description": "Purpose for drilling a wellbore, which often is an indication of the level of risk.",
+  "type": "object",
+  "properties": {
+    "DrillingReasonTypeID": {
+      "description": "Identifier of the drilling reason type for the corresponding time period.",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/DrillingReasonType:[^:]+:[0-9]*$"
+    },
+    "EffectiveDateTime": {
+      "description": "The date and time at which the event becomes effective.",
+      "type": "string",
+      "format": "date-time"
+    },
+    "TerminationDateTime": {
+      "description": "The date and time at which the event is no longer in effect.",
+      "type": "string",
+      "format": "date-time"
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWellboreDrillingReason.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWellboreDrillingReason.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWellboreDrillingReason.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWorkProductComponent.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWorkProductComponent.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..9807af776e26b0082828fa3aa12e41f1991daf86
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWorkProductComponent.1.0.0.json
@@ -0,0 +1,84 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractWorkProductComponent.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AbstractWorkProductComponent",
+  "description": "Generic reference object containing the universal properties of a Work Product Component for inclusion in data type specific Work Product Component objects",
+  "type": "object",
+  "properties": {
+    "Name": {
+      "type": "string",
+      "description": "Name"
+    },
+    "Description": {
+      "type": "string",
+      "description": "Description.  Summary of the work product component.  Not the same as Remark which captures thoughts of creator about the wpc."
+    },
+    "CreationDateTime": {
+      "type": "string",
+      "format": "date-time",
+      "description": "Date that a resource (work  product component here) is formed outside of OSDU before loading (e.g. publication date)."
+    },
+    "Tags": {
+      "type": "array",
+      "description": "Array of key words to identify the work product, especially to help in search.",
+      "items": {
+        "type": "string"
+      }
+    },
+    "SpatialPoint": {
+      "description": "A centroid point that reflects the locale of the content of the work product component (location of the subject matter).",
+      "$ref": "AbstractSpatialLocation.1.0.0.json"
+    },
+    "SpatialArea": {
+      "description": "A polygon boundary that reflects the locale of the content of the work product component (location of the subject matter).",
+      "$ref": "AbstractSpatialLocation.1.0.0.json"
+    },
+    "GeoContexts": {
+      "description": "List of geographic entities which provide context to the WPC.  This may include multiple types or multiple values of the same type.",
+      "type": "array",
+      "items": {
+        "$ref": "AbstractGeoContext.1.0.0.json"
+      }
+    },
+    "SubmitterName": {
+      "type": "string",
+      "description": "Name of the person that first submitted the work product component to OSDU."
+    },
+    "BusinessActivities": {
+      "type": "array",
+      "description": "Array of business processes/workflows that the work product component has been through (ex. well planning, exploration).",
+      "items": {
+        "type": "string",
+        "description": "Business Activity"
+      }
+    },
+    "AuthorIDs": {
+      "type": "array",
+      "description": "Array of Authors' names of the work product component.  Could be a person or company entity.",
+      "items": {
+        "type": "string"
+      }
+    },
+    "LineageAssertions": {
+      "type": "array",
+      "description": "Defines relationships with other objects (any kind of Resource) upon which this work product component depends.  The assertion is directed only from the asserting WPC to ancestor objects, not children.  It should not be used to refer to files or artefacts within the WPC -- the association within the WPC is sufficient and Artefacts are actually children of the main WPC file. They should be recorded in the Data.Artefacts[] array.",
+      "items": {
+        "type": "object",
+        "title": "LineageAssertion",
+        "properties": {
+          "ID": {
+            "type": "string",
+            "description": "The object reference identifying the DIRECT, INDIRECT, REFERENCE dependency.",
+            "pattern": "^srn:<namespace>:[A-Za-z-]+\\/[A-Za-z0-9]+:[^:]+:[0-9]*$"
+          },
+          "LineageRelationshipType": {
+            "type": "string",
+            "description": "Used by LineageAssertion to describe the nature of the line of descent of a work product component from a prior Resource, such as DIRECT, INDIRECT, REFERENCE.  It is not for proximity (number of nodes away), it is not to cover all the relationships in a full ontology or graph, and it is not to describe the type of activity that created the asserting WPC.  LineageAssertion does not encompass a full provenance, process history, or activity model.",
+            "pattern": "^srn:<namespace>:reference-data\\/LineageRelationshipType:[^:]+:[0-9]*$"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWorkProductComponent.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWorkProductComponent.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/abstract/AbstractWorkProductComponent.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/data-collection/DataCollection.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/data-collection/DataCollection.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..a1a0368eb20d203ccfcc27f06bd755cc019fa3eb
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/data-collection/DataCollection.1.0.0.json
@@ -0,0 +1,198 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/data-collection/DataCollection.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "DataCollection",
+  "description": "A data collection entity.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:data-collection\\/DataCollection:[^:]+$",
+      "example": "srn:<namespace>:data-collection/DataCollection:38d256ba-2ac2-501d-8a05-4be98c245e0e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:DataCollection:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "data-collection"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "Resources": {
+              "description": "List of Resources",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:(?:work-product(?:-component)?|data-collection)\\/[A-Za-z0-9]+:[^:]+:[0-9]*$"
+              }
+            },
+            "Name": {
+              "type": "string",
+              "description": "Name"
+            },
+            "Description": {
+              "type": "string",
+              "description": "Description"
+            },
+            "CreationDateTime": {
+              "type": "string",
+              "format": "date-time",
+              "description": "Creation DateTime"
+            },
+            "Tags": {
+              "type": "array",
+              "description": "Array of Tag Names",
+              "items": {
+                "type": "string"
+              }
+            },
+            "SubmitterName": {
+              "type": "string",
+              "description": "Submitter Name"
+            },
+            "AuthorIDs": {
+              "type": "array",
+              "description": "Array of Author IDs",
+              "items": {
+                "type": "string"
+              }
+            },
+            "OwnerID": {
+              "description": "ID of the User who owns the Collection",
+              "type": "string"
+            },
+            "WorkSpaceID": {
+              "description": "Collection Workspace",
+              "type": "string",
+              "pattern": "^srn:<namespace>:workspace\\/[A-Za-z0-9]+:[^:]+:[0-9]*$"
+            },
+            "FilterSpecification": {
+              "description": "Collection Filter Specification",
+              "type": "object",
+              "properties": {}
+            }
+          },
+          "required": [
+            "Resources",
+            "Name",
+            "OwnerID"
+          ]
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/data-collection/DataCollection.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/data-collection/DataCollection.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..8d4bc4b7043ddb4c0f8cd8e254b1bedb757eb7ed
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/data-collection/DataCollection.1.0.0.json.res
@@ -0,0 +1,41 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "[]link",
+      "path": "Resources"
+    },
+    {
+      "kind": "string",
+      "path": "Name"
+    },
+    {
+      "kind": "string",
+      "path": "Description"
+    },
+    {
+      "kind": "datetime",
+      "path": "CreationDateTime"
+    },
+    {
+      "kind": "[]string",
+      "path": "Tags"
+    },
+    {
+      "kind": "string",
+      "path": "SubmitterName"
+    },
+    {
+      "kind": "[]string",
+      "path": "AuthorIDs"
+    },
+    {
+      "kind": "string",
+      "path": "OwnerID"
+    },
+    {
+      "kind": "link",
+      "path": "WorkSpaceID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/file/File.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/file/File.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..737a51026038f90f657d2f7aba58a8c35fc107c8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/file/File.1.0.0.json
@@ -0,0 +1,233 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/file/File.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "File",
+  "description": "The generic file entity.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:file\\/File:[^:]+$",
+      "example": "srn:<namespace>:file/File:6039b91f-04a5-5c02-b4ed-413f565e561c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:File:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "file"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "SchemaFormatTypeID": {
+              "type": "string",
+              "description": "Schema Format Type ID",
+              "pattern": "^srn:<namespace>:reference-data\\/SchemaFormatType:[^:]+:[0-9]*$"
+            },
+            "PreLoadFilePath": {
+              "description": "File system path to the data file as it existed before loading to the data platform",
+              "type": "string"
+            },
+            "FileSource": {
+              "description": "URL or file path for the data in the file",
+              "type": "string"
+            },
+            "FileSize": {
+              "description": "Length of file in bytes",
+              "type": "integer"
+            },
+            "EncodingFormatTypeID": {
+              "type": "string",
+              "description": "Encoding Format Type ID",
+              "pattern": "^srn:<namespace>:reference-data\\/EncodingFormatType:[^:]+:[0-9]*$"
+            },
+            "Endian": {
+              "description": "Endianness of binary value.  Enumeration: \"BIG\", \"LITTLE\".  If absent, applications will need to interpret from context indicators.",
+              "type": "string",
+              "enum": [
+                "BIG",
+                "LITTLE"
+              ]
+            },
+            "LossyCompressionIndicator": {
+              "description": "Boolean that warns that an imperfect compression algorithm has been applied to the bulk binary data.  Details of the compression method need to be discovered from the format properties and file access methods.",
+              "type": "boolean"
+            },
+            "CompressionMethodTypeID": {
+              "type": "string",
+              "description": "Name of a compression algorithm applied to the data as stored.",
+              "pattern": "^srn:<namespace>:reference-data\\/CompressionMethodType:[^:]+:[0-9]*$"
+            },
+            "CompressionLevel": {
+              "description": "Number indicating degree of fidelity present in bulk data resulting from compression.  Meaning of number depends on algorithm.",
+              "type": "number"
+            },
+            "Checksum": {
+              "description": "MD5 checksum of file bytes - a 32 byte hexadecimal number",
+              "type": "string",
+              "pattern": "^[0-9a-fA-F]{32}$"
+            },
+            "VectorHeaderMapping": {
+              "description": "Array of objects which define the meaning and format of a tabular structure used in a binary file as a header.  The initial use case is the trace headers of a SEG-Y file.  Note that some of this information may be repeated in the SEG-Y EBCDIC header.",
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "KeyName": {
+                    "description": "SRN of a reference value for a name of a property header such as INLINE, CDPX.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/HeaderKeyName:[^:]+:[0-9]*$"
+                  },
+                  "WordFormat": {
+                    "description": "SRN of a reference value for binary data types, such as INT, UINT, FLOAT, IBM_FLOAT, ASCII, EBCDIC.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/WordFormatType:[^:]+:[0-9]*$"
+                  },
+                  "WordWidth": {
+                    "description": "Size of the word in bytes.",
+                    "type": "integer"
+                  },
+                  "Position": {
+                    "description": "Beginning byte position of header value, 1 indexed.",
+                    "type": "integer"
+                  },
+                  "UoM": {
+                    "description": "SRN to units of measure reference if header standard is not followed.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+                  },
+                  "ScalarIndicator": {
+                    "description": "Enumerated string indicating whether to use the normal scalar field for scaling this field (STANDARD), no scaling (NOSCALE), or override scalar (OVERRIDE).  Default is current STANDARD (such as SEG-Y rev2).",
+                    "type": "string",
+                    "enum": [
+                      "STANDARD",
+                      "NOSCALE",
+                      "OVERRIDE"
+                    ]
+                  },
+                  "ScalarOverride": {
+                    "description": "Scalar value (as defined by standard) when a value present in the header needs to be overwritten for this value.",
+                    "type": "number"
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/file/File.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/file/File.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..b0f71fc6fd26e27eb5dc2362e7667aa1d17c481e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/file/File.1.0.0.json.res
@@ -0,0 +1,45 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "SchemaFormatTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "PreLoadFilePath"
+    },
+    {
+      "kind": "string",
+      "path": "FileSource"
+    },
+    {
+      "kind": "int",
+      "path": "FileSize"
+    },
+    {
+      "kind": "link",
+      "path": "EncodingFormatTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "Endian"
+    },
+    {
+      "kind": "bool",
+      "path": "LossyCompressionIndicator"
+    },
+    {
+      "kind": "link",
+      "path": "CompressionMethodTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "CompressionLevel"
+    },
+    {
+      "kind": "string",
+      "path": "Checksum"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Agreement.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Agreement.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..21fcb511d17f434eb7f1d8f9b4b413ca87a17b4d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Agreement.1.0.0.json
@@ -0,0 +1,221 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Agreement.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Agreement",
+  "description": "A contract or other covenant between Company and counterparties which is relevant to the data universe because it includes terms governing use of data.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Agreement:[^:]+$",
+      "example": "srn:<namespace>:master-data/Agreement:727de5db-ff06-53a8-95af-a24816e1e96a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Agreement:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "AgreementIdentifier": {
+              "description": "Natural unique identifier of an agreement.",
+              "type": "string"
+            },
+            "AgreementName": {
+              "description": "Familiar name of agreement.  May be a code name for highly restricted agreements.",
+              "type": "string"
+            },
+            "AgreementExternalID": {
+              "description": "Unique identifier of agreement in Company contracts system of record.",
+              "type": "string"
+            },
+            "AgreementExternalSystem": {
+              "description": "Name of Company contracts system of record containing authorized version of agreement.",
+              "type": "string"
+            },
+            "AgreementParentID": {
+              "type": "string",
+              "description": "Reference to master agreement or other parental agreement in a hierarchy of related agreements.",
+              "pattern": "^srn:<namespace>:master-data\\/Agreement:[^:]+:[0-9]+$"
+            },
+            "AgreementTypeID": {
+              "type": "string",
+              "description": "General purpose of agreement, such as license, purchase, trade, NDA.",
+              "pattern": "^srn:<namespace>:reference-data\\/AgreementType:[^:]+:[0-9]*$"
+            },
+            "EffectiveDate": {
+              "description": "The Date when the agreement was put in force.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "Counterparties": {
+              "description": "A list of references to legal entities which are party to the agreement in addition to Company.",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+              }
+            },
+            "Terms": {
+              "description": "A list of obligations or allowed activities specified by the agreement that apply to stored resources.  These are translated into rules, which the Entitlement Rulebase enforces.  Each rule should reference the agreement it codifies.",
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "ObligationTypeID": {
+                    "description": "Reference to the general class of obligation, such as nondisclosure, termination of use, non-assignment, export restriction, limitation on derivatives.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/ObligationType:[^:]+:[0-9]*$"
+                  },
+                  "ObligationDescription": {
+                    "description": "Lengthy description of a legal restriction imposed on data governed by the agreement.",
+                    "type": "string"
+                  },
+                  "StartDate": {
+                    "description": "The Date when the obligation becomes enforceable.",
+                    "type": "string",
+                    "format": "date-time"
+                  },
+                  "EndDate": {
+                    "description": "The Date when the obligation no longer needs to be fulfilled.",
+                    "type": "string",
+                    "format": "date-time"
+                  }
+                }
+              }
+            },
+            "RestrictedResources": {
+              "description": "A list of Resources that are governed by the agreement.  Note that different terms may apply to different resources, but that granularity is handled by the Entitlements Rulebase.",
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "ResourceID": {
+                    "description": "Reference to an information Resource which is governed by the agreement.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:[A-Za-z-]+\\/[A-Za-z0-9]+:[^:]+:[0-9]+$"
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Agreement.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Agreement.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..136ed0b7ecb61b50f82b8d8e213db03ab410f8da
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Agreement.1.0.0.json.res
@@ -0,0 +1,37 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "AgreementIdentifier"
+    },
+    {
+      "kind": "string",
+      "path": "AgreementName"
+    },
+    {
+      "kind": "string",
+      "path": "AgreementExternalID"
+    },
+    {
+      "kind": "string",
+      "path": "AgreementExternalSystem"
+    },
+    {
+      "kind": "link",
+      "path": "AgreementParentID"
+    },
+    {
+      "kind": "link",
+      "path": "AgreementTypeID"
+    },
+    {
+      "kind": "datetime",
+      "path": "EffectiveDate"
+    },
+    {
+      "kind": "[]link",
+      "path": "Counterparties"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Basin.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Basin.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c8ee1576229db045085dca08789c8f1d04cc421a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Basin.1.0.0.json
@@ -0,0 +1,173 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Basin.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Basin",
+  "description": "A natural geographic area covering a single depositional system.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Basin:[^:]+$",
+      "example": "srn:<namespace>:master-data/Basin:3a07be3e-2c6b-5854-8548-3e088ecfdf3a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Basin:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "BasinID": {
+              "description": "A system generated unique identifier.",
+              "type": "string"
+            },
+            "BasinName": {
+              "description": "Name of the Basin.",
+              "type": "string"
+            },
+            "BasinNameAlias": {
+              "description": "Alternative names, including historical, by which this basin is/has been known.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractAliasNames.1.0.0.json"
+              }
+            },
+            "BasinDescription": {
+              "description": "A textual description of the Basin.",
+              "type": "string"
+            },
+            "ProspectFlag": {
+              "description": "Indicator showing whether the basin is considered prospective for hydrocarbons",
+              "type": "boolean"
+            },
+            "BasinTypeID": {
+              "description": "High level classification of the geological characteristics of the Basin; for example, Foothills, Active Margin, Passive Margin, etc.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/BasinType:[^:]+:[0-9]*$"
+            },
+            "ParentBasinID": {
+              "description": "Identifier of the parent Basin",
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Basin:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Basin.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Basin.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..0bea809fd6baf6d5596b82f984de41e3c73d3e6d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Basin.1.0.0.json.res
@@ -0,0 +1,29 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "BasinID"
+    },
+    {
+      "kind": "string",
+      "path": "BasinName"
+    },
+    {
+      "kind": "string",
+      "path": "BasinDescription"
+    },
+    {
+      "kind": "bool",
+      "path": "ProspectFlag"
+    },
+    {
+      "kind": "link",
+      "path": "BasinTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "ParentBasinID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Field.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Field.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d6e34fa934326ee237ca5f0b8209c7a7f4e8035b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Field.1.0.0.json
@@ -0,0 +1,169 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Field.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Field",
+  "description": "A mineral deposit that has been exploited for commercial purposes.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Field:[^:]+$",
+      "example": "srn:<namespace>:master-data/Field:19262f16-a56f-5864-a719-d7274c3fdf2f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Field:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "FieldID": {
+              "description": "A system generated unique identifier.",
+              "type": "string"
+            },
+            "FieldName": {
+              "description": "The name of the field, which may or may not coincide with a hydrocarbon field.",
+              "type": "string"
+            },
+            "FieldNameAlias": {
+              "description": "Alternative names, including historical, by which this field entity is/has been known",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractAliasNames.1.0.0.json"
+              }
+            },
+            "FieldDescription": {
+              "description": "A textual description of the field.",
+              "type": "string"
+            },
+            "EffectiveDate": {
+              "description": "The date and time at which a given field becomes effective.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "TerminationDate": {
+              "description": "The date and time at which a given field is no longer in effect.",
+              "type": "string",
+              "format": "date-time"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Field.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Field.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..44c73db170162a8874ce417506fb334236c29874
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Field.1.0.0.json.res
@@ -0,0 +1,25 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "FieldID"
+    },
+    {
+      "kind": "string",
+      "path": "FieldName"
+    },
+    {
+      "kind": "string",
+      "path": "FieldDescription"
+    },
+    {
+      "kind": "datetime",
+      "path": "EffectiveDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "TerminationDate"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/GeoPoliticalEntity.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/GeoPoliticalEntity.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..132c232cff10a36d9912cc02458497d9edaa154d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/GeoPoliticalEntity.1.0.0.json
@@ -0,0 +1,189 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/GeoPoliticalEntity.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "GeoPoliticalEntity",
+  "description": "A named geographical area which is defined and administered by an official entity.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/GeoPoliticalEntity:[^:]+$",
+      "example": "srn:<namespace>:master-data/GeoPoliticalEntity:bb06ff84-035f-5ae6-8ef2-70f9e4f6200f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:GeoPoliticalEntity:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "GeoPoliticalEntityID": {
+              "description": "A system generated unique identifier.",
+              "type": "string"
+            },
+            "TerminationDate": {
+              "description": "The date and time at which a given geopolitical entity is no longer in effect.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DisputedIndicator": {
+              "description": "Indicates whether the GeoPolitical entity has a disputed status.",
+              "type": "boolean"
+            },
+            "EffectiveDate": {
+              "description": "The date and time at which a given geopolitical entity becomes effective.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DaylightSavingTimeStartDate": {
+              "description": "Day light saving start date.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DaylightSavingTimeEndDate": {
+              "description": "Day light saving end date.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "GeoPoliticalEntityTypeID": {
+              "description": "Type of geopolitical entity.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/GeoPoliticalEntityType:[^:]+:[0-9]*$"
+            },
+            "GeoPoliticalEntityName": {
+              "description": "Name of the geopolitical entity.",
+              "type": "string"
+            },
+            "GeoPoliticalEntityNameAlias": {
+              "description": "Alternative names, including historical, by which this geopolitical entity is/has been known.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractAliasNames.1.0.0.json"
+              }
+            },
+            "ParentGeoPoliticalEntityID": {
+              "description": "The identifier of the parent GeoPoliticalEntity, for example the GeoPoliticalEntity Texas has parent ID representing the GeoPoliticalEntity USA",
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/GeoPoliticalEntity:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/GeoPoliticalEntity.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/GeoPoliticalEntity.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..35d4ef3041a36de62db3927eb2c4036a08636148
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/GeoPoliticalEntity.1.0.0.json.res
@@ -0,0 +1,41 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "GeoPoliticalEntityID"
+    },
+    {
+      "kind": "datetime",
+      "path": "TerminationDate"
+    },
+    {
+      "kind": "bool",
+      "path": "DisputedIndicator"
+    },
+    {
+      "kind": "datetime",
+      "path": "EffectiveDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "DaylightSavingTimeStartDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "DaylightSavingTimeEndDate"
+    },
+    {
+      "kind": "link",
+      "path": "GeoPoliticalEntityTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "GeoPoliticalEntityName"
+    },
+    {
+      "kind": "link",
+      "path": "ParentGeoPoliticalEntityID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Organisation.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Organisation.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..49db7ff3b49bf6fac9a09733bca784c2ef01471e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Organisation.1.0.0.json
@@ -0,0 +1,182 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Organisation.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Organisation",
+  "description": "A legal or administrative body, institution, or company, or any of its divisions.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+$",
+      "example": "srn:<namespace>:master-data/Organisation:ac2f2de7-a7ce-5029-8c3e-1a4ded3d4b8a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Organisation:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "OrganisationID": {
+              "description": "A system generated unique identifier.",
+              "type": "string"
+            },
+            "OrganisationName": {
+              "description": "Text which identifies an organisation.",
+              "type": "string"
+            },
+            "OrganisationNameAlias": {
+              "description": "Alternative names, including historical, by which this organisation entity is/has been known.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractAliasNames.1.0.0.json"
+              }
+            },
+            "InternalOrganisationIndicator": {
+              "description": "Indicates if the organisation is internal to the enterprise.",
+              "type": "boolean"
+            },
+            "OrganisationPurposeDescription": {
+              "description": "The reason why the organization was formed.",
+              "type": "string"
+            },
+            "OrganisationDescription": {
+              "description": "Textual description of the nature of the organisation.",
+              "type": "string"
+            },
+            "EffectiveDate": {
+              "description": "The date and time at which a given organisation becomes effective.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "TerminationDate": {
+              "description": "The date and time at which a given organisation is no longer in effect.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "OrganisationTypeID": {
+              "description": "Category the organisational structure fits into. Possible values - Operating Unit, Operating sub Unit, A Business, A Department, Government Agency, etc.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/OrganisationType:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Organisation.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Organisation.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..b5b27cdd9d15407809a182cba9000e4736d75826
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Organisation.1.0.0.json.res
@@ -0,0 +1,37 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "OrganisationID"
+    },
+    {
+      "kind": "string",
+      "path": "OrganisationName"
+    },
+    {
+      "kind": "bool",
+      "path": "InternalOrganisationIndicator"
+    },
+    {
+      "kind": "string",
+      "path": "OrganisationPurposeDescription"
+    },
+    {
+      "kind": "string",
+      "path": "OrganisationDescription"
+    },
+    {
+      "kind": "datetime",
+      "path": "EffectiveDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "TerminationDate"
+    },
+    {
+      "kind": "link",
+      "path": "OrganisationTypeID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Play.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Play.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..214f6595913b2a7be9f1d920f0e50d89e64132e8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Play.1.0.0.json
@@ -0,0 +1,169 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Play.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Play",
+  "description": "A named area that likely contains a combination of certain geological factors making it prospective for mineral exploration. It is often considered to be a set of prospects with a common set of characteristics.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Play:[^:]+$",
+      "example": "srn:<namespace>:master-data/Play:70615a18-dfc2-5240-bc89-06fcbcc6a8db"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Play:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "PlayID": {
+              "description": "System generated unique identifier for a Play.",
+              "type": "string"
+            },
+            "PlayName": {
+              "description": "Preferred name for a Play.",
+              "type": "string"
+            },
+            "PlayNameAlias": {
+              "description": "Set of alternative names for a Play.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractAliasNames.1.0.0.json"
+              }
+            },
+            "PlayDescription": {
+              "description": "Textual description about a Play.",
+              "type": "string"
+            },
+            "EffectiveDate": {
+              "description": "Date when a Play goes into effect.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "TerminationDate": {
+              "description": "Date when a Play is no longer in effect.",
+              "type": "string",
+              "format": "date-time"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Play.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Play.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..6a2dfffede5b158e405afd116d9f0f5af1a9896d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Play.1.0.0.json.res
@@ -0,0 +1,25 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "PlayID"
+    },
+    {
+      "kind": "string",
+      "path": "PlayName"
+    },
+    {
+      "kind": "string",
+      "path": "PlayDescription"
+    },
+    {
+      "kind": "datetime",
+      "path": "EffectiveDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "TerminationDate"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Prospect.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Prospect.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..de075a2d6d6c25faf7d93ae1b8cc9cd49ee9ed02
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Prospect.1.0.0.json
@@ -0,0 +1,169 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Prospect.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Prospect",
+  "description": "A named area or location, likely containing commercial deposits of a mineral, that is a candidate for extraction.  This normally means a candidate drilling location..",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Prospect:[^:]+$",
+      "example": "srn:<namespace>:master-data/Prospect:f20ec12e-65b0-5b4c-b9a9-407034ba69a7"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Prospect:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "ProspectID": {
+              "description": "System generated unique identifier for a Prospect.",
+              "type": "string"
+            },
+            "ProspectName": {
+              "description": "Preferred name for a Prospect, which may or may not coincide with a well or field.",
+              "type": "string"
+            },
+            "ProspectNameAlias": {
+              "description": "Set of alternative names for a Prospect.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractAliasNames.1.0.0.json"
+              }
+            },
+            "ProspectDescription": {
+              "description": "Textual description about a Prospect.",
+              "type": "string"
+            },
+            "EffectiveDate": {
+              "description": "Date when a Prospect goes into effect.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "TerminationDate": {
+              "description": "Date when a Prospect is no longer in effect.",
+              "type": "string",
+              "format": "date-time"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Prospect.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Prospect.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..90456d6caa43879ae3f46718e2071d45f16ac7e0
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Prospect.1.0.0.json.res
@@ -0,0 +1,25 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "ProspectID"
+    },
+    {
+      "kind": "string",
+      "path": "ProspectName"
+    },
+    {
+      "kind": "string",
+      "path": "ProspectDescription"
+    },
+    {
+      "kind": "datetime",
+      "path": "EffectiveDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "TerminationDate"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic2DInterpretationSurvey.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic2DInterpretationSurvey.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c3c351868a4565ed5bbfaab619bd42fd0c8fec50
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic2DInterpretationSurvey.1.0.0.json
@@ -0,0 +1,161 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Seismic2DInterpretationSurvey.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Seismic2DInterpretationSurvey",
+  "description": "A seismic 2D interpretation survey is a collection of logical processed lines and associated trace datasets that represent an important and uniform set for interpretation.  It does not comprise all of the datasets with a common processing geometry, nor all of the lines/datasets from a processing project, nor all of the lines/datasets from an acquisition project, because some are not suitable for interpretation.  An interpretation survey may include 2D lines and datasets from more than one acquisition or processing project.  Consequently, it is not an acquisition survey nor a processing survey.  It is not an application project, which is a collection of all the various objects an application and user care about for some analysis (seismic, wells, etc.).  It inherits properties shared by project entities because it can serve to capture the archiving of a master or authorized project activity.  Interpretation objects (horizons) are hung from an interpretation project to give context and to derive spatial location based on the processing geometry of the associated 2D lines. Trace datasets and seismic horizons are associated through LineageAssertion, although a master collection of trace datasets and horizons are explicitly related through a child relationship property.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Seismic2DInterpretationSurvey:[^:]+$",
+      "example": "srn:<namespace>:master-data/Seismic2DInterpretationSurvey:0da7d639-85f3-5e1f-b4c6-ab5c778747e5"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Seismic2DInterpretationSurvey:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractProject.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "SeismicLineGeometries": {
+              "description": "The set of processing geometries comprising the 2D Interpretation Survey (often referred to as survey in the context of an interpretation application but not a survey in the context of acquisition).",
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "SeismicLineGeometryID": {
+                    "type": "string",
+                    "description": "Reference to a 2D processing geometry associated with a particular seismic line used in interpretation.  Multiple datasets may refer to this geometry and support the interpretation.",
+                    "pattern": "^srn:<namespace>:work-product-component\\/SeismicLineGeometry:[^:]+:[0-9]*$"
+                  },
+                  "SeismicLineName": {
+                    "type": "string",
+                    "description": "The distinct line name used by interpretation objects (horizons) in the Interpretation Project, which may differ from the name used in seismic line geometry.  This allows the line names in the project to be unique within the project even though the names may not be unique across all the projects that use the same line geometries.  The name used in a horizon pick is related to the appropriate geometry through this name."
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic2DInterpretationSurvey.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic2DInterpretationSurvey.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic2DInterpretationSurvey.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic3DInterpretationSurvey.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic3DInterpretationSurvey.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..498f15d9744acc3135aaad0a5846df9ea80fe503
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic3DInterpretationSurvey.1.0.0.json
@@ -0,0 +1,148 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Seismic3DInterpretationSurvey.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Seismic3DInterpretationSurvey",
+  "description": "A seismic 3D interpretation survey is a collection of trace datasets with a common bin grid that are important for interpretation.  It does not comprise all of the datasets with a common bin grid, nor all of the datasets from a processing project, nor all of the datasets from an acquisition project, because some are not suitable for interpretation.  An interpretation survey may include datasets from more than one acquisition or processing project.  Consequently, it is not an acquisition survey nor a processing survey.  It is not an application project, which is a collection of all the various objects an application and user care about for some analysis (seismic, wells, etc.).  It inherits properties shared by project entities because it can serve to capture the archiving of a master or authorized project activity. Interpretation objects (horizons) are hung from an interpretation survey to give context and to derive spatial location based on the common bin grid.  Trace datasets and seismic horizons are associated through LineageAssertion, although a master collection of trace datasets and horizons are explicitly related through a child relationship property.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Seismic3DInterpretationSurvey:[^:]+$",
+      "example": "srn:<namespace>:master-data/Seismic3DInterpretationSurvey:deea1101-cfb6-5da9-a26d-50aa5e726eb7"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Seismic3DInterpretationSurvey:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractProject.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "SeismicBinGridID": {
+              "description": "A reference to the Bin Grid that all the associated traces and horizons are based on.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/SeismicBinGrid:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic3DInterpretationSurvey.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic3DInterpretationSurvey.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..194a6f71e0ac32170d8ca642842b36fd510bfbae
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Seismic3DInterpretationSurvey.1.0.0.json.res
@@ -0,0 +1,9 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "SeismicBinGridID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicAcquisitionProject.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicAcquisitionProject.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..1d7cef2bb27fa25add14a0c18e076c3c661de6af
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicAcquisitionProject.1.0.0.json
@@ -0,0 +1,230 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/SeismicAcquisitionProject.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicAcquisitionProject",
+  "description": "A seismic acquisition project is a type of business project that deploys resources to the field to record seismic data.  It may be referred to as a field survey, acquisition survey, or field program.  It is not the same as the geometry of the deployed equipment (nav), which is a work product component.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/SeismicAcquisitionProject:[^:]+$",
+      "example": "srn:<namespace>:master-data/SeismicAcquisitionProject:569dfc39-1e2a-5ee9-bc17-ad1b019817aa"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicAcquisitionProject:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractProject.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "SeismicGeometryTypeID": {
+              "description": "Reference to the standard values for the general layout of the acquisition.  This is an hierarchical value.  The top value is like 2D, 3D, 4D, Borehole, Passive.  The second value is like NATS, WATS, Brick, Crosswell.  Nodes are separated by forward slash.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicGeometryType:[^:]+:[0-9]*$"
+            },
+            "OperatingEnvironmentID": {
+              "description": "Identifies the setting of acquisition (land, marine, transition zone).",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/OperatingEnvironment:[^:]+:[0-9]*$"
+            },
+            "AreaCalculated": {
+              "description": "The calculated are covered by the survey. This value is calculated during the loading of the survey.",
+              "type": "number"
+            },
+            "AreaNominal": {
+              "description": "The nominal area covered by the survey. This value is usually entered by the end user.",
+              "type": "number"
+            },
+            "ShotpointIncrementDistance": {
+              "type": "number",
+              "description": "Horizontal distance between shotpoint locations",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "EnergySourceTypeID": {
+              "type": "string",
+              "description": "Seismic Source type. E.g.: Airgun, Vibroseis, Dynamite,Watergun",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicEnergySourceType:[^:]+:[0-9]*$"
+            },
+            "SourceArrayCount": {
+              "type": "integer",
+              "description": "Number of energy sources"
+            },
+            "SourceArraySeparationDistance": {
+              "type": "number",
+              "description": "Distance between energy Sources",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "SampleInterval": {
+              "type": "number",
+              "description": "Vertical sampling interval of data at time of acquisition",
+              "x-osdu-frame-of-reference": "UOM:time"
+            },
+            "RecordLength": {
+              "type": "number",
+              "description": "Length of record at time of acquisition",
+              "x-osdu-frame-of-reference": "UOM:time"
+            },
+            "ShootingAzimuthAngle": {
+              "type": "number",
+              "description": "Orientation of plane between source and receivers.",
+              "x-osdu-frame-of-reference": "UOM:plane angle"
+            },
+            "CableCount": {
+              "type": "integer",
+              "description": "Number of receiver arrays (lines)"
+            },
+            "CableLength": {
+              "type": "number",
+              "description": "Total length of receiver array",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "CableSpacingDistance": {
+              "type": "number",
+              "description": "Horizontal distance between receiver arrays",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "MinOffsetDistance": {
+              "type": "number",
+              "description": "Horizontal distance between source and first receiver",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "MaxOffsetDistance": {
+              "type": "number",
+              "description": "Horizontal distance between source and last receiver",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "FoldCount": {
+              "type": "integer",
+              "description": "The number of times a point in the subsurface is sampled.  It measures of the redundancy of common midpoint seismic data"
+            },
+            "VesselNames": {
+              "type": "array",
+              "description": "List of names of the seismic acquisition (source and streamer) vessels used (marine environment only).",
+              "items": {
+                "type": "string"
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicAcquisitionProject.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicAcquisitionProject.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..d716858d3df47b9d0c157528df98a381030e1dc1
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicAcquisitionProject.1.0.0.json.res
@@ -0,0 +1,77 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "SeismicGeometryTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "OperatingEnvironmentID"
+    },
+    {
+      "kind": "double",
+      "path": "AreaCalculated"
+    },
+    {
+      "kind": "double",
+      "path": "AreaNominal"
+    },
+    {
+      "kind": "double",
+      "path": "ShotpointIncrementDistance"
+    },
+    {
+      "kind": "link",
+      "path": "EnergySourceTypeID"
+    },
+    {
+      "kind": "int",
+      "path": "SourceArrayCount"
+    },
+    {
+      "kind": "double",
+      "path": "SourceArraySeparationDistance"
+    },
+    {
+      "kind": "double",
+      "path": "SampleInterval"
+    },
+    {
+      "kind": "double",
+      "path": "RecordLength"
+    },
+    {
+      "kind": "double",
+      "path": "ShootingAzimuthAngle"
+    },
+    {
+      "kind": "int",
+      "path": "CableCount"
+    },
+    {
+      "kind": "double",
+      "path": "CableLength"
+    },
+    {
+      "kind": "double",
+      "path": "CableSpacingDistance"
+    },
+    {
+      "kind": "double",
+      "path": "MinOffsetDistance"
+    },
+    {
+      "kind": "double",
+      "path": "MaxOffsetDistance"
+    },
+    {
+      "kind": "int",
+      "path": "FoldCount"
+    },
+    {
+      "kind": "[]string",
+      "path": "VesselNames"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicProcessingProject.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicProcessingProject.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c5ff9eb87c4207d91e10f52f16e9d31d518db7f4
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicProcessingProject.1.0.0.json
@@ -0,0 +1,151 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/SeismicProcessingProject.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicProcessingProject",
+  "description": "A seismic processing project is a type of business project which manages the creation of processed seismic work products. It is not the same as the geometry of the processed traces (binning or bin grid), which is a work product component, although it typically defines a single binning.  A processing project may merge data from multiple field surveys, so it is not required to be equated to a single field survey.  Original processing and re-processing activities generate separate and independent processing projects.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/SeismicProcessingProject:[^:]+$",
+      "example": "srn:<namespace>:master-data/SeismicProcessingProject:a27c7616-7025-5ba8-b9d7-7f883b26e10a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicProcessingProject:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractProject.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "SeismicAcquisitionProjects": {
+              "description": "List of seismic acquisition projects (surveys) that originated the underlying data used in Processing Project.  Trace data work product components have an explicit child relationship.  Other affiliated objects may use Lineage.",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:master-data\\/SeismicAcquisitionProject:[^:]+:[0-9]*$"
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicProcessingProject.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicProcessingProject.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d5fd3b2a6ab5244426d4e6ec1e1dfee9e4b24f9
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/SeismicProcessingProject.1.0.0.json.res
@@ -0,0 +1,9 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "[]link",
+      "path": "SeismicAcquisitionProjects"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Well.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Well.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..df51e81e70b77f7ca650cf67ff9ca93b584b843a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Well.1.0.0.json
@@ -0,0 +1,164 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Well.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Well",
+  "description": "The origin of a set of wellbores.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Well:[^:]+$",
+      "example": "srn:<namespace>:master-data/Well:9a9a18a6-ebe4-5619-a6e6-339129abcfc3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Well:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractFacility.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "DefaultVerticalMeasurementID": {
+              "description": "The default datum reference point, or zero depth point, used to determine other points vertically in a well.  References an entry in the VerticalMeasurements array.",
+              "type": "string"
+            },
+            "DefaultVerticalCRSID": {
+              "description": "The default vertical coordinate reference system used in the vertical measurements for a well or wellbore if absent from input vertical measurements and there is no other recourse for obtaining a valid CRS.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+            },
+            "VerticalMeasurements": {
+              "description": "List of all depths and elevations pertaining to the well, like, water depth, mud line elevation, etc.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractFacilityVerticalMeasurement.1.0.0.json"
+              }
+            },
+            "InterestTypeID": {
+              "description": "Pre-defined reasons for interest in the well or information about the well.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/WellInterestType:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Well.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Well.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..7922b57ce3572644813cda86d891e69d6a8e5b32
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Well.1.0.0.json.res
@@ -0,0 +1,17 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "DefaultVerticalMeasurementID"
+    },
+    {
+      "kind": "link",
+      "path": "DefaultVerticalCRSID"
+    },
+    {
+      "kind": "link",
+      "path": "InterestTypeID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Wellbore.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Wellbore.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..95073d195d7931daab814e60f88879d05377a39f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Wellbore.1.0.0.json
@@ -0,0 +1,202 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/master-data/Wellbore.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Wellbore",
+  "description": "A hole in the ground extending from a point at the earth's surface to the maximum point of penetration.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+$",
+      "example": "srn:<namespace>:master-data/Wellbore:2adac27b-5d84-5bcd-89f2-93ee709c06d9"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Wellbore:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractFacility.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "WellID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Well:[^:]+:[0-9]*$"
+            },
+            "SequenceNumber": {
+              "description": "A number that indicates the order in which wellbores were drilled.",
+              "type": "integer"
+            },
+            "VerticalMeasurements": {
+              "description": "List of all depths and elevations pertaining to the wellbore, like, plug back measured depth, total measured depth, KB elevation",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractFacilityVerticalMeasurement.1.0.0.json"
+              }
+            },
+            "DrillingReason": {
+              "description": "The history of drilling reasons of the wellbore.",
+              "type": "array",
+              "items": {
+                "$ref": "../abstract/AbstractWellboreDrillingReason.1.0.0.json"
+              }
+            },
+            "KickOffWellbore": {
+              "description": "This is a pointer to the parent wellbore. The wellbore that starts from top has no parent.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+            },
+            "TrajectoryTypeID": {
+              "description": "Describes the predominant shapes the wellbore path can follow if deviated from vertical. Sample Values: Horizontal, Vertical, Directional.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/WellboreTrajectoryType:[^:]+:[0-9]*$"
+            },
+            "DefinitiveTrajectoryID": {
+              "description": "SRN of Wellbore Trajectory which is considered the authoritative or preferred version.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/WellboreTrajectory:[^:]+:[0-9]+$"
+            },
+            "TargetFormation": {
+              "description": "The Formation of interest for which the Wellbore is drilled to interact with. The Wellbore may terminate in a lower formation if the requirement is to drill through the entirety of the target formation, therefore this is not necessarily the Formation at TD.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/GeologicalFormation:[^:]+:[0-9]*$"
+            },
+            "PrimaryMaterialID": {
+              "description": "The primary material injected/produced from the wellbore.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/MaterialType:[^:]+:[0-9]*$"
+            },
+            "DefaultVerticalMeasurementID": {
+              "description": "The default datum reference point, or zero depth point, used to determine other points vertically in a wellbore.  References an entry in the Vertical Measurements array of this wellbore.",
+              "type": "string"
+            },
+            "ProjectedBottomHoleLocation": {
+              "description": "Projected location at total depth.",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            },
+            "GeographicBottomHoleLocation": {
+              "description": "Geographic location at total depth.",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Wellbore.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Wellbore.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..df4cb1cc203d33da66abadbf1cde68b1976b302d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/master-data/Wellbore.1.0.0.json.res
@@ -0,0 +1,37 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "WellID"
+    },
+    {
+      "kind": "int",
+      "path": "SequenceNumber"
+    },
+    {
+      "kind": "link",
+      "path": "KickOffWellbore"
+    },
+    {
+      "kind": "link",
+      "path": "TrajectoryTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "DefinitiveTrajectoryID"
+    },
+    {
+      "kind": "link",
+      "path": "TargetFormation"
+    },
+    {
+      "kind": "link",
+      "path": "PrimaryMaterialID"
+    },
+    {
+      "kind": "string",
+      "path": "DefaultVerticalMeasurementID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActivityType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActivityType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..868ea24177b24c0060574e6be4336a4b7734a0e8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActivityType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ActivityType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ActivityType",
+  "description": "Used to describe the type of activity the data results - such as RunActivity, PullActivity,...",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ActivityType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ActivityType:a9419c8a-857e-56f2-b9e0-11f3b3e583f7"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ActivityType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActivityType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActivityType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActivityType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActualIndicatorType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActualIndicatorType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..81fd729705dda8ce2b3d613a30a5d652619b5173
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActualIndicatorType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ActualIndicatorType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ActualIndicatorType",
+  "description": "Object that describes the actual planning status of an object - such as Tubular Assembly - to indicate if it is planned, concrete, prototyped or any other relevant status.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ActualIndicatorType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ActualIndicatorType:d9978b35-98d5-53cd-a68a-9ca1d9cdc12f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ActualIndicatorType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActualIndicatorType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActualIndicatorType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ActualIndicatorType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AgreementType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AgreementType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f7093ecfc34834042e0be729d674492963bc3f6b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AgreementType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/AgreementType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AgreementType",
+  "description": "Used to describe the type of agreements.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/AgreementType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/AgreementType:5374f59e-d131-59f9-adca-32338d95f12e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:AgreementType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AgreementType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AgreementType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AgreementType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d090c3f7d21f0337e9fb27af527214706d9064ff
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameType.1.0.0.json
@@ -0,0 +1,156 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/AliasNameType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AliasNameType",
+  "description": "Used to describe the type of name aliases.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/AliasNameType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/AliasNameType:0dc493f0-412c-5a93-9332-4620456a618a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:AliasNameType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "AliasNameUniqueValueIndicator": {
+              "description": "Indicates whether the value for alias names of a given alias name type must be universally unique. 'Y' indicates that there is a requirement for unique values. 'N' indicates that there is no requirement for unique values.",
+              "type": "boolean"
+            },
+            "AliasNameTypeClassID": {
+              "description": "This supports the type of AliasName (such as Standard Identifier, System Identifier, and so on). AliasNameTypeClass is intended to be used to categorize alias name types by their general purpose, with values like \"Standard Identifier\", \"System Identifier\", and \"Moniker\". Combined with the AliasNameType, and DefinitionOrganisation one can define a complete context for a particular identifier or name. For example, a standard identifier of type Regulatory ID, from API, is the US standards regulatory ID; a standard identifier of type company ID, from BigOil, is BigOil's Standard ID; System Identifiers would be particular to systems of record, or other systems, and Monikers, things like display names, plot labels, etc.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/AliasNameTypeClass:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:osdu"
+  ],
+  "x-osdu-governance-model": "OPEN"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..a1f508b795eb5bb8c1bc1114c61d850ee57b68d2
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameType.1.0.0.json.res
@@ -0,0 +1,13 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "bool",
+      "path": "AliasNameUniqueValueIndicator"
+    },
+    {
+      "kind": "link",
+      "path": "AliasNameTypeClassID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameTypeClass.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameTypeClass.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6f92601364aefdfd1b8f9d19750a2e8c843b7d6d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameTypeClass.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/AliasNameTypeClass.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AliasNameTypeClass",
+  "description": "Used to describe the type of alias name types. AliasNameTypeClass is intended to be used to categorize alias name types by their general purpose, with values like \"Standard Identifier\", \"System Identifier\", and \"Moniker\". Combined with the AliasNameType, and DefinitionOrganisation one can define a complete context for a particular identifier or name. For example, a standard identifier of type Regulatory ID, from API, is the US standards regulatory ID; a standard identifier of type company ID, from BigOil, is BigOil's Standard ID; System Identifiers would be particular to systems of record, or other systems, and Monikers, things like display names, plot labels, etc.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/AliasNameTypeClass:[^:]+$",
+      "example": "srn:<namespace>:reference-data/AliasNameTypeClass:92baf57d-140a-5743-b999-c08c96e9f74a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:AliasNameTypeClass:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameTypeClass.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameTypeClass.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AliasNameTypeClass.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AnisotropyType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AnisotropyType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..3e634a6bab9c71a769cc16d33e5c8c7e45c8e34e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AnisotropyType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/AnisotropyType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AnisotropyType",
+  "description": "Describes the anisotropy model assumed and solved for such as Isotropic, VTI, HTI, TTI, Orthorhombic.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/AnisotropyType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/AnisotropyType:71d23305-35ca-5f15-8920-8b5b5422c71d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:AnisotropyType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AnisotropyType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AnisotropyType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AnisotropyType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtefactRole.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtefactRole.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b11927f3ae6e33602d4946e20d55eadcfddc076b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtefactRole.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ArtefactRole.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ArtefactRole",
+  "description": "Used to describe the type of artefact roles.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ArtefactRole:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ArtefactRole:fcc52d1d-609f-5d2b-b428-18303e2e8a88"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ArtefactRole:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtefactRole.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtefactRole.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtefactRole.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtificialLiftType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtificialLiftType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..030220c869bc71ba8f67bb3570a571cf2ffd6630
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtificialLiftType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ArtificialLiftType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ArtificialLiftType",
+  "description": "Used to reflect the type of Artificial Lift the data went out - 'Surface Pump', 'Submersible Pump',...",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ArtificialLiftType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ArtificialLiftType:edb68dd5-0552-5b27-9bac-65883a75123b"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ArtificialLiftType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtificialLiftType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtificialLiftType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ArtificialLiftType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AzimuthReferenceType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AzimuthReferenceType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..50533bf972625af08b020fd0f6c1eed9c0aa1046
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AzimuthReferenceType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/AzimuthReferenceType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "AzimuthReferenceType",
+  "description": "Used to describe the type of azimuth references.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/AzimuthReferenceType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/AzimuthReferenceType:482e789d-021e-5bfa-bf0f-689ab0d83c6d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:AzimuthReferenceType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AzimuthReferenceType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AzimuthReferenceType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/AzimuthReferenceType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BasinType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BasinType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..084d7449ddbccdeb5f953988f65145e92438cdb7
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BasinType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/BasinType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "BasinType",
+  "description": "Used to describe the type of basins.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/BasinType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/BasinType:1d656daa-8aae-55bd-8c5e-aff5d11f4231"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:BasinType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BasinType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BasinType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BasinType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BinGridDefinitionMethodType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BinGridDefinitionMethodType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..1fd6734165256bfe5ed0cd18153d024688357e28
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BinGridDefinitionMethodType.1.0.0.json
@@ -0,0 +1,142 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/BinGridDefinitionMethodType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "BinGridDefinitionMethodType",
+  "description": "Mathematical model describing generation of nodes for a regular grid.  Either 4 corner points using perspective transformation or P6 for origin and direction using affine operation.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/BinGridDefinitionMethodType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/BinGridDefinitionMethodType:5446f048-465a-5fc4-b652-eed479084e61"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:BinGridDefinitionMethodType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:osdu"
+  ],
+  "x-osdu-governance-model": "FIXED"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BinGridDefinitionMethodType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BinGridDefinitionMethodType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/BinGridDefinitionMethodType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CalculationMethodType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CalculationMethodType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b2af56e6d4116042a08cd55f2778db3a64dee317
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CalculationMethodType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/CalculationMethodType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "CalculationMethodType",
+  "description": "Used to describe the type of calculation methods.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CalculationMethodType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/CalculationMethodType:7d9a315a-66ef-5e5b-a0af-06b2691ad249"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:CalculationMethodType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CalculationMethodType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CalculationMethodType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CalculationMethodType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CompressionMethodType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CompressionMethodType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ee3e858ce23f7954bd4239e761de3f383522cd1d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CompressionMethodType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/CompressionMethodType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "CompressionMethodType",
+  "description": "The reference type for compression method.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CompressionMethodType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/CompressionMethodType:cbd5676b-e8d1-5f6e-af5d-365d94822583"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:CompressionMethodType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CompressionMethodType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CompressionMethodType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CompressionMethodType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ContractorType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ContractorType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..862e69c9358960d88ece2dc055a8e7bde339fdc4
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ContractorType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ContractorType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ContractorType",
+  "description": "The role of a contractor providing services, such as Recording, Line Clearing, Positioning, Data Processing.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ContractorType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ContractorType:4ad7af55-6a83-5ac0-b0fa-1b6cd484389e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ContractorType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ContractorType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ContractorType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ContractorType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateReferenceSystem.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateReferenceSystem.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..551bb5fca1ecbe79a7719b4497534c0dc0fabc97
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateReferenceSystem.1.0.0.json
@@ -0,0 +1,811 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/CoordinateReferenceSystem.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "CoordinateReferenceSystem",
+  "description": "Used to describe any kind of coordinate reference system. The type is identified by CoordinateReferenceSystemType (used by the system) and Kind facing the end-user. The Code is according to OSDU standard a string, the EPSG standard number is available via the CodeAsNumber property. Description carries EPSG's Remark. AttributionAuthority carries EPSG's DataSource. AliasNames carry the EPSG Alias contents.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+$",
+      "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:c0e20b5e-86fa-55a4-96e0-e2c3ba7e717f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:CoordinateReferenceSystem:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "CodeSpace": {
+              "title": "CRS CodeSpace",
+              "description": "The namespace or authority name governing this CRS definition, e.g. EPSG for contents from the EPSG Geodetic Parameter Dataset.",
+              "type": "string"
+            },
+            "InformationSource": {
+              "title": "CRS InformationSource",
+              "description": "The InformationSource providing the CRS definition if different from AttributionAuthority.",
+              "type": "string"
+            },
+            "RevisionDate": {
+              "title": "CRS Revision Date",
+              "description": "The revision date of this CRS.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "Kind": {
+              "title": "CRS Kind",
+              "description": "The kind of CRS, e.g. bound, compound, derived, engineering, geocentric, geographic 2D, geographic 3D, projected, vertical.",
+              "type": "string"
+            },
+            "CodeAsNumber": {
+              "title": "Code (int32)",
+              "type": "integer",
+              "format": "int32",
+              "description": "The code as number as opposed to the Code defined as a string."
+            },
+            "CoordinateReferenceSystemType": {
+              "type": "string",
+              "title": "CRS Type",
+              "description": "The type of coordinate reference system. This is an enumeration of concrete sub-types.",
+              "enum": [
+                "BoundCRS",
+                "CompoundCRS",
+                "DerivedCRS",
+                "EngineeringCRS",
+                "GeodeticCRS",
+                "ProjectedCRS",
+                "VerticalCRS"
+              ]
+            },
+            "HorizontalCRS": {
+              "title": "Horizontal CRS",
+              "description": "The horizontal CRS reference of a CompoundCRS. Only populated for CoordinateReferenceSystemType==CompoundCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Horizontal CRS Authority Code",
+                  "description": "The HorizontalCrs authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Horizontal CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Horizontal CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 32615
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Horizontal CRS Name.",
+                  "type": "string",
+                  "description": "The name of the HorizontalCrs.",
+                  "example": "WGS 84 / UTM zone 15N"
+                },
+                "HorizontalCRSID": {
+                  "title": "Horizontal CRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the HorizontalCrs.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:ProjectedCRS.EPSG.32615:"
+                }
+              }
+            },
+            "VerticalCRS": {
+              "title": "Vertical CRS",
+              "description": "The vertical CRS reference of a CompoundCRS. Only populated for CoordinateReferenceSystemType==CompoundCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Vertical CRS Authority Code",
+                  "description": "The VerticalCrs authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Vertical CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Vertical CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 5714
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Vertical CRS Name.",
+                  "type": "string",
+                  "description": "The name of the VerticalCrs.",
+                  "example": "Mean Sea Level"
+                },
+                "VerticalCRSID": {
+                  "title": "Vertical CRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the VerticalCrs.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:VerticalCRS.EPSG.5714:"
+                }
+              }
+            },
+            "Transformation": {
+              "title": "Bound Transformation",
+              "description": "The Transformation bound to the BaseCRS in a BoundCRS. Only populated for CoordinateReferenceSystemType==BoundCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Transformation Authority Code",
+                  "description": "The Transformation authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Transformation Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Transformation Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 1613
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Transformation Name.",
+                  "type": "string",
+                  "description": "The name of the Transformation.",
+                  "example": "ED50 to WGS 84 (24)"
+                },
+                "TransformationID": {
+                  "title": "BoundCRS Transformation Reference",
+                  "type": "string",
+                  "description": "The relationship to the bound transformation.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateTransformation:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateTransformation:Transformation.EPSG.1613:"
+                }
+              }
+            },
+            "Datum": {
+              "title": "Datum",
+              "description": "The datum of a this CRS. Only populated for CoordinateReferenceSystemType in [GeographicCRS, VerticalCRS, EngineeringCRS].",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Datum Authority Code",
+                  "description": "The Datum authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Datum Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Datum Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 6230
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Datum Name.",
+                  "type": "string",
+                  "description": "The name of the Datum."
+                }
+              }
+            },
+            "DatumEnsemble": {
+              "title": "DatumEnsemble",
+              "description": "The DatumEnsemble for the CRS's datum. Only populated for GeographicCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "DatumEnsemble Authority Code",
+                  "description": "The DatumEnsemble authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "DatumEnsemble Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "DatumEnsemble Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 6326
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "DatumEnsemble Name.",
+                  "type": "string",
+                  "description": "The name of the DatumEnsemble.",
+                  "example": "World Geodetic System 1984 ensemble"
+                }
+              }
+            },
+            "Projection": {
+              "title": "Projection",
+              "description": "The projection operation of a ProjectedCRS. Only populated for CoordinateReferenceSystemType==ProjectedCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Projection Operation Authority Code",
+                  "description": "The DatumEnsemble authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Projection Operation Authority",
+                      "description": "The projection operation  authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Projection Operation Code",
+                      "description": "The projection operation code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 16031
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Projection Name.",
+                  "type": "string",
+                  "description": "The name of the projection.",
+                  "example": "UTM zone 31N"
+                }
+              }
+            },
+            "BaseCRS": {
+              "title": "Base CRS",
+              "description": "The base geographic CRS of this projected CRS. Only populated for CoordinateReferenceSystemType==ProjectedCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Base CRS Authority Code",
+                  "description": "The BaseCRS authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Base CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Base CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 4230
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Base CRS Name.",
+                  "type": "string",
+                  "description": "The name of the base CRS.",
+                  "example": "ED50"
+                },
+                "BaseCRSID": {
+                  "title": "BaseCRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the BaseCRS.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:GeodeticCRS.EPSG.4230:"
+                }
+              }
+            },
+            "SourceCRS": {
+              "title": "Source CRS",
+              "description": "The source CRS of a BoundCRS. Only populated for CoordinateReferenceSystemType==BoundCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Source CRS Authority Code",
+                  "description": "The SourceCRS authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Source CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Source CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 23031
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Source CRS Name.",
+                  "type": "string",
+                  "description": "The name of the Source CRS.",
+                  "example": "ED50 / UTM zone 31N"
+                },
+                "SourceCRSID": {
+                  "title": "Source CRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the source CoordinateRefSystem.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:ProjectedCRS.EPSG.23031:"
+                }
+              }
+            },
+            "TargetCRS": {
+              "title": "Target CRS",
+              "description": "The target CRS of this bound CRS. Only populated for CoordinateReferenceSystemType==BoundCRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Target CRS Authority Code",
+                  "description": "The TargetCRS authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Target CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Target CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 4326
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Target CRS Name.",
+                  "type": "string",
+                  "description": "The name of the base CRS.",
+                  "example": "WGS 84"
+                },
+                "TargetCRSID": {
+                  "title": "Target CRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the TargetCRS.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:GeodeticCRS.EPSG.4326:"
+                }
+              }
+            },
+            "Usages": {
+              "title": "Usages",
+              "description": "Contextual information about scope and extent/area of use.",
+              "type": "array",
+              "items": {
+                "title": "Usage",
+                "description": "Scope and extent information about the described CRS.",
+                "type": "object",
+                "properties": {
+                  "AuthorityCode": {
+                    "title": "Usage Authority Code",
+                    "description": "The Usage authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                    "type": "object",
+                    "properties": {
+                      "Authority": {
+                        "title": "Usage Authority",
+                        "description": "The authority governing the 'Code'.",
+                        "type": "string",
+                        "example": "EPSG"
+                      },
+                      "Code": {
+                        "title": "Usage Code",
+                        "description": "The code assigned by the 'Authority'.",
+                        "type": "integer",
+                        "format": "int32",
+                        "example": 6394
+                      }
+                    }
+                  },
+                  "Name": {
+                    "title": "Usage Name.",
+                    "type": "string",
+                    "description": "The name of the Usage.",
+                    "example": "Europe - 0\u00b0E to 6\u00b0E and ED50 by country"
+                  },
+                  "Extent": {
+                    "title": "Extent",
+                    "description": "Extent or area of use information.",
+                    "type": "object",
+                    "properties": {
+                      "AuthorityCode": {
+                        "title": "Extent Authority Code",
+                        "description": "The Extent authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                        "type": "object",
+                        "properties": {
+                          "Authority": {
+                            "title": "Extent Authority",
+                            "description": "The authority governing the 'Code'.",
+                            "type": "string",
+                            "example": "EPSG"
+                          },
+                          "Code": {
+                            "title": "Extent Code",
+                            "description": "The code assigned by the 'Authority'.",
+                            "type": "integer",
+                            "format": "int32",
+                            "example": 1634
+                          }
+                        }
+                      },
+                      "Name": {
+                        "title": "Extent Name.",
+                        "type": "string",
+                        "description": "The name of the Extent.",
+                        "example": "Europe - 0\u00b0E to 6\u00b0E and ED50 by country"
+                      },
+                      "BoundingBoxSouthBoundLatitude": {
+                        "title": "South Latitude",
+                        "description": "Southern latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 38.56
+                      },
+                      "BoundingBoxWestBoundLongitude": {
+                        "title": "West Longitude",
+                        "description": "Western latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 0.0
+                      },
+                      "BoundingBoxEastBoundLongitude": {
+                        "title": "East Longitude",
+                        "description": "Eastern latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 6.01
+                      },
+                      "BoundingBoxNorthBoundLatitude": {
+                        "title": "North Latitude",
+                        "description": "Northern latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 82.41
+                      }
+                    }
+                  },
+                  "Scope": {
+                    "title": "Scope",
+                    "description": "",
+                    "type": "object",
+                    "properties": {
+                      "AuthorityCode": {
+                        "title": "Scope Authority Code",
+                        "description": "The Scope authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                        "type": "object",
+                        "properties": {
+                          "Authority": {
+                            "title": "Scope Authority",
+                            "description": "The authority governing the 'Code'.",
+                            "type": "string",
+                            "example": "EPSG"
+                          },
+                          "Code": {
+                            "title": "Scope Code",
+                            "description": "The code assigned by the 'Authority'.",
+                            "type": "integer",
+                            "format": "int32",
+                            "example": 1142
+                          }
+                        }
+                      },
+                      "Name": {
+                        "title": "Scope Name.",
+                        "type": "string",
+                        "description": "The name of the Scope.",
+                        "example": "Engineering survey, topographic mapping."
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "CoordinateSystem": {
+              "title": "Coordinate System",
+              "description": "The coordinate system defining the dimension and individual axes used by the CRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "CoordinateSystem Authority Code",
+                  "description": "The CoordSys authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "CoordinateSystem Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "CoordinateSystem Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 4400
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Coordinate System Name.",
+                  "type": "string",
+                  "description": "The name of the Coordinate System.",
+                  "example": "Cartesian 2D CS. Axes: easting, northing (E,N). Orientations: east, north. UoM: m."
+                }
+              }
+            },
+            "PreferredUsage": {
+              "title": "Preferred Usage",
+              "description": "Scope and extent information about the described CRS.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Preferred Usage Authority Code",
+                  "description": "The Usage authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Preferred Usage Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Preferred Usage Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 6394
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Preferred Usage Name.",
+                  "type": "string",
+                  "description": "The name of the Usage.",
+                  "example": "Europe - 0\u00b0E to 6\u00b0E and ED50 by country"
+                },
+                "Extent": {
+                  "title": "Preferred Extent",
+                  "description": "Extent or area of use information.",
+                  "type": "object",
+                  "properties": {
+                    "AuthorityCode": {
+                      "title": "Preferred Extent Authority Code",
+                      "description": "The Extent authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                      "type": "object",
+                      "properties": {
+                        "Authority": {
+                          "title": "Preferred Extent Authority",
+                          "description": "The authority governing the 'Code'.",
+                          "type": "string",
+                          "example": "EPSG"
+                        },
+                        "Code": {
+                          "title": "Preferred Extent Code",
+                          "description": "The code assigned by the 'Authority'.",
+                          "type": "integer",
+                          "format": "int32",
+                          "example": 1634
+                        }
+                      }
+                    },
+                    "Name": {
+                      "title": "Preferred Extent Name.",
+                      "type": "string",
+                      "description": "The name of the Extent.",
+                      "example": "Europe - 0\u00b0E to 6\u00b0E and ED50 by country"
+                    },
+                    "BoundingBoxSouthBoundLatitude": {
+                      "title": "Preferred South Latitude",
+                      "description": "Southern latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 38.56
+                    },
+                    "BoundingBoxWestBoundLongitude": {
+                      "title": "Preferred West Longitude",
+                      "description": "Western latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 0.0
+                    },
+                    "BoundingBoxEastBoundLongitude": {
+                      "title": "Preferred East Longitude",
+                      "description": "Eastern latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 6.01
+                    },
+                    "BoundingBoxNorthBoundLatitude": {
+                      "title": "Preferred North Latitude",
+                      "description": "Northern latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 82.41
+                    }
+                  }
+                },
+                "Scope": {
+                  "title": "Preferred Scope",
+                  "description": "",
+                  "type": "object",
+                  "properties": {
+                    "AuthorityCode": {
+                      "title": "Preferred Scope Authority Code",
+                      "description": "The Scope authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                      "type": "object",
+                      "properties": {
+                        "Authority": {
+                          "title": "Preferred Scope Authority",
+                          "description": "The authority governing the 'Code'.",
+                          "type": "string",
+                          "example": "EPSG"
+                        },
+                        "Code": {
+                          "title": "Preferred Scope Code",
+                          "description": "The code assigned by the 'Authority'.",
+                          "type": "integer",
+                          "format": "int32",
+                          "example": 1142
+                        }
+                      }
+                    },
+                    "Name": {
+                      "title": "Preferred Scope Name.",
+                      "type": "string",
+                      "description": "The name of the Scope.",
+                      "example": "Engineering survey, topographic mapping."
+                    }
+                  }
+                }
+              }
+            },
+            "PersistableReference": {
+              "title": "Persistable Reference",
+              "description": "Used for export and actionable instructions to a conversion/transformation engine. It is initially based on Esri well-known text (WKT). Eventually, when Esri WKT are convertible into ISO WKT and vice versa, the definition can be replaced by https://proj.org/schemas/v0.2/projjson.schema.json.",
+              "type": "string"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateReferenceSystem.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateReferenceSystem.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..454ace062d3bddf131aac85752588263e5e57714
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateReferenceSystem.1.0.0.json.res
@@ -0,0 +1,229 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "CodeSpace"
+    },
+    {
+      "kind": "string",
+      "path": "InformationSource"
+    },
+    {
+      "kind": "datetime",
+      "path": "RevisionDate"
+    },
+    {
+      "kind": "string",
+      "path": "Kind"
+    },
+    {
+      "kind": "int",
+      "path": "CodeAsNumber"
+    },
+    {
+      "kind": "string",
+      "path": "CoordinateReferenceSystemType"
+    },
+    {
+      "kind": "string",
+      "path": "HorizontalCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "HorizontalCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "HorizontalCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "HorizontalCRS.HorizontalCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "VerticalCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "VerticalCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "VerticalCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "VerticalCRS.VerticalCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "Transformation.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "Transformation.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "Transformation.Name"
+    },
+    {
+      "kind": "link",
+      "path": "Transformation.TransformationID"
+    },
+    {
+      "kind": "string",
+      "path": "Datum.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "Datum.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "Datum.Name"
+    },
+    {
+      "kind": "string",
+      "path": "DatumEnsemble.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "DatumEnsemble.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "DatumEnsemble.Name"
+    },
+    {
+      "kind": "string",
+      "path": "Projection.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "Projection.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "Projection.Name"
+    },
+    {
+      "kind": "string",
+      "path": "BaseCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "BaseCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "BaseCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "BaseCRS.BaseCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "SourceCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "SourceCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "SourceCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "SourceCRS.SourceCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "TargetCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "TargetCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "TargetCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "TargetCRS.TargetCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "CoordinateSystem.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "CoordinateSystem.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "CoordinateSystem.Name"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "PreferredUsage.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Name"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Extent.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "PreferredUsage.Extent.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Extent.Name"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxSouthBoundLatitude"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxWestBoundLongitude"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxEastBoundLongitude"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxNorthBoundLatitude"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Scope.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "PreferredUsage.Scope.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Scope.Name"
+    },
+    {
+      "kind": "string",
+      "path": "PersistableReference"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateTransformation.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateTransformation.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..2aae01c274c6d8cee8dc9e933fe3ef0606517f4e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateTransformation.1.0.0.json
@@ -0,0 +1,626 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/CoordinateTransformation.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "CoordinateTransformation",
+  "description": "Used to describe a coordinate operation between two geodetic CRSs. The type is identified by CoordinateTransformationType (used by the system) and Kind facing the end-user. The Code is according to OSDU standard a string, the EPSG standard number is available via the CodeAsNumber property. Description carries EPSG's Remark. AttributionAuthority carries EPSG's DataSource. AliasNames carry the EPSG Alias contents.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CoordinateTransformation:[^:]+$",
+      "example": "srn:<namespace>:reference-data/CoordinateTransformation:c0f20e5e-f168-5e09-ac74-47a1e5185228"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:CoordinateTransformation:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "CoordTfmVersion": {
+              "title": "Transformation Version Name",
+              "description": "The name of the transformation version or variant",
+              "type": "string",
+              "example": "EPSG-Nor S62 2001"
+            },
+            "Variant": {
+              "title": "Variant Number",
+              "description": "The Transformation variant number.",
+              "type": "integer",
+              "example": 24
+            },
+            "Accuracy": {
+              "title": "Transformation Accuracy",
+              "description": "The accuracy of the transformation expressed in meters.",
+              "type": "number",
+              "example": 1.0
+            },
+            "Method": {
+              "title": "Transformation Method",
+              "description": "The Transformation method; \"Concatenated\" for CoordinateTransformationType == ConcatenatedOperation; EPSG method code and name for CoordinateTransformationType == Transformation.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Method Authority Code",
+                  "description": "The method authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Method Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Method Code",
+                      "description": "EPSG Method code in case of CoordinateTransformationType == Transformation",
+                      "type": "integer",
+                      "example": 9606
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Transformation Method Name",
+                  "description": "The Transformation method name; \"Concatenated\" for CoordinateTransformationType == ConcatenatedOperation; EPSG method code and name for CoordinateTransformationType == Transformation.",
+                  "type": "string",
+                  "example": "Position Vector transformation (geog2D domain)"
+                }
+              }
+            },
+            "CodeSpace": {
+              "title": "Transformation CodeSpace",
+              "description": "The namespace or authority name governing this Transformation definition, e.g. EPSG for contents from the EPSG Geodetic Parameter Dataset.",
+              "type": "string"
+            },
+            "ConcatenatedTransformations": {
+              "title": "Concatenated Transformation List",
+              "description": "Only populated for CoordinateTransformationType == ConcatenatedOperation: the ordered list of chained transformations.",
+              "type": "array",
+              "items": {
+                "title": "ConcatenatedTransformation",
+                "type": "object",
+                "properties": {
+                  "AuthorityCode": {
+                    "title": "Concatenated Transformation Authority Code",
+                    "description": "The Transformation authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                    "type": "object",
+                    "properties": {
+                      "Authority": {
+                        "title": "Transformation Authority",
+                        "description": "The transformation authority governing the 'Code'.",
+                        "type": "string",
+                        "example": "EPSG"
+                      },
+                      "Code": {
+                        "title": "Transformation Code",
+                        "description": "The transformation code assigned by the 'Authority'.",
+                        "type": "integer",
+                        "format": "int32",
+                        "example": 1613
+                      }
+                    }
+                  },
+                  "Name": {
+                    "title": "Transformation Name",
+                    "description": "The Transformation name as part of this concatenated operation list.",
+                    "type": "string",
+                    "example": "Position Vector transformation (geog2D domain)"
+                  },
+                  "TransformationID": {
+                    "title": "Transformation Reference",
+                    "description": "The relationship to the single Transformation item in the list of concatenated transformations.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/CoordinateTransformation:[^:]+:[0-9]*$",
+                    "example": "srn:<namespace>:reference-data/CoordinateTransformation:Transformation_EPSG_1613:"
+                  }
+                }
+              }
+            },
+            "InformationSource": {
+              "title": "Transformation InformationSource",
+              "description": "The InformationSource providing the Transformation definition if different from AttributionAuthority.",
+              "type": "string",
+              "example": "EPSG Guidance Note #10"
+            },
+            "RevisionDate": {
+              "title": "Transformation Revision Date",
+              "description": "The revision date of this Transformation.",
+              "type": "string",
+              "format": "date-time",
+              "example": "2020-03-14T00:00:00Z"
+            },
+            "Kind": {
+              "title": "Transformation Kind",
+              "description": "The kind of Transformation, e.g. Transformation, Concatenated Transformation.",
+              "type": "string",
+              "example": "Transformation"
+            },
+            "CodeAsNumber": {
+              "title": "Code (int32)",
+              "type": "integer",
+              "format": "int32",
+              "description": "The code as number as opposed to the Code defined as a string.",
+              "example": 1613
+            },
+            "CoordinateTransformationType": {
+              "type": "string",
+              "title": "CRS Type",
+              "description": "The type of coordinate transformation. This is an enumeration of concrete sub-types. Transformation is a single operation between a source and a target geodetic CRS; ConcatenatedOperation is a chained set of Transformations.",
+              "enum": [
+                "Transformation",
+                "ConcatenatedOperation"
+              ]
+            },
+            "SourceCRS": {
+              "title": "Source CRS",
+              "description": "The source CRS of the Transformation.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Source CRS Authority Code",
+                  "description": "The source CRS authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Source CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Source CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 4230
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Source CRS Name.",
+                  "type": "string",
+                  "description": "The name of the source CRS.",
+                  "example": "ED50"
+                },
+                "SourceCRSID": {
+                  "title": "Source CRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the source CoordinateReferenceSystem.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:ProjectedCrs_EPSG_4230:"
+                }
+              }
+            },
+            "TargetCRS": {
+              "title": "Target CRS",
+              "description": "The target CRS of this Transformation.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Target CRS Authority Code",
+                  "description": "The target CRS authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Target CRS Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Target CRS Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 4326
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Target CRS Name.",
+                  "type": "string",
+                  "description": "The name of the target CRS.",
+                  "example": "WGS 84"
+                },
+                "TargetCRSID": {
+                  "title": "Target CRS Reference",
+                  "type": "string",
+                  "description": "The relationship to the target CRS.",
+                  "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+                  "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:GeodeticCrs_EPSG_4326:"
+                }
+              }
+            },
+            "Usages": {
+              "title": "Usages",
+              "description": "Contextual information about scope and extent/area of use.",
+              "type": "array",
+              "items": {
+                "title": "Usage",
+                "description": "Scope and extent information about the described transformation.",
+                "type": "object",
+                "properties": {
+                  "AuthorityCode": {
+                    "title": "Usage Authority Code",
+                    "description": "The Usage authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                    "type": "object",
+                    "properties": {
+                      "Authority": {
+                        "title": "Usage Authority",
+                        "description": "The authority governing the 'Code'.",
+                        "type": "string",
+                        "example": "EPSG"
+                      },
+                      "Code": {
+                        "title": "Usage Code",
+                        "description": "The code assigned by the 'Authority'.",
+                        "type": "integer",
+                        "format": "int32",
+                        "example": 6394
+                      }
+                    }
+                  },
+                  "Name": {
+                    "title": "Usage Name.",
+                    "type": "string",
+                    "description": "The name of the Usage.",
+                    "example": "Europe - 0\u00b0E to 6\u00b0E and ED50 by country"
+                  },
+                  "Extent": {
+                    "title": "Extent",
+                    "description": "Extent or area of use information.",
+                    "type": "object",
+                    "properties": {
+                      "AuthorityCode": {
+                        "title": "Extent Authority Code",
+                        "description": "The Extent authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                        "type": "object",
+                        "properties": {
+                          "Authority": {
+                            "title": "Extent Authority",
+                            "description": "The authority governing the 'Code'.",
+                            "type": "string",
+                            "example": "EPSG"
+                          },
+                          "Code": {
+                            "title": "Extent Code",
+                            "description": "The code assigned by the 'Authority'.",
+                            "type": "integer",
+                            "format": "int32",
+                            "example": 2334
+                          }
+                        }
+                      },
+                      "Name": {
+                        "title": "Extent Name.",
+                        "type": "string",
+                        "description": "The name of the Extent.",
+                        "example": "Norway - North Sea - offshore south of 62\u00b0N"
+                      },
+                      "Description": {
+                        "title": "Extent Description.",
+                        "type": "string",
+                        "description": "The description of the Extent.",
+                        "example": "Norway - North Sea - offshore south of 62\u00b0N"
+                      },
+                      "BoundingBoxSouthBoundLatitude": {
+                        "title": "South Latitude",
+                        "description": "Southern latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 56.08
+                      },
+                      "BoundingBoxWestBoundLongitude": {
+                        "title": "West Longitude",
+                        "description": "Western latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 1.37
+                      },
+                      "BoundingBoxEastBoundLongitude": {
+                        "title": "East Longitude",
+                        "description": "Eastern latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 11.14
+                      },
+                      "BoundingBoxNorthBoundLatitude": {
+                        "title": "North Latitude",
+                        "description": "Northern latitude limit of the bounding box in degrees based on WGS 84",
+                        "type": "number",
+                        "example": 62.0
+                      }
+                    }
+                  },
+                  "Scope": {
+                    "title": "Scope",
+                    "description": "",
+                    "type": "object",
+                    "properties": {
+                      "AuthorityCode": {
+                        "title": "Scope Authority Code",
+                        "description": "The Scope authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                        "type": "object",
+                        "properties": {
+                          "Authority": {
+                            "title": "Scope Authority",
+                            "description": "The authority governing the 'Code'.",
+                            "type": "string",
+                            "example": "EPSG"
+                          },
+                          "Code": {
+                            "title": "Scope Code",
+                            "description": "The code assigned by the 'Authority'.",
+                            "type": "integer",
+                            "format": "int32",
+                            "example": 1253
+                          }
+                        }
+                      },
+                      "Name": {
+                        "title": "Scope Name.",
+                        "type": "string",
+                        "description": "The name of the Scope.",
+                        "example": "Approximation at the 1m level."
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "PreferredUsage": {
+              "title": "Preferred Usage",
+              "description": "Scope and extent information about the described transformation.",
+              "type": "object",
+              "properties": {
+                "AuthorityCode": {
+                  "title": "Preferred Usage Authority Code",
+                  "description": "The Preferred Usage authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                  "type": "object",
+                  "properties": {
+                    "Authority": {
+                      "title": "Preferred Usage Authority",
+                      "description": "The authority governing the 'Code'.",
+                      "type": "string",
+                      "example": "EPSG"
+                    },
+                    "Code": {
+                      "title": "Preferred Usage Code",
+                      "description": "The code assigned by the 'Authority'.",
+                      "type": "integer",
+                      "format": "int32",
+                      "example": 6394
+                    }
+                  }
+                },
+                "Name": {
+                  "title": "Preferred Usage Name.",
+                  "type": "string",
+                  "description": "The name of the Usage.",
+                  "example": "Europe - 0\u00b0E to 6\u00b0E and ED50 by country"
+                },
+                "Extent": {
+                  "title": "Preferred Extent",
+                  "description": "Extent or area of use information.",
+                  "type": "object",
+                  "properties": {
+                    "AuthorityCode": {
+                      "title": "Preferred Extent Authority Code",
+                      "description": "The Preferred Extent authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                      "type": "object",
+                      "properties": {
+                        "Authority": {
+                          "title": "Preferred Extent Authority",
+                          "description": "The authority governing the 'Code'.",
+                          "type": "string",
+                          "example": "EPSG"
+                        },
+                        "Code": {
+                          "title": "Preferred Extent Code",
+                          "description": "The code assigned by the 'Authority'.",
+                          "type": "integer",
+                          "format": "int32",
+                          "example": 2334
+                        }
+                      }
+                    },
+                    "Name": {
+                      "title": "Preferred Extent Name.",
+                      "type": "string",
+                      "description": "The name of the Extent.",
+                      "example": "Norway - North Sea - offshore south of 62\u00b0N"
+                    },
+                    "Description": {
+                      "title": "Preferred Extent Description.",
+                      "type": "string",
+                      "description": "The description of the Extent.",
+                      "example": "Norway - North Sea - offshore south of 62\u00b0N"
+                    },
+                    "BoundingBoxSouthBoundLatitude": {
+                      "title": "Preferred Extent South Latitude",
+                      "description": "Southern latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 56.08
+                    },
+                    "BoundingBoxWestBoundLongitude": {
+                      "title": "Preferred Extent West Longitude",
+                      "description": "Western latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 1.37
+                    },
+                    "BoundingBoxEastBoundLongitude": {
+                      "title": "Preferred Extent East Longitude",
+                      "description": "Eastern latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 11.14
+                    },
+                    "BoundingBoxNorthBoundLatitude": {
+                      "title": "Preferred Extent North Latitude",
+                      "description": "Northern latitude limit of the bounding box in degrees based on WGS 84",
+                      "type": "number",
+                      "example": 62.0
+                    }
+                  }
+                },
+                "Scope": {
+                  "title": "Preferred Scope",
+                  "description": "",
+                  "type": "object",
+                  "properties": {
+                    "AuthorityCode": {
+                      "title": "Preferred Scope Authority Code",
+                      "description": "The Scope authority code, corresponding to the ISO19111 ID and 'projjson' id.",
+                      "type": "object",
+                      "properties": {
+                        "Authority": {
+                          "title": "Preferred Scope Authority",
+                          "description": "The authority governing the 'Code'.",
+                          "type": "string",
+                          "example": "EPSG"
+                        },
+                        "Code": {
+                          "title": "Preferred Scope Code",
+                          "description": "The code assigned by the 'Authority'.",
+                          "type": "integer",
+                          "format": "int32",
+                          "example": 1253
+                        }
+                      }
+                    },
+                    "Name": {
+                      "title": "Preferred Scope Name.",
+                      "type": "string",
+                      "description": "The name of the Scope.",
+                      "example": "Approximation at the 1m level."
+                    }
+                  }
+                }
+              }
+            },
+            "PersistableReference": {
+              "title": "Persistable Reference",
+              "description": "Used for export and actionable instructions to a conversion/transformation engine. It is initially based on Esri well-known text (WKT). Eventually, when Esri WKT are convertible into ISO WKT and vice versa, the definition can be replaced by https://proj.org/schemas/v0.2/projjson.schema.json.",
+              "type": "string",
+              "example": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"1613\"},\"type\":\"ST\",\"ver\":\"PE_10_3_1\",\"name\":\"ED_1950_To_WGS_1984_24\",\"wkt\":\"GEOGTRAN[\\\"ED_1950_To_WGS_1984_24\\\",GEOGCS[\\\"GCS_European_1950\\\",DATUM[\\\"D_European_1950\\\",SPHEROID[\\\"International_1924\\\",6378388.0,297.0]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],METHOD[\\\"Position_Vector\\\"],PARAMETER[\\\"X_Axis_Translation\\\",-90.365],PARAMETER[\\\"Y_Axis_Translation\\\",-101.13],PARAMETER[\\\"Z_Axis_Translation\\\",-123.384],PARAMETER[\\\"X_Axis_Rotation\\\",0.333],PARAMETER[\\\"Y_Axis_Rotation\\\",0.077],PARAMETER[\\\"Z_Axis_Rotation\\\",0.894],PARAMETER[\\\"Scale_Difference\\\",1.994],AUTHORITY[\\\"EPSG\\\",1613]]\"}"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateTransformation.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateTransformation.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..0592559ed58dac739640b0b9cc97b65f31728c04
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CoordinateTransformation.1.0.0.json.res
@@ -0,0 +1,145 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "CoordTfmVersion"
+    },
+    {
+      "kind": "int",
+      "path": "Variant"
+    },
+    {
+      "kind": "double",
+      "path": "Accuracy"
+    },
+    {
+      "kind": "string",
+      "path": "Method.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "Method.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "Method.Name"
+    },
+    {
+      "kind": "string",
+      "path": "CodeSpace"
+    },
+    {
+      "kind": "string",
+      "path": "InformationSource"
+    },
+    {
+      "kind": "datetime",
+      "path": "RevisionDate"
+    },
+    {
+      "kind": "string",
+      "path": "Kind"
+    },
+    {
+      "kind": "int",
+      "path": "CodeAsNumber"
+    },
+    {
+      "kind": "string",
+      "path": "CoordinateTransformationType"
+    },
+    {
+      "kind": "string",
+      "path": "SourceCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "SourceCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "SourceCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "SourceCRS.SourceCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "TargetCRS.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "TargetCRS.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "TargetCRS.Name"
+    },
+    {
+      "kind": "link",
+      "path": "TargetCRS.TargetCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "PreferredUsage.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Name"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Extent.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "PreferredUsage.Extent.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Extent.Name"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Extent.Description"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxSouthBoundLatitude"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxWestBoundLongitude"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxEastBoundLongitude"
+    },
+    {
+      "kind": "double",
+      "path": "PreferredUsage.Extent.BoundingBoxNorthBoundLatitude"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Scope.AuthorityCode.Authority"
+    },
+    {
+      "kind": "int",
+      "path": "PreferredUsage.Scope.AuthorityCode.Code"
+    },
+    {
+      "kind": "string",
+      "path": "PreferredUsage.Scope.Name"
+    },
+    {
+      "kind": "string",
+      "path": "PersistableReference"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/Currency.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/Currency.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..89dd2f469ef9564d33318c316b45a379271d2b8c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/Currency.1.0.0.json
@@ -0,0 +1,151 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/Currency.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Currency",
+  "description": "Used to describe the type of currencies.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/Currency:[^:]+$",
+      "example": "srn:<namespace>:reference-data/Currency:d0e041f2-ce8c-5d13-a71f-0c9599ce0d3e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Currency:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "CurrencySymbolText": {
+              "description": "The symbol for the currency.",
+              "type": "string"
+            },
+            "CurrencyCodeNumericNumber": {
+              "description": "Standard numeric number assigned to a currency",
+              "type": "integer"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/Currency.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/Currency.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..7c71d90a73e9de7a26a654e763ad34bea8462627
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/Currency.1.0.0.json.res
@@ -0,0 +1,13 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "CurrencySymbolText"
+    },
+    {
+      "kind": "int",
+      "path": "CurrencyCodeNumericNumber"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CurveIndexDimensionType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CurveIndexDimensionType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..9415e9cc145cce65ca7fc41947de4972a16ad0c9
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CurveIndexDimensionType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/CurveIndexDimensionType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "CurveIndexDimensionType",
+  "description": "Describes the physical dimension a curve index is defined from - can be Depth, Time, Counter,...",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/CurveIndexDimensionType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/CurveIndexDimensionType:56952788-e2b0-5cb8-9071-3c26323c7c8c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:CurveIndexDimensionType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CurveIndexDimensionType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CurveIndexDimensionType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/CurveIndexDimensionType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DimensionType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DimensionType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d44e0e341b198b8b595941a3803974173c99dbc2
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DimensionType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/DimensionType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "DimensionType",
+  "description": "Geometry along which a velocity model is defined, such as line (could be checkshot), surface, volume, time series (for 4D/time lapse). Ex. 1D, 2D, 3D, 1D_TL, 2D_TL, and 3D_TL.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/DimensionType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/DimensionType:02cdbc2b-88f1-57a7-affd-e015601b5687"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:DimensionType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DimensionType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DimensionType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DimensionType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DiscretizationSchemeType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DiscretizationSchemeType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d6244b012185555ace7d85f1f63ec759ea1f40f7
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DiscretizationSchemeType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/DiscretizationSchemeType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "DiscretizationSchemeType",
+  "description": "Describes geometrically where in a discretized cell representation of a velocity number field the value applies, such as vertex, cell center, average across cell.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/DiscretizationSchemeType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/DiscretizationSchemeType:e7f6aed1-d080-5014-9b1f-2e764fae9259"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:DiscretizationSchemeType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DiscretizationSchemeType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DiscretizationSchemeType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DiscretizationSchemeType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DocumentType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DocumentType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6462c1f45af099e63c69fc17d34564a2db566790
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DocumentType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/DocumentType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "DocumentType",
+  "description": "Used to describe the type of documents.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/DocumentType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/DocumentType:73457c16-7c33-52b8-93c6-ad724417bf72"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:DocumentType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DocumentType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DocumentType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DocumentType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DrillingReasonType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DrillingReasonType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6c0a467e34f99503933281c111544293783e42c6
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DrillingReasonType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/DrillingReasonType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "DrillingReasonType",
+  "description": "Used to describe the type of drilling reasons.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/DrillingReasonType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/DrillingReasonType:f61049cd-7a21-570d-b2ec-e360e3479beb"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:DrillingReasonType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DrillingReasonType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DrillingReasonType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/DrillingReasonType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/EncodingFormatType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/EncodingFormatType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f9a08addb8871acedbad199941aef75049f559a8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/EncodingFormatType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/EncodingFormatType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "EncodingFormatType",
+  "description": "Used to describe the type of encoding formats.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/EncodingFormatType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/EncodingFormatType:6144c7fc-664c-5b4e-95c3-243dcff10a9d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:EncodingFormatType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/EncodingFormatType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/EncodingFormatType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/EncodingFormatType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ExistenceKind.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ExistenceKind.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..e4f21cb6e3917fa28e56dc6b99c82514b9dac79d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ExistenceKind.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ExistenceKind.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ExistenceKind",
+  "description": "ExistenceKind describes at which stage the instance is in the cradle-to-grave span of its existence. Typical values are: \"Proposed\", \"Planned\", \"Active\", \"Inactive\", \"Marked for Disposal\".",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ExistenceKind:7bc1e5c5-4e8a-5656-a960-70aaca10c211"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ExistenceKind:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ExistenceKind.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ExistenceKind.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ExistenceKind.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityEventType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityEventType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..35c97df22a6c2a928948c4a013d9b707b7710f34
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityEventType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/FacilityEventType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "FacilityEventType",
+  "description": "Used to describe the type of facility events.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FacilityEventType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/FacilityEventType:69072c80-56fd-5977-8ab5-b266a52e8fda"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:FacilityEventType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityEventType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityEventType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityEventType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityStateType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityStateType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6ffd0f91765abfd53eaaef4254762001dd20ede7
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityStateType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/FacilityStateType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "FacilityStateType",
+  "description": "Used to describe the type of facility states.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FacilityStateType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/FacilityStateType:58f5b2fa-02a8-5560-bdd0-57df06c573bb"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:FacilityStateType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityStateType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityStateType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityStateType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..2ea6718e436b01ae4413dcdba545be41f3eb1ed2
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/FacilityType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "FacilityType",
+  "description": "Used to describe the type of facilities.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FacilityType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/FacilityType:3ebe635b-55ba-5396-bd07-20d90946454d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:FacilityType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FacilityType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FeatureType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FeatureType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..3bd4228540ae28c4a0cf1320a34f357438c33b7f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FeatureType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/FeatureType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "FeatureType",
+  "description": "Used to describe the type of features.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/FeatureType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/FeatureType:abfcb027-ef72-5458-ba56-799020faefdb"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:FeatureType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FeatureType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FeatureType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/FeatureType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeoPoliticalEntityType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeoPoliticalEntityType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..98f9cb3cca6cf1ac0bd2ec1614bd346de80b3ba8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeoPoliticalEntityType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/GeoPoliticalEntityType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "GeoPoliticalEntityType",
+  "description": "Used to describe the type of geopolitical entities.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/GeoPoliticalEntityType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/GeoPoliticalEntityType:b94a987e-501a-5ab8-88d8-5142b6da3fb0"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:GeoPoliticalEntityType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeoPoliticalEntityType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeoPoliticalEntityType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeoPoliticalEntityType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeologicalFormation.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeologicalFormation.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..cda2aab4087be753c512693f762ec56b07f4c39e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeologicalFormation.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/GeologicalFormation.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "GeologicalFormation",
+  "description": "Used to describe the type of geological formations.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/GeologicalFormation:[^:]+$",
+      "example": "srn:<namespace>:reference-data/GeologicalFormation:e604c82a-3308-5ef9-a073-c61508e5df14"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:GeologicalFormation:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeologicalFormation.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeologicalFormation.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/GeologicalFormation.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/HeaderKeyName.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/HeaderKeyName.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..0fd7931ae660500e4f62d1a9c99a39339b7c873c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/HeaderKeyName.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/HeaderKeyName.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "HeaderKeyName",
+  "description": "Reference data for header names of standard fields used in storage file formats, such as CDPX, INLINE in SEGY.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/HeaderKeyName:[^:]+$",
+      "example": "srn:<namespace>:reference-data/HeaderKeyName:da55cfa6-6c60-5324-a963-eecfe9e19471"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:HeaderKeyName:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/HeaderKeyName.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/HeaderKeyName.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/HeaderKeyName.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/InterpolationMethod.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/InterpolationMethod.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..fd44de2116fbad857013e54c2e77f199f0365d5b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/InterpolationMethod.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/InterpolationMethod.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "InterpolationMethod",
+  "description": "Mathematical form of velocity interpolation between discretely sample nodes, such as linear in space, bicubic spline, linear in time, trilinear, horizon-based, constant vertically up, constant vertically down, constant vertically both ways.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/InterpolationMethod:[^:]+$",
+      "example": "srn:<namespace>:reference-data/InterpolationMethod:977ee1ea-13ee-5f60-ad55-f9320621015d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:InterpolationMethod:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/InterpolationMethod.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/InterpolationMethod.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/InterpolationMethod.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LegalStatus.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LegalStatus.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d4d1ed2709c45e0addd4d7f53b14756072447615
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LegalStatus.1.0.0.json
@@ -0,0 +1,142 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LegalStatus.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LegalStatus",
+  "description": "The status of a legal status evaluation. Typical values are \"compliant\" and \"incompliant\".",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LegalStatus:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LegalStatus:7a01a6d8-625a-5219-85d1-26c6364eee73"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LegalStatus:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-model": "FIXED",
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:osdu"
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LegalStatus.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LegalStatus.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LegalStatus.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LicenseState.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LicenseState.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ccc925464be5bd4278af13a733e02db94773b83c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LicenseState.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LicenseState.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LicenseState",
+  "description": "The record's license state. Typical values are: \"Proprietary\", \"Licensed\", \"Unlicensed\".",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LicenseState:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LicenseState:965bbc7f-d580-5a81-b282-485d325ea3e4"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LicenseState:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LicenseState.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LicenseState.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LicenseState.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LineageRelationshipType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LineageRelationshipType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..3f8c1732668fd1df6f24fa7f184d24f116407f1a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LineageRelationshipType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LineageRelationshipType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LineageRelationshipType",
+  "description": "Used by LineageAssertion to describe the nature of the line of descent of a work product component from a prior Resource, such as DIRECT, INDIRECT, REFERENCE.  It is not for proximity (number of nodes away), it is not to cover all the relationships in a full ontology or graph, and it is not to describe the type of activity that created the asserting Work Product or Work Product Component.  LineageAssertion does not encompass a full provenance, process history, or activity model.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LineageRelationshipType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LineageRelationshipType:b127ef30-5e25-5c64-a256-6e7536a0a4a3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LineageRelationshipType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LineageRelationshipType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LineageRelationshipType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LineageRelationshipType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LinerType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LinerType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..412ad95f6c484bca55db0eaff5bca57d5fb87aab
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LinerType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LinerType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LinerType",
+  "description": "This reference table describes the type of liner used in the borehole. For example, slotted, gravel packed or pre-perforated etc.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LinerType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LinerType:6306148f-b695-5430-b237-5014ca4a4f39"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LinerType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LinerType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LinerType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LinerType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveBusinessValue.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveBusinessValue.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ac2c5aad8d133268ea55a8d3dd70883846691287
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveBusinessValue.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LogCurveBusinessValue.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LogCurveBusinessValue",
+  "description": "Used to describe the log curve business values.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LogCurveBusinessValue:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LogCurveBusinessValue:6fa48c49-2905-5f36-adad-7b15d8ab8659"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LogCurveBusinessValue:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveBusinessValue.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveBusinessValue.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveBusinessValue.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveFamily.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveFamily.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..77d5b9fc91ed5c3ee947f122bac1380b0525b4c0
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveFamily.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LogCurveFamily.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LogCurveFamily",
+  "description": "LogCurveFamily is the detailed Geological Physical Quantity Measured - such as neutron porosity",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LogCurveFamily:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LogCurveFamily:219081b5-03d5-57fd-831c-81973e61674c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LogCurveFamily:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveFamily.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveFamily.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveFamily.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveMainFamily.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveMainFamily.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..5ce4d95748a42b8b8e0a9366b0bfc5911b72875b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveMainFamily.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LogCurveMainFamily.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LogCurveMainFamily",
+  "description": "LogCurveMainFamily is the Geological Physical Quantity Measured - such as porosity ",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LogCurveMainFamily:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LogCurveMainFamily:53d9f617-7f69-5bf3-b9a1-8545575502b9"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LogCurveMainFamily:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveMainFamily.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveMainFamily.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveMainFamily.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8b7b59b8edd248a155cac065fb0906875c8bf48e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LogCurveType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LogCurveType",
+  "description": "LogCurveType is the standard mnemonic chosen by the company - OSDU provides an initial list",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LogCurveType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LogCurveType:d646a4d2-eaf8-5699-8ef9-70be626ee704"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LogCurveType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogCurveType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c67e7e6de8b1bb06fb3ddebb440afa7d75a057d5
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/LogType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "LogType",
+  "description": "Used to describe the type of logs.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/LogType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/LogType:67d40630-638d-5283-a1f4-587bc11a213a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:LogType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/LogType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MarkerType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MarkerType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..bcf3e3b0cc13c31a92c4bcb54f31eadbad0ea543
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MarkerType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/MarkerType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "MarkerType",
+  "description": "Used to describe the type of markers.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/MarkerType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/MarkerType:0b0179eb-5978-5938-a68d-120aba9a633e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:MarkerType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MarkerType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MarkerType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MarkerType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MaterialType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MaterialType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b038d5d73af25d52c1305b1d6be7ec4959e506df
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MaterialType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/MaterialType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "MaterialType",
+  "description": "Used to describe the type of materials.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/MaterialType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/MaterialType:9780ad8f-7454-5bad-b337-9d10bf99511c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:MaterialType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MaterialType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MaterialType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/MaterialType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OSDURegion.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OSDURegion.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..bcfece246528193948059d4ed012e30c08bb0e2a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OSDURegion.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/OSDURegion.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "OSDURegion",
+  "description": "Used to describe the OSDU regions.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+$",
+      "example": "srn:<namespace>:reference-data/OSDURegion:663a24c9-9ad3-5e29-ac9b-0f069559165b"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:OSDURegion:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OSDURegion.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OSDURegion.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OSDURegion.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObjectiveType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObjectiveType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..fdf2f23feb975740e0e333963d67603a661d2300
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObjectiveType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ObjectiveType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ObjectiveType",
+  "description": "Purpose or intended use of a work product component, such as Stacking, Depth Migration, Time Migration, Time-depth Conversion.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ObjectiveType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ObjectiveType:47fe8b38-5605-5175-a175-1ebaa9d55a3e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ObjectiveType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObjectiveType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObjectiveType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObjectiveType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObligationType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObligationType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..039d4335b633205a535a82fde45a3770f3e6f982
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObligationType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ObligationType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ObligationType",
+  "description": "Used to describe the type of obligations.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ObligationType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ObligationType:3382c1cf-b58e-582e-9301-d290f1bef6ba"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ObligationType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObligationType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObligationType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ObligationType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OperatingEnvironment.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OperatingEnvironment.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..65544edb17812cfd713f7aa86e8e027b29e96def
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OperatingEnvironment.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/OperatingEnvironment.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "OperatingEnvironment",
+  "description": "Used to describe the operating environments, e.g. for well facilities or seismic acquisition.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OperatingEnvironment:[^:]+$",
+      "example": "srn:<namespace>:reference-data/OperatingEnvironment:eaf7072a-b37d-5425-93b9-33510aab76dd"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:OperatingEnvironment:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OperatingEnvironment.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OperatingEnvironment.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OperatingEnvironment.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OrganisationType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OrganisationType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..cfc3ba8750b859703efbd1e01bdc77ea65296e2c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OrganisationType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/OrganisationType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "OrganisationType",
+  "description": "Used to describe the type of organisations.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OrganisationType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/OrganisationType:fcc6f817-0559-5bcd-87b7-28de04be213f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:OrganisationType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OrganisationType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OrganisationType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OrganisationType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OsduJsonExtensions.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OsduJsonExtensions.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..5e74e477a79e61723af0a45a5192d97787c720fb
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OsduJsonExtensions.1.0.0.json
@@ -0,0 +1,142 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/OsduJsonExtensions.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "OsduJsonExtensions",
+  "description": "These records build the catalog of OSDU JSON extensions tags, which are known to the system.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OsduJsonExtensions:[^:]+$",
+      "example": "srn:<namespace>:reference-data/OsduJsonExtensions:a360ba64-12d7-59da-a3fd-8fca0d12c1b7"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:OsduJsonExtensions:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-model": "FIXED",
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:osdu"
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OsduJsonExtensions.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OsduJsonExtensions.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/OsduJsonExtensions.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGContextType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGContextType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..9d4b28e88248220c379aa1491f213175c7bfab04
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGContextType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGContextType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGContextType",
+  "description": "Reflects the context of the PPFG acquired data (may be Pre-Drill/Post-Drill...)",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGContextType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGContextType:94d93c58-910e-54c4-a2cd-39b181c8c9ba"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGContextType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGContextType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGContextType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGContextType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveFamily.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveFamily.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..cfe61e84b850d7b5736d9eac943914ed0dc2a86e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveFamily.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveFamily.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveFamily",
+  "description": "The PPFG Curve Family reflects the 'Detailed' Geological Physical Quantity Measured - such Pore Pressure in Shale",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveFamily:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveFamily:d38d173d-594b-5d8f-bee3-8ab3f255737f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveFamily:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveFamily.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveFamily.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveFamily.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveLithoType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveLithoType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..4d32e1403887863ee01a1c79c0bd06a1f8b6657a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveLithoType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveLithoType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveLithoType",
+  "description": "Reflects the lithological unit a PPFG curve is representing",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveLithoType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveLithoType:be213411-b462-5eae-90dc-93545f33d002"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveLithoType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveLithoType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveLithoType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveLithoType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMainFamily.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMainFamily.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..a1190aa43eec82a50d454e5edc591091a7019389
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMainFamily.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveMainFamily.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveMainFamily",
+  "description": "Reflects the Geological Physical Quantity measured within the PPFG Curve - can be 'Pore Pressure', 'FractureGradient', 'HorizontalStress'...",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveMainFamily:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveMainFamily:4fcc196e-320c-5132-9878-3b442930bf2e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveMainFamily:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMainFamily.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMainFamily.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMainFamily.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMnemonic.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMnemonic.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..33affad38103b36c40dc079a28348532a6bf8fe9
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMnemonic.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveMnemonic.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveMnemonic",
+  "description": "The mnemonic of the PPFG Curve is the value as received either from Raw Providers or from Internal Processing team.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveMnemonic:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveMnemonic:cacf1e30-530e-51f0-bfe8-3c95fad8053d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveMnemonic:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMnemonic.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMnemonic.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveMnemonic.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProbability.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProbability.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..e3a5f435f9ebb47d9811c383a94349292a0db0ca
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProbability.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveProbability.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveProbability",
+  "description": "The PPFG Curve Family reflects the level of probability associated to the Curve - defined by any company - could be 'Most Likely', 'Min Case',...",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveProbability:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveProbability:68623266-377f-5960-836a-b1acae05ce51"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveProbability:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProbability.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProbability.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProbability.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProcessingType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProcessingType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6bf34a73a7e7ea32df81ff64ac0fd274b47fa8cd
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProcessingType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveProcessingType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveProcessingType",
+  "description": "Describes the level of processing each PPFG curve went through",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveProcessingType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveProcessingType:3d63af4d-da7c-5aaa-a44a-034b11b989e5"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveProcessingType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProcessingType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProcessingType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveProcessingType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveTransformModelType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveTransformModelType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..510808056bb67efdfb8e1b5ecabd5057566e58ed
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveTransformModelType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PPFGCurveTransformModelType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGCurveTransformModelType",
+  "description": "Name of the empirical calibrated model used for pressure calculation from a petrophysical curve (sonic or resistivity logs) - such as \"Eaton\" and  \"Bowers\",... ",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveTransformModelType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PPFGCurveTransformModelType:6f52450b-35f8-50ee-af22-f3aedd6daece"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGCurveTransformModelType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveTransformModelType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveTransformModelType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PPFGCurveTransformModelType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ParameterType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ParameterType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c19778986b20eec016d952e85fb73a97110f551
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ParameterType.1.0.0.json
@@ -0,0 +1,205 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ParameterType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ParameterType",
+  "description": "Used to describe the type of parameters.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ParameterType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ParameterType:3270eac8-328e-5a29-9df5-ee46ed84ada3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ParameterType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "QuantityTypeID": {
+              "description": "The quantity types examples are volumetric thermal expansion,linear thermal expansion, length",
+              "type": "string"
+            },
+            "DefaultUnitOfMeasureID": {
+              "description": "The unit of measure for quantity.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+            },
+            "ParameterTypeDefaultValueQuantity": {
+              "description": "This generic data element represents a parameterized numeric value.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM_via_property:DefaultUnitOfMeasureID"
+            },
+            "ParameterTypeDefaultValueText": {
+              "description": "This generic data element represents a parameterized text (long) value.",
+              "type": "string"
+            },
+            "ParameterTypeDefaultValueDate": {
+              "description": "A general purpose field to identify a data in the form of DDMMYYYY.",
+              "type": "string",
+              "format": "date",
+              "x-osdu-frame-of-reference": "DateTime"
+            },
+            "ParameterTypeDefaultValueTime": {
+              "description": "A general purpose field to identify a time in the form of hh24:mm:ss; hh:mm:ss am/pm.",
+              "type": "string",
+              "format": "time",
+              "x-osdu-frame-of-reference": "DateTime"
+            },
+            "ParameterTypeDefaultValueDateTime": {
+              "description": "DateTime is a date value that represents a point in time on a calendar that is expressed in centuries.",
+              "type": "string",
+              "format": "date-time",
+              "x-osdu-frame-of-reference": "DateTime"
+            },
+            "ParameterTypeDefaultValueIndicator": {
+              "description": "Indicates whether something is applicable to to the Entity. This can be Y or N.",
+              "type": "boolean"
+            },
+            "ParameterTypeDefaultLengthCount": {
+              "description": "The total number of digits or strings by default allowed for the Parameter Type's value.",
+              "type": "number"
+            },
+            "ParameterTypeDefaultPrecisionCount": {
+              "description": "The total precision by default allowed for the Parameter Type's value.",
+              "type": "number"
+            },
+            "ParameterTypeDecimalPlaceCount": {
+              "description": "The number of digits in the Length Quantity that are to the right of the decimal place.",
+              "type": "number"
+            },
+            "ParameterTypeMaximumValueQuantity": {
+              "description": "The most commonly used highest number that is used to constrain the values of the Parameter Type.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM_via_property:DefaultUnitOfMeasureID"
+            },
+            "ParameterTypeMinimumValueQuantity": {
+              "description": "The most commonly used lowest number that is used to constrain the values of the Parameter Type.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM_via_property:DefaultUnitOfMeasureID"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ParameterType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ParameterType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..aab155a83b450ec031d8b32154ca427dd7a957fb
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ParameterType.1.0.0.json.res
@@ -0,0 +1,57 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "QuantityTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "DefaultUnitOfMeasureID"
+    },
+    {
+      "kind": "double",
+      "path": "ParameterTypeDefaultValueQuantity"
+    },
+    {
+      "kind": "string",
+      "path": "ParameterTypeDefaultValueText"
+    },
+    {
+      "kind": "datetime",
+      "path": "ParameterTypeDefaultValueDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "ParameterTypeDefaultValueTime"
+    },
+    {
+      "kind": "datetime",
+      "path": "ParameterTypeDefaultValueDateTime"
+    },
+    {
+      "kind": "bool",
+      "path": "ParameterTypeDefaultValueIndicator"
+    },
+    {
+      "kind": "double",
+      "path": "ParameterTypeDefaultLengthCount"
+    },
+    {
+      "kind": "double",
+      "path": "ParameterTypeDefaultPrecisionCount"
+    },
+    {
+      "kind": "double",
+      "path": "ParameterTypeDecimalPlaceCount"
+    },
+    {
+      "kind": "double",
+      "path": "ParameterTypeMaximumValueQuantity"
+    },
+    {
+      "kind": "double",
+      "path": "ParameterTypeMinimumValueQuantity"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PetroleumSystemElementType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PetroleumSystemElementType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..7dac3aa20b7ff01d42b2967d3298d241f454a0ec
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PetroleumSystemElementType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PetroleumSystemElementType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PetroleumSystemElementType",
+  "description": "Petroleum system risk element such as Reservoir, Source, Seal, Structure (geometry).",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PetroleumSystemElementType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PetroleumSystemElementType:c040c485-1dda-507a-8406-c3735106e0a1"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PetroleumSystemElementType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PetroleumSystemElementType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PetroleumSystemElementType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PetroleumSystemElementType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PlayType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PlayType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..71a0faa06bec22aa52476afca40c84c4e8b273f6
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PlayType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PlayType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PlayType",
+  "description": "PlayType further classifies a play.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PlayType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PlayType:5cd866f9-1b0b-539e-bcd3-ac3d1ef855a5"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PlayType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PlayType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PlayType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PlayType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProcessingParameterType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProcessingParameterType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..96f7c9463a735b9ecf1a71467b6a52e525d0b320
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProcessingParameterType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ProcessingParameterType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ProcessingParameterType",
+  "description": "Parameter type of property or characteristic.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ProcessingParameterType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ProcessingParameterType:9f91e9c9-5456-5a56-a2e3-060a600bd059"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ProcessingParameterType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProcessingParameterType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProcessingParameterType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProcessingParameterType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectRole.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectRole.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f9a838e5783116c9971bf12a4ac659923a8898f0
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectRole.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ProjectRole.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ProjectRole",
+  "description": "The role of an individual supporting a Project, such as Project Manager, Party Chief, Client Representative, Senior Observer.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ProjectRole:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ProjectRole:95b4eb20-88ae-512f-bc44-89987dc2645c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ProjectRole:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectRole.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectRole.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectRole.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectStateType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectStateType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ba9832dd1f04a4fe0db165616e4bfdac2bbf7bb9
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectStateType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ProjectStateType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ProjectStateType",
+  "description": "The Project life cycle state from planning to completion.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ProjectStateType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ProjectStateType:de563483-0e41-5075-9966-738c947bd8b5"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ProjectStateType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectStateType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectStateType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProjectStateType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyFieldRepresentationType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyFieldRepresentationType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..15c08055247b46016d76cc5da1d184098406c064
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyFieldRepresentationType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PropertyFieldRepresentationType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PropertyFieldRepresentationType",
+  "description": "The type of topology used to represent the discrete velocity observations, such as Grid or Mesh.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PropertyFieldRepresentationType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PropertyFieldRepresentationType:5195e74c-4412-541a-b382-1a4b3dc41bcf"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PropertyFieldRepresentationType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyFieldRepresentationType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyFieldRepresentationType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyFieldRepresentationType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyNameType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyNameType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..507b72c10a0e695c3a61625702f012099ad8a411
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyNameType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/PropertyNameType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PropertyNameType",
+  "description": "Name of a measured or observed property, such as Vp, Vs, epsilon, delta, eta.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/PropertyNameType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/PropertyNameType:f1c24221-e932-5fab-9ad2-0e74ba99f4fa"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PropertyNameType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyNameType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyNameType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/PropertyNameType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProspectType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProspectType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..bf18434772ace29de970807cfc390a01a9f69fd2
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProspectType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ProspectType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ProspectType",
+  "description": "ProspectType further classifies a prospect.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ProspectType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ProspectType:5aa6b6ee-caa6-5da6-9eec-11d9a47a630e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ProspectType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProspectType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProspectType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ProspectType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualitativeSpatialAccuracyType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualitativeSpatialAccuracyType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..fa7ed065e97142baa701d3bc610757b96b860887
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualitativeSpatialAccuracyType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/QualitativeSpatialAccuracyType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "QualitativeSpatialAccuracyType",
+  "description": "Used to describe the type of spatial accuracies.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/QualitativeSpatialAccuracyType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/QualitativeSpatialAccuracyType:bbcc7ef9-d7a1-57cd-abb5-b4b2022a7c85"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:QualitativeSpatialAccuracyType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualitativeSpatialAccuracyType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualitativeSpatialAccuracyType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualitativeSpatialAccuracyType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRule.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRule.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..1c43c74220f2110c604e64c0421766592fd8ef0e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRule.1.0.0.json
@@ -0,0 +1,182 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/QualityDataRule.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "QualityDataRule",
+  "description": "Generic reference object quality rule",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/QualityDataRule:[^:]+$",
+      "example": "srn:<namespace>:reference-data/QualityDataRule:63aa2344-edfa-5944-8e26-476025df8141"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:QualityDataRule:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExternalRuleID": {
+              "description": "Unique identifier to an external data rule, e.g. PPDM rule ID number.",
+              "type": "string"
+            },
+            "DataRuleStatement": {
+              "description": "Expression of data rule",
+              "type": "string"
+            },
+            "DataRuleRevision": {
+              "description": "Revision version number",
+              "type": "string"
+            },
+            "DataRuleStatus": {
+              "description": "status of the business rule such as Published",
+              "type": "string"
+            },
+            "DataRuleCreatedOn": {
+              "description": "Date of creation of data rule independent of OSDU",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DataRuleCreatedBy": {
+              "description": "User that created the rule independent of OSDU",
+              "type": "string"
+            },
+            "DataRulePublishedOn": {
+              "description": "Timestamp of the time when the data rule was published independent of OSDU.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DataRuleUpdatedOn": {
+              "description": "Timestamp of the time when the data rule was updated independent of OSDU.",
+              "type": "string",
+              "format": "date-time"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:osdu"
+  ],
+  "x-osdu-governance-model": "LOCAL"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRule.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRule.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..1760497638fe1bf93adb175000229bd3ed8f7b5c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRule.1.0.0.json.res
@@ -0,0 +1,37 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "ExternalRuleID"
+    },
+    {
+      "kind": "string",
+      "path": "DataRuleStatement"
+    },
+    {
+      "kind": "string",
+      "path": "DataRuleRevision"
+    },
+    {
+      "kind": "string",
+      "path": "DataRuleStatus"
+    },
+    {
+      "kind": "datetime",
+      "path": "DataRuleCreatedOn"
+    },
+    {
+      "kind": "string",
+      "path": "DataRuleCreatedBy"
+    },
+    {
+      "kind": "datetime",
+      "path": "DataRulePublishedOn"
+    },
+    {
+      "kind": "datetime",
+      "path": "DataRuleUpdatedOn"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRuleSet.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRuleSet.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b42b26ea8c27324c7bba3c9cc782c9fd55ba975f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRuleSet.1.0.0.json
@@ -0,0 +1,170 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/QualityDataRuleSet.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "QualityDataRuleSet",
+  "description": "Generic reference object QualityDataRuleSet.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/QualityDataRuleSet:[^:]+$",
+      "example": "srn:<namespace>:reference-data/QualityDataRuleSet:f7ca8d3c-559f-5b94-b3e1-7062a5889067"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:QualityDataRuleSet:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "Name": {
+              "description": "Name of the data ruleset. For example, QualityDataRuleSet collection 1 for wellbore",
+              "type": "string"
+            },
+            "Description": {
+              "description": "A description of the QualityDataRuleSet.",
+              "type": "string"
+            },
+            "DataRules": {
+              "description": "The list of QualityDataRule items that this QualityDataRuleSet consists of.",
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "DataRuleID": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/QualityDataRule:[^:]+:[0-9]*$"
+                  },
+                  "DataRulePurposeClass": {
+                    "description": "Indicated if the QualityDataRule is required to pass or for information.",
+                    "type": "string",
+                    "enum": [
+                      "ERROR",
+                      "WARN",
+                      "INFORMATION"
+                    ]
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRuleSet.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRuleSet.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..f9a0309421d3d77e98aca61c52883c407b5fe840
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QualityDataRuleSet.1.0.0.json.res
@@ -0,0 +1,13 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "Name"
+    },
+    {
+      "kind": "string",
+      "path": "Description"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QuantitativeAccuracyBand.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QuantitativeAccuracyBand.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..4b9e8e8aee205cfcf3080f4974b928ec953ab8f8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QuantitativeAccuracyBand.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/QuantitativeAccuracyBand.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "QuantitativeAccuracyBand",
+  "description": "Used to describe the qualitative accuracy bands.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/QuantitativeAccuracyBand:[^:]+$",
+      "example": "srn:<namespace>:reference-data/QuantitativeAccuracyBand:c94044dc-3919-597c-b79a-df7fd0ee30c0"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:QuantitativeAccuracyBand:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QuantitativeAccuracyBand.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QuantitativeAccuracyBand.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/QuantitativeAccuracyBand.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceCurationStatus.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceCurationStatus.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..55986c57f9250e53e2a91c633546d8125b494a4d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceCurationStatus.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ResourceCurationStatus.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ResourceCurationStatus",
+  "description": "Used to describe the resource curation statuses.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ResourceCurationStatus:ae8523e0-c2a2-5575-a1ed-58a6890aacf6"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ResourceCurationStatus:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceCurationStatus.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceCurationStatus.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceCurationStatus.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceLifecycleStatus.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceLifecycleStatus.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..2d259167b7699c38ad767909230b3e1944c8a420
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceLifecycleStatus.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ResourceLifecycleStatus.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ResourceLifecycleStatus",
+  "description": "Used to describe the resource lifecycle statuses, where the resource is in the process to ingest and release it.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ResourceLifecycleStatus:68d3a8a1-f04c-54b1-9f2d-947cec3408c6"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ResourceLifecycleStatus:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceLifecycleStatus.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceLifecycleStatus.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceLifecycleStatus.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceSecurityClassification.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceSecurityClassification.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..3c93be964608694b30764bcf3d63efd926c741c8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceSecurityClassification.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/ResourceSecurityClassification.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "ResourceSecurityClassification",
+  "description": "Used to describe the resource security classifications.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+$",
+      "example": "srn:<namespace>:reference-data/ResourceSecurityClassification:1244da3a-2c1c-58b9-b650-ef607d39caa9"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:ResourceSecurityClassification:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceSecurityClassification.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceSecurityClassification.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/ResourceSecurityClassification.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SchemaFormatType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SchemaFormatType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..72db1dd8397694bc35acb15fd5427555238e6180
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SchemaFormatType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SchemaFormatType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SchemaFormatType",
+  "description": "Used to describe the type of schema formats.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SchemaFormatType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SchemaFormatType:f771f2e1-b487-50f7-83fc-d3c5def91a74"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SchemaFormatType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SchemaFormatType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SchemaFormatType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SchemaFormatType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SectionType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SectionType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d5b664f77c1abcfded9cd5e00ad1aebeddc4609b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SectionType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SectionType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SectionType",
+  "description": "Used to describe the type of sections.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SectionType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SectionType:6940373c-8901-5b30-9b89-99d6667103e8"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SectionType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SectionType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SectionType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SectionType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicAttributeType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicAttributeType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..fdaef444608936a22304b7d597afbca667364e02
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicAttributeType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicAttributeType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicAttributeType",
+  "description": "Describes the meaning of the seismic sample measurements such as amplitude, phase, dip, azimuth.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicAttributeType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicAttributeType:3f2532b5-28b8-5fec-b539-6012ce7cb55d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicAttributeType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicAttributeType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicAttributeType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicAttributeType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicBinGridType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicBinGridType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..89d13532948f817b764ab1157a974f714889f9de
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicBinGridType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicBinGridType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicBinGridType",
+  "description": "Activity responsible for creating node list such as Acquisition, Processing, Velocity.  Usually Processing.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicBinGridType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicBinGridType:e92d1e39-4a8d-5b14-90c4-94134a6b7bb5"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicBinGridType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicBinGridType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicBinGridType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicBinGridType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicDomainType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicDomainType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..d23a867f49aaabc655c5adee9865a02446f1c212
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicDomainType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicDomainType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicDomainType",
+  "description": "Nature of the vertical axis in the trace data set, usually Depth or Time.  Indicates which pair of start/end values in trace data is the reliable, precise pair.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicDomainType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicDomainType:a054167a-18fa-5d86-8081-f1037b065002"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicDomainType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicDomainType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicDomainType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicDomainType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicEnergySourceType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicEnergySourceType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..9afa4ec4dfd45de8844a0cb6c9992b72db781d5c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicEnergySourceType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicEnergySourceType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicEnergySourceType",
+  "description": "Seismic energy source, such as Airgun, Vibroseis,  Dynamite, Watergun.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicEnergySourceType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicEnergySourceType:71b32f55-1134-53a3-a035-9d002c75a11e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicEnergySourceType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicEnergySourceType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicEnergySourceType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicEnergySourceType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFaultType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFaultType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b9dbad048ae5b6794a4b9ff6c47cb6df44407944
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFaultType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicFaultType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicFaultType",
+  "description": "Geological type of fault geometry, such as Thrust (thr), Reverse (rev), Normal(norm), Strike-slip.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicFaultType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicFaultType:cf178714-9887-5ed0-87d2-601318b7be45"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicFaultType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFaultType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFaultType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFaultType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFilteringType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFilteringType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..7b893eb59c353549169d235448e1ca2b8ba4d396
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFilteringType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicFilteringType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicFilteringType",
+  "description": "Class of final applied filters, for ex. high cut, low cut, spiking deconvolution, multiple elimination.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicFilteringType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicFilteringType:a3299adb-7002-557b-ba3f-5a8ee2a1a364"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicFilteringType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFilteringType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFilteringType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicFilteringType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicGeometryType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicGeometryType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..56170cd8c2f52bd48cf771276cf660a47ddf46fd
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicGeometryType.1.0.0.json
@@ -0,0 +1,148 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicGeometryType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicGeometryType",
+  "description": "Standard values for the general geometrical layout of the seismic acquisition survey.  This is an hierarchical value.  The top value is like 2D, 3D, 4D, Borehole, Passive.  The second value is like NATS, WATS, Brick, Crosswell.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicGeometryType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicGeometryType:781cc584-0e28-5332-b9c5-c2e50c7d436d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicGeometryType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ParentID": {
+              "type": "string",
+              "description": "Resource ID of the parent geometry type in a two-level hierarchy (only one deep permitted).",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicGeometryType:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicGeometryType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicGeometryType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..32ff638f54ca8f2b8e6944f756a97bc574b0cf51
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicGeometryType.1.0.0.json.res
@@ -0,0 +1,9 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "ParentID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicHorizonType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicHorizonType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f38884d7f1bfec2883f2cac0ab0dbcce1f3aff00
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicHorizonType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicHorizonType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicHorizonType",
+  "description": "Position on waveform where horizon is picked such as Peak (pk), Trough (tr), Plus to Minus Zero Crossing, Minus to Plus Zero Crossing, Envelope (env).",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicHorizonType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicHorizonType:8d60e3cc-e6d6-5fe2-aed4-9ce61e6f3a8b"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicHorizonType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicHorizonType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicHorizonType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicHorizonType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicMigrationType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicMigrationType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..dd8c5f8acd0a8a5a6757b0a8d3bedf1db8b9123b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicMigrationType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicMigrationType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicMigrationType",
+  "description": "Class of imaging algorithm used, such as Kirchhoff, Full Wave Inversion, Reverse Time. May be qualified with domain like depth|time and prestack|poststack.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicMigrationType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicMigrationType:df2bd615-a9a5-5b78-82fd-125bcd5ac233"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicMigrationType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicMigrationType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicMigrationType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicMigrationType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicPickingType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicPickingType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c5aa62e89c0cf6514e8f8b223b77988ec1175775
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicPickingType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicPickingType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicPickingType",
+  "description": "Picking method used for horizons, faults, and other feature types, such as Primary seed pick (seed), Interpolated seed pick (int), Autotracked seed pick (aut), Mixed.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicPickingType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicPickingType:b5331a1b-1b95-5193-b5da-ca86d89afb7a"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicPickingType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicPickingType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicPickingType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicPickingType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicProcessingStageType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicProcessingStageType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..84439410d9a799d5f9f040d8a3cf73c78e595665
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicProcessingStageType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicProcessingStageType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicProcessingStageType",
+  "description": "Describes what main process or workflow manipulated the data before arriving at its current state or that it is as acquired in the field, such as partial processing, migration, modeling result, synthetic model, inversion, phase rotation.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicProcessingStageType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicProcessingStageType:1154e477-df12-5d42-9ff9-ba587cc85945"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicProcessingStageType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicProcessingStageType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicProcessingStageType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicProcessingStageType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicStackingType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicStackingType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..fe8b733439a3f7aff9d30cc952f7a895f3cca47c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicStackingType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicStackingType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicStackingType",
+  "description": "Class of trace stacking state - the dimension stacked along, like partial (offset), full, angle, azimuth.  May be qualified with range indicator such as Near, Mid, Far.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicStackingType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicStackingType:83d7f647-5173-5fd0-a74c-3bc2c5b3b67b"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicStackingType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicStackingType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicStackingType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicStackingType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..e50d00aa3429787986c3c4aefd28c6ed1fd8d22e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicTraceDataDimensionalityType",
+  "description": "The dimensionality of trace data sets (not as acquired but as in the dataset), such as 2D, 3D, 4D.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicTraceDataDimensionalityType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicTraceDataDimensionalityType:51be7661-8cf5-5c29-81c3-be1fc669ff4d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicTraceDataDimensionalityType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicTraceDataDimensionalityType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicWaveType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicWaveType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..78e0491f65bfecdc81691f55040bd359f019fb8f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicWaveType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SeismicWaveType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicWaveType",
+  "description": "The observed wave mode type in this trace data set (P, Sv, etc).",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SeismicWaveType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SeismicWaveType:256fff00-650d-523c-b246-8f5b567ce3b3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicWaveType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicWaveType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicWaveType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SeismicWaveType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialGeometryType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialGeometryType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..69bbb028d6e1117d02af9fe5bf2dbdfd53045d45
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialGeometryType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SpatialGeometryType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SpatialGeometryType",
+  "description": "Used to describe the type of spatial geometries.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SpatialGeometryType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SpatialGeometryType:dacd36c2-3b85-5c68-8484-5f055a2d08b8"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SpatialGeometryType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialGeometryType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialGeometryType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialGeometryType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialParameterType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialParameterType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b50ed8be2949e8b62dd8234e6819cb3caeabe6d0
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialParameterType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/SpatialParameterType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SpatialParameterType",
+  "description": "Used to describe the type of spatial parameters.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/SpatialParameterType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/SpatialParameterType:e52567dc-2dd2-5e9f-9d16-0f85c4fb9756"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SpatialParameterType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialParameterType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialParameterType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/SpatialParameterType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/StringClass.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/StringClass.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d9ea56d7e84664faca02f128532f18fec6e643d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/StringClass.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/StringClass.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "StringClass",
+  "description": "Used to describe the string classes.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/StringClass:[^:]+$",
+      "example": "srn:<namespace>:reference-data/StringClass:1def66ce-110b-5d10-b8d4-56c2cc54bbab"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:StringClass:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/StringClass.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/StringClass.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/StringClass.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TectonicSettingType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TectonicSettingType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b2c2afd9c469a8ffb1601a941b8c7be044185c23
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TectonicSettingType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/TectonicSettingType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TectonicSettingType",
+  "description": "Reference object to offer a list of values to describe the Tectonic Setting - which is a scenario used for Planning and Pore Pressure Practitioners - such as 'Strike Slip'",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/TectonicSettingType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/TectonicSettingType:a8fdf105-073d-582a-8265-49435daec255"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TectonicSettingType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TectonicSettingType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TectonicSettingType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TectonicSettingType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularAssemblyType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularAssemblyType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..0dbc8c89cb7d25e65aaf88d00aad3f54ebd42d74
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularAssemblyType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/TubularAssemblyType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularAssemblyType",
+  "description": "Used to describe the type of tubular assemblies.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/TubularAssemblyType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/TubularAssemblyType:ee046f77-4900-58f7-86ea-1c598352a30c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularAssemblyType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularAssemblyType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularAssemblyType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularAssemblyType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentConnectionType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentConnectionType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..262f88186279d734255481cb25d4847e86fc789f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentConnectionType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/TubularComponentConnectionType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularComponentConnectionType",
+  "description": "Used to describe the type of tubular component connections.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/TubularComponentConnectionType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/TubularComponentConnectionType:6f5be71b-ecd4-5b3e-aff3-ddb2276b0899"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularComponentConnectionType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentConnectionType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentConnectionType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentConnectionType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentGrade.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentGrade.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..cc91e2fb0246b3163e96d9257aea7ea44fd0b9a3
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentGrade.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/TubularComponentGrade.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularComponentGrade",
+  "description": "Id of tubing grade - eg. the tensile strength of the tubing material. A system of classifying the material specifications for steel alloys used in the manufacture of tubing.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/TubularComponentGrade:[^:]+$",
+      "example": "srn:<namespace>:reference-data/TubularComponentGrade:3c952590-39d1-56ec-9eb1-979289c09461"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularComponentGrade:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentGrade.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentGrade.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentGrade.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentPinBoxType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentPinBoxType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..3dc310f73d0d0dbc7dfbf82a78e86ddedd5aa02b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentPinBoxType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/TubularComponentPinBoxType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularComponentPinBoxType",
+  "description": "The type of collar used to couple the tubular with another tubing string.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/TubularComponentPinBoxType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/TubularComponentPinBoxType:1cc7b1a3-7557-52db-a43d-e95df77c3718"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularComponentPinBoxType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentPinBoxType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentPinBoxType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentPinBoxType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..0dd50cff31feb29e3e22a879d7af142f0b37c5c3
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/TubularComponentType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularComponentType",
+  "description": "Specifies the types of components that can be used in a tubular string. These are used to specify the type of component and multiple components are used to define a tubular string (Tubular).",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/TubularComponentType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/TubularComponentType:94ade2a3-fa82-546f-a44f-ad3d10d407cd"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularComponentType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/TubularComponentType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitOfMeasure.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitOfMeasure.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..da47c1986ffbd95eebc211cab63f82821f578145
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitOfMeasure.1.0.0.json
@@ -0,0 +1,198 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/UnitOfMeasure.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "UnitOfMeasure",
+  "description": "Used to describe the unit of measures.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+$",
+      "example": "srn:<namespace>:reference-data/UnitOfMeasure:b4fc5db8-7310-5cdb-8192-5bef4ded8cd3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:UnitOfMeasure:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "UnitQuantityID": {
+              "description": "Unit Quantity is a semantic description of the quantity the UoM is describing ('length' for instance)",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitQuantity:[^:]+:[0-9]+$"
+            },
+            "UnitDimensionCode": {
+              "description": "The dimensionality using the symbols for dimension as defined in https://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf, i.e. L for length, M for mass, T for time, I for electric current, N for amount of substance, J for luminous intensity; except \u0398 for thermodynamic temperature, which is replaced by the symbol K, the additional symbol D for temperature difference and the additional symbol 0 for no dimension.",
+              "type": "string",
+              "example": "K"
+            },
+            "IsBaseUnit": {
+              "title": "Base Unit Flag",
+              "description": "True if the unit is a base unit for the unit quantity. If the property is absent, it means the unit is not a base unit.",
+              "type": "string",
+              "example": false
+            },
+            "UnitDimensionName": {
+              "description": "The name of the unit dimension concept.",
+              "type": "string",
+              "example": "thermodynamic temperature"
+            },
+            "CoefficientA": {
+              "type": "number",
+              "title": "A",
+              "example": "2298.35",
+              "description": "The A parameter; formula: y = (A+B*x)/(C+D*x)"
+            },
+            "CoefficientB": {
+              "type": "number",
+              "title": "B",
+              "example": "5.0",
+              "description": "The B parameter; formula: y = (A+B*x)/(C+D*x)"
+            },
+            "CoefficientC": {
+              "type": "number",
+              "title": "C",
+              "example": "9.0",
+              "description": "The C parameter; formula: y = (A+B*x)/(C+D*x)"
+            },
+            "CoefficientD": {
+              "type": "number",
+              "title": "D",
+              "example": "0.0",
+              "description": "The D parameter; formula: y = (A+B*x)/(C+D*x)"
+            },
+            "PersistableReference": {
+              "title": "Persistable Reference",
+              "description": "The self-contained, stringified JSON reference for the unit. This value can be attached to data values and data records and carry the unit reference independent of a UnitOfRecord instance.",
+              "type": "string",
+              "example": "{\"abcd\":{\"a\":2298.35,\"b\":5.0,\"c\":9.0,\"d\":0.0},\"symbol\":\"degF\",\"baseMeasurement\":{\"ancestry\":\"K\",\"type\":\"UM\"},\"type\":\"UAD\"}"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:Energistics"
+  ],
+  "x-osdu-governance-model": "OPEN"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitOfMeasure.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitOfMeasure.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..38fc384275754778698e42ea64427ba1b4b89a63
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitOfMeasure.1.0.0.json.res
@@ -0,0 +1,41 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "UnitQuantityID"
+    },
+    {
+      "kind": "string",
+      "path": "UnitDimensionCode"
+    },
+    {
+      "kind": "string",
+      "path": "IsBaseUnit"
+    },
+    {
+      "kind": "string",
+      "path": "UnitDimensionName"
+    },
+    {
+      "kind": "double",
+      "path": "CoefficientA"
+    },
+    {
+      "kind": "double",
+      "path": "CoefficientB"
+    },
+    {
+      "kind": "double",
+      "path": "CoefficientC"
+    },
+    {
+      "kind": "double",
+      "path": "CoefficientD"
+    },
+    {
+      "kind": "string",
+      "path": "PersistableReference"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitQuantity.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitQuantity.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8b9407dec3853685c71e47ade8d0360c4e055188
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitQuantity.1.0.0.json
@@ -0,0 +1,185 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/UnitQuantity.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "UnitQuantity",
+  "description": "A single unit quantity class representing a superclass of mutually comparable quantity kinds. The class may or may not represent a recognized quantity kind (i.e., it may logically be abstract).  Quantities of the same class will have the same quantity dimension.  However, quantities of the same dimension are not necessarily of the same class. The term \"unit quantity class\" is intended to have the same general  meaning as the term \"kind of quantity\" as defined by the  \"International vocabulary of meteorology - Basic and general concepts and associated terms (VIM)\" (JCGM 200:2008) https://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/UnitQuantity:[^:]+$",
+      "example": "srn:<namespace>:reference-data/UnitQuantity:3e88ab51-3e48-5f04-8ec4-3e58526cf5ed"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:UnitQuantity:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "UnitDimension": {
+              "title": "UnitDimension",
+              "type": "string",
+              "description": "The UnitQuantity dimensionality using the symbols for dimension as defined in https://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf, i.e. L for length, M for mass, T for time, I for electric current, N for amount of substance, J for luminous intensity; except \u0398 for thermodynamic temperature, which is replaced by the symbol K, the additional symbol D for temperature difference and the additional symbol 0 for no dimension.",
+              "example": "K"
+            },
+            "BaseForConversion": {
+              "title": "Base Unit",
+              "description": "The base unit for unit conversion. The symbol of the unit which is used for conversion for of all members of this class. The corresponding baseForConversion must be a member of this class. To convert from one member to another member, you logically convert from the source member to the base and then convert from the base to the target member.",
+              "type": "string",
+              "example": "K"
+            },
+            "MemberUnits": {
+              "title": "Member Units",
+              "description": "Specifies the symbol of a unit of which is a member of this class. Membership indicates that a value of that class can be converted to any other member unit of that class without loss of semantics. This because the conversion formula represents a unitless factor of one.",
+              "type": "array",
+              "items": {
+                "type": "string"
+              },
+              "example": [
+                "K",
+                "degC",
+                "degF",
+                "degR"
+              ]
+            },
+            "ParentUnitQuantity": {
+              "title": "Parent Unit Quantity",
+              "description": "Optional parent unit quantity code in case a specialized unit quantity is needed. This is typically used to assign display units to particular measurements like cylinder diameter (small) versus geographic distance (large). I this case the persistable reference string will contain the full ancestry, e.g. \"L.length.CylinderDiameter\".",
+              "type": "string",
+              "example": "CylinderDiameter"
+            },
+            "PersistableReference": {
+              "title": "Persistable Reference",
+              "description": "The self-contained, stringified JSON reference for the unit. This value can be attached to data values and data records and carry the unit quantity reference independent of a UnitQuantity instance.",
+              "type": "string",
+              "example": "{\"ancestry\":\"K.thermodynamic temperature\",\"type\":\"UM\"}"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-authorities": [
+    "srn:<namespace>:reference-data/OrganisationType:Energistics"
+  ],
+  "x-osdu-governance-model": "OPEN"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitQuantity.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitQuantity.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..9fc13bbde297536dda1df702e81799705c160208
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/UnitQuantity.1.0.0.json.res
@@ -0,0 +1,25 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "UnitDimension"
+    },
+    {
+      "kind": "string",
+      "path": "BaseForConversion"
+    },
+    {
+      "kind": "[]string",
+      "path": "MemberUnits"
+    },
+    {
+      "kind": "string",
+      "path": "ParentUnitQuantity"
+    },
+    {
+      "kind": "string",
+      "path": "PersistableReference"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityAnalysisMethod.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityAnalysisMethod.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8af3a8e6548a7747986c3f9594cfcc9f70db0028
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityAnalysisMethod.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/VelocityAnalysisMethod.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VelocityAnalysisMethod",
+  "description": "Type of algorithm used to derive velocities such as Stacking NMO, Tomography.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VelocityAnalysisMethod:[^:]+$",
+      "example": "srn:<namespace>:reference-data/VelocityAnalysisMethod:dcfdb86e-0ced-57c8-b4b1-2f8d2b4293a3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VelocityAnalysisMethod:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityAnalysisMethod.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityAnalysisMethod.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityAnalysisMethod.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityDirectionType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityDirectionType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..7989894f01d4aef4ea3f3efa26473fe2f34f3ce4
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityDirectionType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/VelocityDirectionType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VelocityDirectionType",
+  "description": "Direction or orientation associated with the velocity model such as vertical, dip-azimuth.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VelocityDirectionType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/VelocityDirectionType:3703b8ff-c23f-5364-8256-86c5db61af62"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VelocityDirectionType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityDirectionType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityDirectionType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityDirectionType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..1f6fcf3ca6a8c6d006a1fcdc3074424d40d67b3f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/VelocityType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VelocityType",
+  "description": "Name describing the statistic represented by the velocity model such as RMS, Average, Interval, Instantaneous.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VelocityType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/VelocityType:d1d76399-8020-5e51-93c0-1ae015ee8a22"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VelocityType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VelocityType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementPath.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementPath.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..989a85fa2fea164fb50efc0aee8fa98526379e4d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementPath.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/VerticalMeasurementPath.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VerticalMeasurementPath",
+  "description": "Used to describe the vertical measurement paths.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementPath:[^:]+$",
+      "example": "srn:<namespace>:reference-data/VerticalMeasurementPath:72746ae9-55ce-56fe-967d-5f2c29d6e19c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VerticalMeasurementPath:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementPath.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementPath.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementPath.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementSource.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementSource.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..63b7f605b60e4914c0f39126b69223c979e891c1
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementSource.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/VerticalMeasurementSource.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VerticalMeasurementSource",
+  "description": "Used to describe the type of vertical measurement sources.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementSource:[^:]+$",
+      "example": "srn:<namespace>:reference-data/VerticalMeasurementSource:6bdf9ea2-5287-5f0a-b905-939523eacd0d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VerticalMeasurementSource:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementSource.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementSource.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementSource.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..2c7146d671b751f7c81dbaf56bd3cba8eea9bce5
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/VerticalMeasurementType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VerticalMeasurementType",
+  "description": "Used to describe the type of vertical measurements.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/VerticalMeasurementType:acf4e6c5-f264-58ba-a2b6-d132daffb95c"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VerticalMeasurementType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/VerticalMeasurementType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellDatumType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellDatumType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f1ddaabc7d93c447c289991ea1346494c1a4cf0f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellDatumType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/WellDatumType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WellDatumType",
+  "description": "Used to describe the type of well datums.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/WellDatumType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/WellDatumType:628f8f7d-8389-5d99-ae02-990d766c9866"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WellDatumType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellDatumType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellDatumType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellDatumType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellInterestType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellInterestType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..b787b71b47f8851c6fe3407ee7f9e67c75c74227
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellInterestType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/WellInterestType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WellInterestType",
+  "description": "Used to describe the type of well interests.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/WellInterestType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/WellInterestType:ea7895bf-8a09-586d-8a55-303fb66a1723"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WellInterestType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellInterestType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellInterestType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellInterestType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellboreTrajectoryType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellboreTrajectoryType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..6657323ca33c5dac1f4ab08c157983004f88f79f
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellboreTrajectoryType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/WellboreTrajectoryType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WellboreTrajectoryType",
+  "description": "Used to describe the type of wellbore trajectories.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/WellboreTrajectoryType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/WellboreTrajectoryType:81c4eed9-da90-528a-8986-9944869c7175"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WellboreTrajectoryType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellboreTrajectoryType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellboreTrajectoryType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WellboreTrajectoryType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WordFormatType.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WordFormatType.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8a0c708ae0a7a59d0a90d1db5cdaac738159bef3
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WordFormatType.1.0.0.json
@@ -0,0 +1,138 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/reference-data/WordFormatType.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WordFormatType",
+  "description": "Reference data for primitive data format types which describe the computer interpretation of a storage word, such as Integer, Float.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/WordFormatType:[^:]+$",
+      "example": "srn:<namespace>:reference-data/WordFormatType:0e61bb8c-e36d-5c8f-9592-eb9bf101d176"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WordFormatType:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "reference-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractReferenceType.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WordFormatType.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WordFormatType.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/reference-data/WordFormatType.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/type/Type.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/type/Type.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..1e888792bf841a13bc2989d3f721b46927b5a2c9
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/type/Type.1.0.0.json
@@ -0,0 +1,202 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/type/Type.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Type",
+  "description": "The generic type entity.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:type\\/Type:[^:]+$",
+      "example": "srn:<namespace>:type/Type:918547c4-9284-5211-afcf-dcb6e7ddc12b"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Type:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "type"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "Description": {
+              "title": "Concept Description",
+              "description": "A detailed description of the concept represented by the type and, if necessary, with relationships to other concepts/types defined in the ecosystem.",
+              "type": "string"
+            },
+            "Schema": {
+              "title": "JSON Schema",
+              "description": "The JSON schema version.",
+              "type": "string",
+              "example": "http://json-schema.org/draft-07/schema#"
+            },
+            "NaturalKeys": {
+              "title": "Natural Keys",
+              "description": "Identifies the natural keys if declared. The keys are identified via the dot notation; example: assume the ProjectName is the natural key for a SeismicAcquisitionProject then the natural key reference would be \"[Data.ProjectName]\".",
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "SchemaID": {
+              "title": "Schema ID",
+              "description": "The schema ID corresponding to the type",
+              "type": "string",
+              "example": "https://schema.osdu.opengroup.org/json/type/Type.1.0.0.json"
+            },
+            "Name": {
+              "title": "Type Name",
+              "x-osdu-natural-key": 0,
+              "description": "The name of the type, or entity type name. The name represents a concept. It is expected that the concept, e.g. Wellbore, can be described by multiple different schemas, which are closely associated with the original data source. Eventually one normalized schema kind is identified, into which the individual contributions can be merged. It is expected that this schema is or is close to the OSDU data definition where defined.",
+              "type": "string"
+            },
+            "SchemaKind": {
+              "title": "Schema Kind",
+              "description": "The latest schema kind as registered with the schema service. The evaluation is based on the semantic version number of the schema.",
+              "type": "string",
+              "example": "osdu:osdu:type/Type:1.0.0"
+            },
+            "IsReferenceValueType": {
+              "title": "Reference Value Type Flag",
+              "description": "The flag indicating that this type is a reference value type.",
+              "type": "boolean"
+            },
+            "GovernanceAuthorities": {
+              "title": "Governance Authorities",
+              "description": "The Authorities governing the contents.",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:reference-data\\/OrganisationType:[^:]+:[0-9]*$"
+              }
+            },
+            "GovernanceModel": {
+              "title": "Governance for Reference Values",
+              "description": "The style of governance (only relevant for IsReferenceValueType==true) - it can be FIXED (content must not be augmented), OPEN (additions and changes allowed) or LOCAL (content is exclusively governed by operator).",
+              "type": "string",
+              "enum": [
+                "FIXED",
+                "OPEN",
+                "LOCAL"
+              ]
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "x-osdu-governance-model": "OPEN"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/type/Type.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/type/Type.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..a7ba6fd16702e164a45bf8332358280b9756f682
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/type/Type.1.0.0.json.res
@@ -0,0 +1,41 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "Description"
+    },
+    {
+      "kind": "string",
+      "path": "Schema"
+    },
+    {
+      "kind": "[]string",
+      "path": "NaturalKeys"
+    },
+    {
+      "kind": "string",
+      "path": "SchemaID"
+    },
+    {
+      "kind": "string",
+      "path": "Name"
+    },
+    {
+      "kind": "string",
+      "path": "SchemaKind"
+    },
+    {
+      "kind": "bool",
+      "path": "IsReferenceValueType"
+    },
+    {
+      "kind": "[]link",
+      "path": "GovernanceAuthorities"
+    },
+    {
+      "kind": "string",
+      "path": "GovernanceModel"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/DataQuality.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/DataQuality.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..bb74dc7d7c4b5b4cfc97d88e2749436f3417a65d
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/DataQuality.1.0.0.json
@@ -0,0 +1,159 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/DataQuality.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "DataQuality",
+  "description": "This is used to store result from a run of Data Quality Metric Evaluation engine. Captures summary information, such as which Business rule-set(s) and rule(s) have been used, when this was run and by whom. Detailed result (such as which rule failed, for which meta data item and what was offending value causing the rule to fail) is meant to be made available in a file that is linked to this work-product component. Through Lineage Assertion, this can relate to the entities which were used for the run of Evaluation engine, such as a collection of wells whose meta data were inspected by using a set of rules.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/DataQuality:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/DataQuality:9e9f39da-6df2-5416-bfb0-b301ee4c1173"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:DataQuality:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "EvaluatedRecordID": {
+              "description": "The reference to the evaluated data record. The record version number is required.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:(data-collection|master-data|work-product|work-product-component)\\/[A-Za-z0-9]+:[^:]+:[0-9]+$"
+            },
+            "BusinessRules": {
+              "description": "The BusinessRules on which this quality evaluation is based on combined with the run status results.",
+              "$ref": "../abstract/AbstractBusinessRule.1.0.0.json"
+            },
+            "QualityMetric": {
+              "description": "The list of evaluated quality metrics for the evaluated data record.",
+              "$ref": "../abstract/AbstractQualityMetric.1.0.0.json"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/DataQuality.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/DataQuality.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..4fca0481f0ddd41127b690263537a73bff52f9f8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/DataQuality.1.0.0.json.res
@@ -0,0 +1,9 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "EvaluatedRecordID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/Document.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/Document.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..49a4d6c8917f0c3669450959a9292d118c9ad20a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/Document.1.0.0.json
@@ -0,0 +1,177 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/Document.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Document",
+  "description": "",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/Document:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/Document:1cce1538-4b32-5f9a-96b0-c3413ef50667"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Document:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "DocumentTypeID": {
+              "description": "The kind of document--from a business standpoint, e.g., seismic processing report, etc.",
+              "pattern": "^srn:<namespace>:reference-data\\/DocumentType:[^:]+:[0-9]*$",
+              "type": "string"
+            },
+            "NumberOfPages": {
+              "description": "Number of pages in the document, useful in cases where if it was described in the acquired manifest as opposed to a derived/calculated value",
+              "type": "integer"
+            },
+            "SubTitle": {
+              "description": "The sub-title of the document.",
+              "type": "string"
+            },
+            "DocumentSubject": {
+              "description": "A description text or an array of subjects covered by the document. If present this information must compliment the Tag and SubTitle",
+              "type": "string"
+            },
+            "DatePublished": {
+              "description": "The UTC date time and date of the document publication",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DateModified": {
+              "description": "The UTC date time and date of the document when it was last modified",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DocumentLanguage": {
+              "description": "Document language as listed in the ISO 639-3 https://en.wikipedia.org/wiki/ISO_639, https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes",
+              "type": "string"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/Document.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/Document.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..9a2431325f6a9e27e89aca35c005df1b40010634
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/Document.1.0.0.json.res
@@ -0,0 +1,33 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "DocumentTypeID"
+    },
+    {
+      "kind": "int",
+      "path": "NumberOfPages"
+    },
+    {
+      "kind": "string",
+      "path": "SubTitle"
+    },
+    {
+      "kind": "string",
+      "path": "DocumentSubject"
+    },
+    {
+      "kind": "datetime",
+      "path": "DatePublished"
+    },
+    {
+      "kind": "datetime",
+      "path": "DateModified"
+    },
+    {
+      "kind": "string",
+      "path": "DocumentLanguage"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/FaultSystem.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/FaultSystem.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ca00fc7a657bd2e0491d583370d06e96fa9b24f2
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/FaultSystem.1.0.0.json
@@ -0,0 +1,289 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/FaultSystem.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "FaultSystem",
+  "description": "A set of picked faults.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/FaultSystem:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/FaultSystem:b877730b-1aec-566d-a8fd-807bb0a47a5f"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:FaultSystem:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "SeismicPickingTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicPickingType:[^:]+:[0-9]*$",
+              "description": "Method used to pick faults. E.g.Autotracked, Grid, Manual Picked, Mixed."
+            },
+            "Remark": {
+              "type": "string",
+              "description": "Optional comment to capture interpreter thoughts.  Distinguished from Description which is a general explanation of the object."
+            },
+            "SeismicTraceDataIDs": {
+              "description": "Seismic Volumes picked against",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:work-product-component\\/SeismicTraceData:[^:]+:[0-9]*$"
+              }
+            },
+            "SeismicDomainTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicDomainType:[^:]+:[0-9]*$",
+              "description": "Vertical domain of faults.  E.g. Time, Depth"
+            },
+            "SeismicDomainUOM": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+              "description": "Unit of measurement for vertical domain"
+            },
+            "HorizontalCRSID": {
+              "type": "string",
+              "description": "The CRS for surface coordinates used in fault locations if not specified in File.",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+            },
+            "BinGridID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/SeismicBinGrid:[^:]+:[0-9]*$",
+              "description": "the Bin Grid of the Fault System when coordinates are specified in seismic bin inline/crossline."
+            },
+            "VerticalDatumOffset": {
+              "type": "number",
+              "description": "Datum value, the elevation of zero time/depth on the vertical axis in the domain of seismicdomaintype relative to the vertical reference datum used (usually MSL). Positive is upward from zero elevation to seismic datum).",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "VerticalMeasurementTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+:[0-9]*$",
+              "description": "Identifies a vertical reference datum type. E.g. mean sea level, ground level, mudline."
+            },
+            "ReplacementVelocity": {
+              "type": "number",
+              "description": "Value used to produce vertical static shifts in data",
+              "x-osdu-frame-of-reference": "UOM:velocity"
+            },
+            "Faults": {
+              "type": "array",
+              "description": "Array of Faults that comprise the Fault System",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "SeismicFaultName": {
+                    "type": "string",
+                    "description": "Name of an individual fault within a fault system."
+                  },
+                  "SeismicFaultTypeID": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/SeismicFaultType:[^:]+:[0-9]*$",
+                    "description": "Geological type of fault geometry. E.g. Thrust (thr), Reverse (rev), Normal(norm)"
+                  },
+                  "SeismicPickingTypeID": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/SeismicPickingType:[^:]+:[0-9]*$",
+                    "description": "Method used to pick faults. E.g.Autotracked, Grid, Manual Picked"
+                  },
+                  "SeismicFaultLength": {
+                    "type": "number",
+                    "description": "Maximum linear dimension measured along strike of the slip surface",
+                    "x-osdu-frame-of-reference": "UOM_via_property:SeismicFaultLengthUOM"
+                  },
+                  "SeismicFaultLengthUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "ID of the Unit of Measure of the Length of the Fault"
+                  },
+                  "SeismicFaultSurfaceArea": {
+                    "type": "number",
+                    "description": "Surface Area of the Fault Plane",
+                    "x-osdu-frame-of-reference": "UOM_via_property:SeismicFaultSurfaceAreaUOM"
+                  },
+                  "SeismicFaultSurfaceAreaUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "ID of the Unit of Measure of the Surface Area of the Fault"
+                  },
+                  "VerticalFaultDipAngle": {
+                    "type": "number",
+                    "description": "Maximum vertical angle of fault",
+                    "x-osdu-frame-of-reference": "UOM_via_property:VerticalFaultDipAngleUOM"
+                  },
+                  "VerticalFaultDipAngleUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "ID of the Unit of Measure of the Dip angle of the Fault"
+                  },
+                  "FaultHeaveNumber": {
+                    "type": "number",
+                    "description": "Maximum stratigraphic heave, the apparent horizontal component of the net-slip.",
+                    "x-osdu-frame-of-reference": "UOM_via_property:FaultHeaveNumberUOM"
+                  },
+                  "FaultHeaveNumberUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "ID of the Unit of Measure of the FaultHeaveNumber"
+                  },
+                  "FaultNetSlipNumber": {
+                    "type": "number",
+                    "description": "Net (average) Slip",
+                    "x-osdu-frame-of-reference": "UOM_via_property:FaultNetSlipNumberUOM"
+                  },
+                  "FaultNetSlipNumberUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "ID of the Unit of Measure of the FaultNetSlipNumber"
+                  },
+                  "StratigraphicFaultOffset": {
+                    "type": "number",
+                    "description": "Maximum vertical offset of faulted strata.",
+                    "x-osdu-frame-of-reference": "UOM_via_property:StratigraphicFaultOffsetUOM"
+                  },
+                  "StratigraphicFaultOffsetUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "ID of the Unit of Measure of the StratigraphicFaultOffset"
+                  },
+                  "Remark": {
+                    "type": "string",
+                    "description": "Optional comment"
+                  },
+                  "Interpreter": {
+                    "description": "The person or team who interpreted the fault data.",
+                    "type": "string"
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/FaultSystem.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/FaultSystem.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..dcb36b14a34304c636d5f6d8a92c7714bdf59dff
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/FaultSystem.1.0.0.json.res
@@ -0,0 +1,45 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "SeismicPickingTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "Remark"
+    },
+    {
+      "kind": "[]link",
+      "path": "SeismicTraceDataIDs"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainUOM"
+    },
+    {
+      "kind": "link",
+      "path": "HorizontalCRSID"
+    },
+    {
+      "kind": "link",
+      "path": "BinGridID"
+    },
+    {
+      "kind": "double",
+      "path": "VerticalDatumOffset"
+    },
+    {
+      "kind": "link",
+      "path": "VerticalMeasurementTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "ReplacementVelocity"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/NotionalSeismicLine.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/NotionalSeismicLine.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..783cd5808f61707f300d886f6402b6516cf26601
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/NotionalSeismicLine.1.0.0.json
@@ -0,0 +1,153 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/NotionalSeismicLine.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "NotionalSeismicLine",
+  "description": "The set of geometries comprising a full seismic transect (referenced through parent-child relationships).  This entity encompasses the concept of a logical processed line.  The parts comprising it cover things like extensions and boundary crossings.  It is largely a data management object to help collect all the geometries pertaining to a transect.  It is not needed for interpretation.  The universal WPC Name property is essential for describing the principal, preferred line name for the full transect.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/NotionalSeismicLine:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/NotionalSeismicLine:14368eaf-9b94-56e3-9c44-27bbc2c71e0d"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:NotionalSeismicLine:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "LineNames": {
+              "description": "Segment names and aliases for the Line.",
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/NotionalSeismicLine.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/NotionalSeismicLine.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..89b0915440dbe8c50322cd1ee31d69168506adf5
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/NotionalSeismicLine.1.0.0.json.res
@@ -0,0 +1,9 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "[]string",
+      "path": "LineNames"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/PPFGDataset.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/PPFGDataset.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8c2d97a4d6fc694896a31e597625d3953696e1bd
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/PPFGDataset.1.0.0.json
@@ -0,0 +1,273 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/PPFGDataset.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "PPFGDataset",
+  "description": "Pore Pressure and Fracture (Pressure) Gradient (PPFG) data describes the predicted (Pre-drill) and actual (Post-drill) depth-related variations in overburden stress, pore pressure, fracture pressure and minimum principal stress within a wellbore and conveys the range of uncertainty in these values given various plausible geological scenarios. PPFG predictions are fundamental inputs for well design and construction and estimates of pore and fracture pressure are typically provided to the well planning and execution teams.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/PPFGDataset:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/PPFGDataset:d3176fee-bb48-5eb7-94c5-50876ac61c80"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:PPFGDataset:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "WellID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Well:[^:]+:[0-9]*$",
+              "description": "ID from the Well where the PPFG Work Product Component was recorded"
+            },
+            "WellboreID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$",
+              "description": "ID from the Wellbore where the PPFG Work Product Component was recorded"
+            },
+            "RecordDate": {
+              "type": "string",
+              "description": "The date that the PPFG data set was created by the PPFG practitioner or contractor",
+              "format": "date-time"
+            },
+            "ContextTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/PPFGContextType:[^:]+:[0-9]*$",
+              "description": "ID that reflects the context of the PPFG  data set, for example 'Pre-Drill' or 'Post-Drill'"
+            },
+            "ServiceCompanyID": {
+              "description": "ID of the service Company that acquired the PPFG",
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+            },
+            "Comment": {
+              "description": "Open comments from the calculation team",
+              "type": "string"
+            },
+            "ReferenceWellTrajectoryID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/WellboreTrajectory:[^:]+:[0-9]*$",
+              "description": "Id of the Reference WellTrajectory used for TVD's calculation"
+            },
+            "OffsetWellboreIDs": {
+              "description": "IDs of the offset Wellbores included in the context and calculations of this PPFG data set",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+              }
+            },
+            "PrimaryReferenceCurveID": {
+              "type": "string",
+              "description": "ID of the PPFG curve that is the primary reference or index. Derived from the PPFG curve ID "
+            },
+            "PrimaryReferenceType": {
+              "type": "string",
+              "description": "The type of the primary reference, for example 'TVDSS',  'MD' , 'TWT'"
+            },
+            "AbsentValueCharacters": {
+              "type": "string",
+              "description": "The characters that represent absent curve values in this data set, for example  '-999', 'NULL', '0', etc. Typically for legacy data "
+            },
+            "TectonicSetting": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TectonicSettingType:[^:]+:[0-9]*$",
+              "description": "Tectonic Scenario Setting for Planning and Pore Pressure Practitioners. Built into interpretive curves. Can be, for example 'Strike Slip'"
+            },
+            "GaugeType": {
+              "type": "string",
+              "description": "Free text to describe the type of gauge used for the pressure measurement"
+            },
+            "VerticalMeasurementID": {
+              "type": "string",
+              "description": "References an entry in the Vertical Measurement array for the Wellbore identified which defines the vertical reference pressure datum for the related PPFG curves in this data set. The pressure datum is used to calculate the average pressure gradient in"
+            },
+            "Curves": {
+              "description": "Array of curve that constitutes the whole PPFG Dataset",
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "CurveID": {
+                    "description": "The ID of the PPFG Curve",
+                    "type": "string"
+                  },
+                  "CurveName": {
+                    "description": "The original or as supplied PPFG curve name. Intended to hold historical or legacy information",
+                    "type": "string"
+                  },
+                  "CurveMainFamilyID": {
+                    "type": "string",
+                    "description": "ID of the Main Family Type of the PPFG quantity measured, for example 'Pore Pressure'. Primarily used for high level curve classification",
+                    "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveMainFamily:[^:]+:[0-9]*$"
+                  },
+                  "CurveFamilyID": {
+                    "type": "string",
+                    "description": "ID of the PPFG Curve Family of the PPFG quantity measured, for example 'Pore Pressure from Corrected Drilling Exponent'. An individual curve that belongs to a Main Family",
+                    "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveFamily:[^:]+:[0-9]*$"
+                  },
+                  "CurveFamilyMnemonicID": {
+                    "type": "string",
+                    "description": "ID of the mnemonic of the Curve Family which is the value as received either from external providers or from internal processing team, for example 'PP DxC'",
+                    "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveMnemonic:[^:]+:[0-9]*$"
+                  },
+                  "CurveProbabilityID": {
+                    "type": "string",
+                    "description": "ID of the PPFG Curve probability, for example 'Most Likely Case' and 'P50'",
+                    "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveProbability:[^:]+:[0-9]*$"
+                  },
+                  "CurveDataProcessingTypeID": {
+                    "description": "IDs of the type and level of processing that has been applied to the curve. An array of curve processing operations that have been applied, for example 'Smoothed', 'Calibrated', etc",
+                    "type": "array",
+                    "items": {
+                      "type": "string",
+                      "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveProcessingType:[^:]+:[0-9]*$"
+                    }
+                  },
+                  "CurveLithologyID": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveLithoType:[^:]+:[0-9]*$",
+                    "description": "ID of the lithological unit represented by the curve"
+                  },
+                  "CurveTransformModelTypeID": {
+                    "type": "string",
+                    "description": "ID of the empirical calibrated model used for pressure calculations from a petrophysical curve (sonic or resistivity logs), for example 'Eaton' and  'Bowers',... ",
+                    "pattern": "^srn:<namespace>:reference-data\\/PPFGCurveTransformModelType:[^:]+:[0-9]*$"
+                  },
+                  "CurveUOM": {
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+                    "description": "Unit of Measure of the Physical Quantity Measured by the curve. An ID to relevant unit of measure reference"
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/PPFGDataset.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/PPFGDataset.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..a4acccb5f1067b1f8e744a151049b1b8e9804ea7
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/PPFGDataset.1.0.0.json.res
@@ -0,0 +1,61 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "WellID"
+    },
+    {
+      "kind": "link",
+      "path": "WellboreID"
+    },
+    {
+      "kind": "datetime",
+      "path": "RecordDate"
+    },
+    {
+      "kind": "link",
+      "path": "ContextTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "ServiceCompanyID"
+    },
+    {
+      "kind": "string",
+      "path": "Comment"
+    },
+    {
+      "kind": "link",
+      "path": "ReferenceWellTrajectoryID"
+    },
+    {
+      "kind": "[]link",
+      "path": "OffsetWellboreIDs"
+    },
+    {
+      "kind": "string",
+      "path": "PrimaryReferenceCurveID"
+    },
+    {
+      "kind": "string",
+      "path": "PrimaryReferenceType"
+    },
+    {
+      "kind": "string",
+      "path": "AbsentValueCharacters"
+    },
+    {
+      "kind": "link",
+      "path": "TectonicSetting"
+    },
+    {
+      "kind": "string",
+      "path": "GaugeType"
+    },
+    {
+      "kind": "string",
+      "path": "VerticalMeasurementID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicBinGrid.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicBinGrid.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..c2b0ac41ee72e03b2cd70ae1208dc0b5cf8cefb8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicBinGrid.1.0.0.json
@@ -0,0 +1,144 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/SeismicBinGrid.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicBinGrid",
+  "description": "A representation of the surface positions for each subsurface node in a set of processed trace data work product components with common positions.  Different sampling (spacing) and extents (ranges) in the trace data may be handled by the same bin grid.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/SeismicBinGrid:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/SeismicBinGrid:c4075328-71b6-5130-b5f5-7b4f15d12530"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicBinGrid:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractBinGrid.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicBinGrid.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicBinGrid.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2d9d17526cba8caafafddc576c7e3cfe86abe5fe
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicBinGrid.1.0.0.json.res
@@ -0,0 +1,4 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": []
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicHorizon.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicHorizon.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..e73be6d665990638f94685fe7308d08d55876f7a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicHorizon.1.0.0.json
@@ -0,0 +1,283 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/SeismicHorizon.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicHorizon",
+  "description": "A set of picks related to seismic processing geometry which define a surface.  The geometry used is referenced by the Interpretation Project.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/SeismicHorizon:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/SeismicHorizon:691cde40-13ec-5d72-bb16-92b170b30a94"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicHorizon:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "Seismic3DInterpretationSurveyID": {
+              "type": "string",
+              "description": "For picks on 3D datasets, reference to the 3D interpretation survey (not the application project nor an acquisition survey) that supported this interpretation.  The seismic geometry (bin grid) needed to interpret the location references is inferred through the interpretation survey and no longer explicitly through this object.  The WPC SpatialArea may reflect the survey area that has the horizon picked on it for shallow search purposes.  Only this or Seismic2DInterpretationSurveyID may be used, but not both.",
+              "pattern": "^srn:<namespace>:master-data\\/Seismic3DInterpretationSurvey:[^:]+:[0-9]*$"
+            },
+            "Seismic2DInterpretationSurveyID": {
+              "type": "string",
+              "description": "For picks on 2D datasets, reference to the 2D interpretation survey (not the application project nor an acquisition survey) that supported this interpretation.  The seismic geometries (seismic line geometries) needed to interpret the location references are inferred through the interpretation survey.  The WPC SpatialArea may reflect the lines that have the horizon picked on it for shallow search purposes.  Only this or Seismic3DInterpretationSurveyID may be used, but not both.",
+              "pattern": "^srn:<namespace>:master-data\\/Seismic2DInterpretationSurvey:[^:]+:[0-9]*$"
+            },
+            "SeismicPickingTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicPickingType:[^:]+:[0-9]*$",
+              "description": "Picking method used for horizon e.g. Primary seed pick (seed), Interpolated seed pick (int), Autotracked seed pick (aut), Mixed, etc."
+            },
+            "SeismicDomainTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicDomainType:[^:]+:[0-9]*$",
+              "description": "Vertical domain of faults.  E.g. Time, Depth"
+            },
+            "SeismicDomainUOM": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+              "description": "Unit of measurement for vertical domain"
+            },
+            "VerticalDatumOffset": {
+              "type": "number",
+              "description": "Vertical reference datum points are stored in.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "VerticalMeasurementTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+:[0-9]*$",
+              "description": "Identifies a vertical reference datum type. E.g. mean sea level, ground level, mudline."
+            },
+            "ReplacementVelocity": {
+              "type": "number",
+              "description": "Value used to produce vertical static shifts in data",
+              "x-osdu-frame-of-reference": "UOM:velocity"
+            },
+            "SeismicHorizonTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicHorizonType:[^:]+:[0-9]*$",
+              "description": "e.g. Peak (pk), Trough (tr), Plus to Minus Zero Crossing, Minus to Plus Zero Crossing, Envelope (env), Not Applicable (na)"
+            },
+            "GeologicalUnitName": {
+              "type": "string",
+              "description": "Geological Unit (formation, bioevent, etc.) Name"
+            },
+            "GeologicalUnitAgeYear": {
+              "type": "string",
+              "description": "Age of Geologic unit (geochronological).  Number expected but is a string type to be consistent with wellbore marker."
+            },
+            "GeologicalUnitAgePeriod": {
+              "type": "string",
+              "description": "Age period of geologic unit (geochronological name of stage, etc.)"
+            },
+            "PetroleumSystemElementTypeID": {
+              "description": "A petroleum system element such as Reservoir, Source, Seal, etc.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/PetroleumSystemElementType:[^:]+:[0-9]*$"
+            },
+            "SeismicVelocityModelID": {
+              "description": "Velocity model used in depth conversion",
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/VelocityModeling:[^:]+:[0-9]*$"
+            },
+            "SeismicAttributes": {
+              "type": "array",
+              "description": "Summary of measurements included with horizon in addition to depth attribute.",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "SeismicAttributeTypeID": {
+                    "description": "The type of attribute value captured",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/SeismicAttributeType:[^:]+:[0-9]*$"
+                  },
+                  "SeismicAttributeUOM": {
+                    "description": "Unit of Measurement for attribute",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+                  },
+                  "SeismicAttributeMaxNumber": {
+                    "type": "number",
+                    "description": "Max value of attribute",
+                    "x-osdu-frame-of-reference": "UOM_via_property:SeismicAttributeUOM"
+                  },
+                  "SeismicAttributeMinNumber": {
+                    "type": "number",
+                    "description": "Min value of attribute",
+                    "x-osdu-frame-of-reference": "UOM_via_property:SeismicAttributeUOM"
+                  },
+                  "SeismicAttributeMeanNumber": {
+                    "type": "number",
+                    "description": "Mean value of attribute",
+                    "x-osdu-frame-of-reference": "UOM_via_property:SeismicAttributeUOM"
+                  }
+                }
+              }
+            },
+            "BinGridCoveragePercent": {
+              "type": "number",
+              "description": "Portion of bin grid covered by picked surface expressed in percent."
+            },
+            "InlineMin": {
+              "type": "number",
+              "description": "Smallest inline picked in surface."
+            },
+            "InlineMax": {
+              "type": "number",
+              "description": "Largest inline picked in surface."
+            },
+            "CrosslineMin": {
+              "type": "number",
+              "description": "Smallest crossline picked in surface."
+            },
+            "CrosslineMax": {
+              "type": "number",
+              "description": "Largest crossline picked in surface."
+            },
+            "Remark": {
+              "type": "string",
+              "description": "Optional comment providing thoughts from the interpreter.  Description is to provide a general explanation of the horizon."
+            },
+            "Interpreter": {
+              "description": "The person or team who interpreted the fault data.",
+              "type": "string"
+            },
+            "SeismicTraceDataID": {
+              "description": "Seismic Volumes picked against.  Only applies to 3D.",
+              "type": "array",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:work-product-component\\/SeismicTraceData:[^:]+:[0-9]*$"
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicHorizon.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicHorizon.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..2111df9489d16a567f9c21e5123015f204a24f9c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicHorizon.1.0.0.json.res
@@ -0,0 +1,93 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "Seismic3DInterpretationSurveyID"
+    },
+    {
+      "kind": "link",
+      "path": "Seismic2DInterpretationSurveyID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicPickingTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainUOM"
+    },
+    {
+      "kind": "double",
+      "path": "VerticalDatumOffset"
+    },
+    {
+      "kind": "link",
+      "path": "VerticalMeasurementTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "ReplacementVelocity"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicHorizonTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "GeologicalUnitName"
+    },
+    {
+      "kind": "string",
+      "path": "GeologicalUnitAgeYear"
+    },
+    {
+      "kind": "string",
+      "path": "GeologicalUnitAgePeriod"
+    },
+    {
+      "kind": "link",
+      "path": "PetroleumSystemElementTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicVelocityModelID"
+    },
+    {
+      "kind": "double",
+      "path": "BinGridCoveragePercent"
+    },
+    {
+      "kind": "double",
+      "path": "InlineMin"
+    },
+    {
+      "kind": "double",
+      "path": "InlineMax"
+    },
+    {
+      "kind": "double",
+      "path": "CrosslineMin"
+    },
+    {
+      "kind": "double",
+      "path": "CrosslineMax"
+    },
+    {
+      "kind": "string",
+      "path": "Remark"
+    },
+    {
+      "kind": "string",
+      "path": "Interpreter"
+    },
+    {
+      "kind": "[]link",
+      "path": "SeismicTraceDataID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicLineGeometry.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicLineGeometry.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..f700e8e844d1398a6fea43e5319f2580aa2b3987
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicLineGeometry.1.0.0.json
@@ -0,0 +1,193 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/SeismicLineGeometry.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicLineGeometry",
+  "description": "The 2D processing geometry of a 2D seismic line.  This is not the navigation (acquisition surface geometry). The fully sampled geometry is contained in the work product component's file.  This shows the relationship between CMP, X, Y, and station label. The ends and bends version for mapping purposes is in the work product component's spatial area.  The Name universal property is essential for describing the Line Name.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/SeismicLineGeometry:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/SeismicLineGeometry:650c854d-a92b-5fd7-a4f8-cf613af1ca1e"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicLineGeometry:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "NotionalSeismicLineID": {
+              "type": "string",
+              "description": "SRN reference to the Line concept that comprises all the 2D geometries belonging to the same seismic transect, of which this one is a part.",
+              "pattern": "^srn:<namespace>:work-product-component\\/NotionalSeismicLine:[^:]+:[0-9]+$"
+            },
+            "Preferred2DInterpretationSurveyID": {
+              "type": "string",
+              "description": "Reference to the 2D Interpretation Survey which collects the favored geometries in an area or survey.",
+              "pattern": "^srn:<namespace>:master-data\\/Seismic2DInterpretationSurvey:[^:]+:[0-9]*$"
+            },
+            "HorizontalCRSID": {
+              "description": "Reference to CRS of CMP table File if absent from File or given ambiguously.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+            },
+            "FirstCMP": {
+              "type": "number",
+              "description": "Smallest CMP number in geometry definition."
+            },
+            "LastCMP": {
+              "type": "number",
+              "description": "Largest CMP number in geometry definition."
+            },
+            "FirstLocation": {
+              "description": "SpatialLocation corresponding to FirstCMP.",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            },
+            "LastLocation": {
+              "description": "SpatialLocation corresponding to LastCMP.",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            },
+            "FirstStationLabel": {
+              "type": "string",
+              "description": "Station label (such as shot point name) corresponding to FirstCMP"
+            },
+            "LastStationLabel": {
+              "type": "string",
+              "description": "Station label (such as shot point name) corresponding to LastCMP"
+            },
+            "HasMonotonicLabelling": {
+              "type": "boolean",
+              "description": "Indicates that the station label (SP name) changes monotonically with respect to CMP."
+            },
+            "HasCMPIncreaseByOne": {
+              "type": "boolean",
+              "description": "Indicates that CMP numbering increases regularly by 1."
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicLineGeometry.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicLineGeometry.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..5cdc1c147c731e13eb102b41aeb7cb376429106b
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicLineGeometry.1.0.0.json.res
@@ -0,0 +1,41 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "NotionalSeismicLineID"
+    },
+    {
+      "kind": "link",
+      "path": "Preferred2DInterpretationSurveyID"
+    },
+    {
+      "kind": "link",
+      "path": "HorizontalCRSID"
+    },
+    {
+      "kind": "double",
+      "path": "FirstCMP"
+    },
+    {
+      "kind": "double",
+      "path": "LastCMP"
+    },
+    {
+      "kind": "string",
+      "path": "FirstStationLabel"
+    },
+    {
+      "kind": "string",
+      "path": "LastStationLabel"
+    },
+    {
+      "kind": "bool",
+      "path": "HasMonotonicLabelling"
+    },
+    {
+      "kind": "bool",
+      "path": "HasCMPIncreaseByOne"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicTraceData.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicTraceData.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..7736fc1d696f99d22bc825b331c1dd28f65f3b60
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicTraceData.1.0.0.json
@@ -0,0 +1,433 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/SeismicTraceData.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "SeismicTraceData",
+  "description": "A single logical dataset containing seismic samples.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/SeismicTraceData:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/SeismicTraceData:1f855537-dea8-5b2a-a6d6-63fc9a0bbac1"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:SeismicTraceData:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "LiveTraceOutline": {
+              "description": "Polygon showing the coverage of live traces in the trace dataset",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            },
+            "BinGridID": {
+              "type": "string",
+              "description": "Reference to the WPC which describes the node positions of the processed bin centers.  These are indexed from the trace file using inline and crossline. ",
+              "pattern": "^srn:<namespace>:work-product-component\\/SeismicBinGrid:[^:]+:[0-9]+$"
+            },
+            "HorizontalCRSID": {
+              "description": "Coordinate reference system of positions in trace header, which matches what is described in BinGrid but is repeated here for convenience and in case bin grid is not defined.  In case of conflict with Bin Grid, this value applies to the coordinates as written into CMPX, CMPY headers. Nevertheless, Bin Grid should be used for mapping purposes.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+            },
+            "SeismicLineGeometryID": {
+              "type": "string",
+              "description": "Reference to Seismic Line Geometry for 2D seismic processing which describes the node positions of the processed bin centers.  These are indexed from the trace file using CMP (not trace number).",
+              "pattern": "^srn:<namespace>:work-product-component\\/SeismicLineGeometry:[^:]+:[0-9]+$"
+            },
+            "TraceRelationFileID": {
+              "type": "string",
+              "description": "The SRN of a file within the WPC that shows the relationship between trace index and CMP number if the trace data file CMP header is unreliable (for 2D).",
+              "pattern": "^srn:<namespace>:file\\/File:[^:]+:[0-9]*$"
+            },
+            "PrincipalAcquisitionProjectID": {
+              "type": "string",
+              "description": "For most datasets, the acquisition project that generated the underlying field data.  For merges, probably absent (see processing project for set of acquisition projects used in processing this dataset).",
+              "pattern": "^srn:<namespace>:master-data\\/SeismicAcquisitionProject:[^:]+:[0-9]*$"
+            },
+            "ProcessingProjectID": {
+              "type": "string",
+              "description": "The processing project from which this trace dataset was produced.  Absent for field data.",
+              "pattern": "^srn:<namespace>:master-data\\/SeismicProcessingProject:[^:]+:[0-9]*$"
+            },
+            "Preferred3DInterpretationSurveyID": {
+              "type": "string",
+              "description": "For a 3D volume (including linear subsets), SRN of the 3D Seismic Interpretation Survey which can be considered the master for the area and of which this trace dataset is a privileged member.  It defines the set of trace datasets of a particular bin grid that form the best set for interpretation (not an acquisition survey).",
+              "pattern": "^srn:<namespace>:master-data\\/Seismic3DInterpretationSurvey:[^:]+:[0-9]*$"
+            },
+            "Preferred2DInterpretationSurveyID": {
+              "type": "string",
+              "description": "For a 2D line section, SRN of the 2D Seismic Interpretation Survey which can be considered the master for the area and of which this trace dataset is a privileged member.  It defines the set of trace datasets of a particular cohesive set of 2D processing geometries in a survey area that form the best set for interpretation (not an acquisition survey).",
+              "pattern": "^srn:<namespace>:master-data\\/Seismic2DInterpretationSurvey:[^:]+:[0-9]*$"
+            },
+            "SeismicTraceDataDimensionalityTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicTraceDataDimensionalityType:[^:]+:[0-9]*$",
+              "description": "The dimensionality of trace data sets (not as acquired but as in the dataset), such as 2D, 3D, 4D."
+            },
+            "SeismicDomainTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicDomainType:[^:]+:[0-9]*$",
+              "description": "ID of the nature of the vertical axis in the trace data set, usually Depth or Time."
+            },
+            "Seismic2DName": {
+              "type": "string",
+              "description": "2D line name or survey name for the 2D group"
+            },
+            "SeismicMigrationTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicMigrationType:[^:]+:[0-9]*$",
+              "description": "ID of the Seismic Migration Data Type"
+            },
+            "SeismicStackingTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicStackingType:[^:]+:[0-9]*$",
+              "description": "ID of the Seismic Stacking Type"
+            },
+            "SeismicAttributeTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicAttributeType:[^:]+:[0-9]*$",
+              "description": "ID of the Seismic Trace Data Type"
+            },
+            "SeismicFilteringTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicFilteringType:[^:]+:[0-9]*$",
+              "description": "ID of the Seismic Filtering Type"
+            },
+            "Phase": {
+              "type": "string",
+              "description": "Amount of phase rotation applied to data"
+            },
+            "Polarity": {
+              "type": "string",
+              "description": "Reflection polarity of embedded wavelet.  Normal, Reverse, Plus 90, Minus 90 according to SEG standard."
+            },
+            "SeismicProcessingStageTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicProcessingStageType:[^:]+:[0-9]*$",
+              "description": "It specifies if the seismic is as acquired, or has been manipulated by a process or workflow before arriving at its current state."
+            },
+            "SampleInterval": {
+              "type": "number",
+              "description": "Vertical sampling interval of data.",
+              "x-osdu-frame-of-reference": "UOM_via_property:TraceDomainUOM"
+            },
+            "SampleCount": {
+              "type": "integer",
+              "description": "Number of samples in the vertical direction."
+            },
+            "Difference": {
+              "type": "boolean",
+              "description": "Indicates if the volume is a product of the difference between 4D surveys"
+            },
+            "StartTime": {
+              "type": "number",
+              "description": "The sample axis value in the vertical dimension at which Time formatted data starts. Use SeismicDomainType to know which of time or depth pairs is the actual range vs. what is estimated.",
+              "x-osdu-frame-of-reference": "UOM:time"
+            },
+            "EndTime": {
+              "type": "number",
+              "description": "The sample axis value in the vertical dimension at which Time formatted data starts. Use SeismicDomainType to know which of time or depth pairs is the actual range vs. what is estimated.",
+              "x-osdu-frame-of-reference": "UOM:time"
+            },
+            "StartDepth": {
+              "type": "number",
+              "description": "The sample axis value in the vertical dimension at which Depth formatted data starts. Use SeismicDomainType to know which of time or depth pairs is the actual range vs. what is estimated.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "EndDepth": {
+              "type": "number",
+              "description": "The sample axis value in the vertical dimension at which Depth formatted data ends. Use SeismicDomainType to know which of time or depth pairs is the actual range vs. what is estimated.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TraceCount": {
+              "type": "integer",
+              "description": "How many traces are in the volume"
+            },
+            "TraceLength": {
+              "type": "number",
+              "description": "Maximum trace length calculated using depth or time start and end points as appropriate according to SeismicDomainType.",
+              "x-osdu-frame-of-reference": "UOM_via_property:TraceDomainUOM"
+            },
+            "TraceDomainUOM": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+              "description": "UOM for vertical trace domain values"
+            },
+            "FirstShotPoint": {
+              "type": "number",
+              "description": "The shotpoint that came before all others"
+            },
+            "LastShotPoint": {
+              "type": "number",
+              "description": "The last shotpoint represented by the data"
+            },
+            "FirstCMP": {
+              "type": "number",
+              "description": "First Common Mid Point"
+            },
+            "LastCMP": {
+              "type": "number",
+              "description": "Last Common Mid Point"
+            },
+            "InlineMin": {
+              "type": "number",
+              "description": "Smallest Inline/Line/Track value"
+            },
+            "InlineMax": {
+              "type": "number",
+              "description": "Largest Inline/Line/Track value"
+            },
+            "CrosslineMin": {
+              "type": "number",
+              "description": "Smallest Xline/Cross line/Bin Value"
+            },
+            "CrosslineMax": {
+              "type": "number",
+              "description": "Largest Xline/Cross line/Bin Value"
+            },
+            "InlineIncrement": {
+              "type": "number",
+              "description": "Sampling interval of inlines in this dataset (difference in labels between neighboring inlines)."
+            },
+            "CrosslineIncrement": {
+              "type": "number",
+              "description": "Sampling interval of crosslines in this dataset (difference in labels between neighboring crosslines)."
+            },
+            "VerticalDatumOffset": {
+              "type": "number",
+              "description": "Datum value, the elevation of zero time/depth on the vertical axis in the domain of SeismicDomainType relative to the vertical reference datum used (usually MSL). Positive is upward from zero elevation to seismic datum).",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "VerticalMeasurementTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+:[0-9]*$",
+              "description": "Identifies a vertical reference datum type. E.g. mean sea level, ground level, mudline."
+            },
+            "ReplacementVelocity": {
+              "type": "number",
+              "description": "Value used to produce vertical static shifts in data",
+              "x-osdu-frame-of-reference": "UOM:velocity"
+            },
+            "ShiftApplied": {
+              "type": "number",
+              "description": "Indicates how much the data has been shifted from the Vertical Datum (seismic reference datum) in the domain and units of SeismicDomainType and in the sense that a positive number causes a sample to move downward in physical space (lower elevation).",
+              "x-osdu-frame-of-reference": "UOM_via_property:TraceDomainUOM"
+            },
+            "Precision": {
+              "description": "Sample data format in terms of sample value precision 8bit Integer, 16bit Floating Point etc.",
+              "type": "object",
+              "properties": {
+                "WordFormat": {
+                  "description": "SRN of a reference value for binary data types, such as INT, UINT, FLOAT, IBM_FLOAT, ASCII, EBCDIC.",
+                  "type": "string",
+                  "pattern": "^srn:<namespace>:reference-data\\/WordFormatType:[^:]+:[0-9]*$"
+                },
+                "WordWidth": {
+                  "description": "Size of the word in bytes.",
+                  "type": "integer"
+                }
+              }
+            },
+            "ProcessingParameters": {
+              "type": "array",
+              "description": "Processing Parameters to simply capture process history until full provenance model can be implemented.",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "ProcessingParameterTypeID": {
+                    "type": "string",
+                    "description": "Processing Parameter Type",
+                    "pattern": "^srn:<namespace>:reference-data\\/ProcessingParameterType:[^:]+:[0-9]*$"
+                  },
+                  "ProcessingParameterValue": {
+                    "type": "string",
+                    "description": "The quantity for the processing parameter. May include units, ordering, and other descriptions."
+                  }
+                }
+              }
+            },
+            "CoveragePercent": {
+              "type": "number",
+              "description": "Actual nominal fold of the trace data set as processed, expressed as the mode in percentage points (60 fold = 6000%)."
+            },
+            "TextualFileHeader": {
+              "description": "Character metadata from headers inside file, such as the EBCDIC header of SEGY.  This is an array to capture each stanza separately.",
+              "type": "array",
+              "items": {
+                "type": "string"
+              }
+            },
+            "RangeAmplitudeMax": {
+              "type": "number",
+              "description": "The actual maximum amplitude value found in the dataset.",
+              "x-osdu-frame-of-reference": "UOM:"
+            },
+            "RangeAmplitudeMin": {
+              "type": "number",
+              "description": "The actual minimum amplitude value found in the dataset.",
+              "x-osdu-frame-of-reference": "UOM:"
+            },
+            "StackAngleRangeMax": {
+              "type": "number",
+              "description": "The stacking angle range maximum used during processing of this trace data set.",
+              "x-osdu-frame-of-reference": "UOM:plane angle"
+            },
+            "StackAngleRangeMin": {
+              "type": "number",
+              "description": "The stacking angle range minimum used during processing of this trace data set.",
+              "x-osdu-frame-of-reference": "UOM:plane angle"
+            },
+            "StackAzimuthRangeMax": {
+              "type": "number",
+              "description": "The stacking azimuth range maximum used during processing of this trace data set.",
+              "x-osdu-frame-of-reference": "UOM:plane angle"
+            },
+            "StackAzimuthRangeMin": {
+              "type": "number",
+              "description": "The stacking azimuth range minimum used during processing of this trace data set.",
+              "x-osdu-frame-of-reference": "UOM:plane angle"
+            },
+            "StackOffsetRangeMax": {
+              "type": "number",
+              "description": "The stacking offset range maximum used during processing of this trace data set.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "StackOffsetRangeMin": {
+              "type": "number",
+              "description": "The stacking offset range minimum used during processing of this trace data set.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "SeismicWaveTypeID": {
+              "type": "string",
+              "description": "The observed wave mode type in this trace data set (P, Sv, etc).",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicWaveType:[^:]+:[0-9]*$"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicTraceData.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicTraceData.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..7c133d3efce2fc835b930253f0153a20211ead0a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/SeismicTraceData.1.0.0.json.res
@@ -0,0 +1,225 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "BinGridID"
+    },
+    {
+      "kind": "link",
+      "path": "HorizontalCRSID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicLineGeometryID"
+    },
+    {
+      "kind": "link",
+      "path": "TraceRelationFileID"
+    },
+    {
+      "kind": "link",
+      "path": "PrincipalAcquisitionProjectID"
+    },
+    {
+      "kind": "link",
+      "path": "ProcessingProjectID"
+    },
+    {
+      "kind": "link",
+      "path": "Preferred3DInterpretationSurveyID"
+    },
+    {
+      "kind": "link",
+      "path": "Preferred2DInterpretationSurveyID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicTraceDataDimensionalityTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "Seismic2DName"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicMigrationTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicStackingTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicAttributeTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicFilteringTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "Phase"
+    },
+    {
+      "kind": "string",
+      "path": "Polarity"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicProcessingStageTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "SampleInterval"
+    },
+    {
+      "kind": "int",
+      "path": "SampleCount"
+    },
+    {
+      "kind": "bool",
+      "path": "Difference"
+    },
+    {
+      "kind": "double",
+      "path": "StartTime"
+    },
+    {
+      "kind": "double",
+      "path": "EndTime"
+    },
+    {
+      "kind": "double",
+      "path": "StartDepth"
+    },
+    {
+      "kind": "double",
+      "path": "EndDepth"
+    },
+    {
+      "kind": "int",
+      "path": "TraceCount"
+    },
+    {
+      "kind": "double",
+      "path": "TraceLength"
+    },
+    {
+      "kind": "link",
+      "path": "TraceDomainUOM"
+    },
+    {
+      "kind": "double",
+      "path": "FirstShotPoint"
+    },
+    {
+      "kind": "double",
+      "path": "LastShotPoint"
+    },
+    {
+      "kind": "double",
+      "path": "FirstCMP"
+    },
+    {
+      "kind": "double",
+      "path": "LastCMP"
+    },
+    {
+      "kind": "double",
+      "path": "InlineMin"
+    },
+    {
+      "kind": "double",
+      "path": "InlineMax"
+    },
+    {
+      "kind": "double",
+      "path": "CrosslineMin"
+    },
+    {
+      "kind": "double",
+      "path": "CrosslineMax"
+    },
+    {
+      "kind": "double",
+      "path": "InlineIncrement"
+    },
+    {
+      "kind": "double",
+      "path": "CrosslineIncrement"
+    },
+    {
+      "kind": "double",
+      "path": "VerticalDatumOffset"
+    },
+    {
+      "kind": "link",
+      "path": "VerticalMeasurementTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "ReplacementVelocity"
+    },
+    {
+      "kind": "double",
+      "path": "ShiftApplied"
+    },
+    {
+      "kind": "link",
+      "path": "Precision.WordFormat"
+    },
+    {
+      "kind": "int",
+      "path": "Precision.WordWidth"
+    },
+    {
+      "kind": "double",
+      "path": "CoveragePercent"
+    },
+    {
+      "kind": "[]string",
+      "path": "TextualFileHeader"
+    },
+    {
+      "kind": "double",
+      "path": "RangeAmplitudeMax"
+    },
+    {
+      "kind": "double",
+      "path": "RangeAmplitudeMin"
+    },
+    {
+      "kind": "double",
+      "path": "StackAngleRangeMax"
+    },
+    {
+      "kind": "double",
+      "path": "StackAngleRangeMin"
+    },
+    {
+      "kind": "double",
+      "path": "StackAzimuthRangeMax"
+    },
+    {
+      "kind": "double",
+      "path": "StackAzimuthRangeMin"
+    },
+    {
+      "kind": "double",
+      "path": "StackOffsetRangeMax"
+    },
+    {
+      "kind": "double",
+      "path": "StackOffsetRangeMin"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicWaveTypeID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularAssembly.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularAssembly.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..8d5298ac3d723f71e6433f04bff555d5cf650f97
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularAssembly.1.0.0.json
@@ -0,0 +1,268 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/TubularAssembly.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularAssembly",
+  "description": "Well Tubular data contains information on the tubular assemblies and their components for the well, wellbore, or wellbore completion (as appropriate). The tubulars can be tubing, casing or liners or other related equipment which is installed into the well. Tubulars can also be equipment which is lowered into the well in the context of drilling, which is then pulled back out.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/TubularAssembly:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/TubularAssembly:4536d4b5-311b-589f-8e30-422d34779b86"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularAssembly:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ParentWellboreID": {
+              "type": "string",
+              "description": "Identifier of the wellbore the Component is standing in.",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+            },
+            "ParentAssemblyID": {
+              "type": "string",
+              "description": "Optional - Identifier of the parent assembly (in case of side-track, multi-nesting,\u2026) - The Concentric Tubular model is used to identify the Assembly that an Assembly sits inside e.g. Surface Casing set inside Conductor, Tubing set inside Production Casing, a Bumper Spring set inside a Production Tubing Profile Nipple, Liner set inside Casing, etc. This is needed to enable a Digital Well Sketch application to understand relationships between Assemblies and their parent Wellbores.",
+              "pattern": "^srn:<namespace>:work-product-component\\/TubularAssembly:[^:]+:[0-9]*$"
+            },
+            "SuspensionPointMD": {
+              "description": "In case of multi-nesting of assemblies, the 'point' is the Measured Depth of the top of the assembly though with PBRs the Suspension Point may not be the top.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "ExpiryDate": {
+              "description": "The date that the data in this row was no longer active or in effect.",
+              "type": "string",
+              "format": "date-time",
+              "x-osdu-frame-of-reference": "DateTime"
+            },
+            "TubularAssemblyNumber": {
+              "description": "Sequence of the TubularAssembly (Typically BHA sequence)",
+              "type": "integer"
+            },
+            "PeriodObsNb": {
+              "description": "Unique identifier for a reporting period for well operations. Internationally, there may be 1, 2 or 3 periods each 24 hours. In some jurisdictions, reporting may occur for more than one period, such as for an 8 hour tour shift and a 24 daily summary.",
+              "type": "integer"
+            },
+            "TubularAssemblyTypeID": {
+              "description": "Type of tubular assembly.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TubularAssemblyType:[^:]+:[0-9]*$"
+            },
+            "StringClassID": {
+              "description": "Descriptor for Assembly, e.g. Production, Surface, Conductor, Intermediate, Drilling",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/StringClass:[^:]+:[0-9]*$"
+            },
+            "ActivityTypeID": {
+              "description": "Used to describe if it belongs to a RunActivity or to a PullActivity",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/ActivityType:[^:]+:[0-9]*$"
+            },
+            "ActivityTypeReasonDescription": {
+              "description": "Used to describe the reason of Activity - such as cut/pull, pulling,\u2026",
+              "type": "string"
+            },
+            "ArtificialLiftTypeID": {
+              "description": "Type of Artificial Lift used (could be \"Surface Pump\" / \"Submersible Pump\" / \"Gas Lift\"\u2026.)",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/ArtificialLiftType:[^:]+:[0-9]*$"
+            },
+            "LinerTypeID": {
+              "description": "This reference table describes the type of liner used in the borehole. For example, slotted, gravel packed or pre-perforated etc.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/LinerType:[^:]+:[0-9]*$"
+            },
+            "MixedStringIndicator": {
+              "description": "A YES or NO flag indicating the assembly is a mixed string. The length of the assembly may be made up of joints with different tensile strengths, or collapse resistance and yield strengths.",
+              "type": "string",
+              "pattern": "^YES|NO$"
+            },
+            "ActiveIndicator": {
+              "description": "Indicates if the Assembly is activated or not",
+              "type": "boolean"
+            },
+            "TubularDirection": {
+              "description": "Defines whether the sequence of child tubular components runs either top to bottom, or bottom to top.",
+              "type": "string",
+              "pattern": "^TOPDOWN|BOTTOMUP$"
+            },
+            "TubularAssemblyNominalSize": {
+              "description": "Nominal size (diameter) describing the whole assembly, e.g. 9.625\", 12.25",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TubularAssemblyTotalLength": {
+              "description": "Total Length of the whole assembly.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "DriftDiameter": {
+              "description": "The drift diameter is the inside diameter (ID) that the pipe manufacturer guarantees per specifications. Note that the nominal inside diameter is not the same as the drift diameter but is always slightly larger. The drift diameter is used by the well planner to determine what size tools or casing strings can later be run through the casing, whereas the nominal inside diameter is used for fluid volume calculations such as mud circulating times and cement slurry placement calculations.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "MinimumInnerDiameter": {
+              "description": "This is the minimum inner diameter of the whole assembly.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "PilotHoleSize": {
+              "description": "Diameter of the Pilot Hole",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "SeaFloorPenetrationLength": {
+              "description": "the distance that the assembly has penetrated below the surface of the sea floor.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "AssemblyTopMD": {
+              "description": "The measured depth of the top from the whole assembly",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "AssemblyBaseMD": {
+              "description": "The measured depth of the base from the whole assembly",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "AssemblyTopReportedTVD": {
+              "description": "Depth of the top of the Assembly measured from the Well-Head",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "AssemblyBaseReportedTVD": {
+              "description": "Depth of the base of the Assembly measured from the Well-Head",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularAssembly.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularAssembly.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..834866532b29c384ad279c575f438c3d1ec2d4c0
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularAssembly.1.0.0.json.res
@@ -0,0 +1,105 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "ParentWellboreID"
+    },
+    {
+      "kind": "link",
+      "path": "ParentAssemblyID"
+    },
+    {
+      "kind": "double",
+      "path": "SuspensionPointMD"
+    },
+    {
+      "kind": "datetime",
+      "path": "ExpiryDate"
+    },
+    {
+      "kind": "int",
+      "path": "TubularAssemblyNumber"
+    },
+    {
+      "kind": "int",
+      "path": "PeriodObsNb"
+    },
+    {
+      "kind": "link",
+      "path": "TubularAssemblyTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "StringClassID"
+    },
+    {
+      "kind": "link",
+      "path": "ActivityTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "ActivityTypeReasonDescription"
+    },
+    {
+      "kind": "link",
+      "path": "ArtificialLiftTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "LinerTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "MixedStringIndicator"
+    },
+    {
+      "kind": "bool",
+      "path": "ActiveIndicator"
+    },
+    {
+      "kind": "string",
+      "path": "TubularDirection"
+    },
+    {
+      "kind": "double",
+      "path": "TubularAssemblyNominalSize"
+    },
+    {
+      "kind": "double",
+      "path": "TubularAssemblyTotalLength"
+    },
+    {
+      "kind": "double",
+      "path": "DriftDiameter"
+    },
+    {
+      "kind": "double",
+      "path": "MinimumInnerDiameter"
+    },
+    {
+      "kind": "double",
+      "path": "PilotHoleSize"
+    },
+    {
+      "kind": "double",
+      "path": "SeaFloorPenetrationLength"
+    },
+    {
+      "kind": "double",
+      "path": "AssemblyTopMD"
+    },
+    {
+      "kind": "double",
+      "path": "AssemblyBaseMD"
+    },
+    {
+      "kind": "double",
+      "path": "AssemblyTopReportedTVD"
+    },
+    {
+      "kind": "double",
+      "path": "AssemblyBaseReportedTVD"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularComponent.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularComponent.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..ecc306a922219dd0770131ff0b721e146ecb8338
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularComponent.1.0.0.json
@@ -0,0 +1,284 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/TubularComponent.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "TubularComponent",
+  "description": "Well Tubular data contains information on the tubular assemblies and their components for the well, wellbore, or wellbore completion (as appropriate). The tubulars can be tubing, casing or liners or other related equipment which is installed into the well. Tubulars can also be equipment which is lowered into the well in the context of drilling, which is then pulled back out.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/TubularComponent:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/TubularComponent:c9440159-f5dc-59d2-8fbe-ed4af5bf7941"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:TubularComponent:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ParentWellboreID": {
+              "type": "string",
+              "description": "Identifier of the wellbore the Component is standing in.",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+            },
+            "ParentAssemblyID": {
+              "type": "string",
+              "description": "Identifier of the Assembly the component is taking part on.",
+              "pattern": "^srn:<namespace>:work-product-component\\/TubularAssembly:[^:]+:[0-9]*$"
+            },
+            "ExpiryDate": {
+              "description": "The date that the data in this row was no longer active or in effect.",
+              "type": "string",
+              "format": "date-time"
+            },
+            "DesignLife": {
+              "description": "TO BE CLARIFIED",
+              "type": "string"
+            },
+            "TubularComponentSequence": {
+              "description": "The sequence within which the components entered the hole. That is, a sequence number of 1 entered first, 2 entered next, etc.",
+              "type": "integer"
+            },
+            "TubularComponentNominalSize": {
+              "description": "Nominal size (diameter) of the component, e.g. 9.625\", 12.25",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TubularComponentNominalWeight": {
+              "description": "Nominal weight of the component.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:force"
+            },
+            "TubularComponentLength": {
+              "description": "Total Length of the component",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "MaximumOuterDiameter": {
+              "description": "This is the maximum outer diameter of the component.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "DriftDiameter": {
+              "description": "The drift diameter is the inside diameter (ID) that the pipe manufacturer guarantees per specifications. Note that the nominal inside diameter is not the same as the drift diameter but is always slightly larger. The drift diameter is used by the well planner to determine what size tools or casing strings can later be run through the casing, whereas the nominal inside diameter is used for fluid volume calculations such as mud circulating times and cement slurry placement calculations.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "InnerDiameter": {
+              "description": "Nominal inner diameter of the component.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "ManufacturerID": {
+              "type": "string",
+              "description": "Unique identifier for the manufacturer of this equipment.",
+              "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+            },
+            "SectionTypeID": {
+              "description": "Identifier of the Section Type.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SectionType:[^:]+:[0-9]*$"
+            },
+            "TubularComponentTypeID": {
+              "description": "Specifies the types of components that can be used in a tubular string. These are used to specify the type of component and multiple components are used to define a tubular string (Tubular).",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TubularComponentType:[^:]+:[0-9]*$"
+            },
+            "TubularComponentMaterialTypeID": {
+              "description": "Specifies the material type constituting the component.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/MaterialType:[^:]+:[0-9]*$"
+            },
+            "TubularComponentTubingGradeID": {
+              "description": "Id of tubing grade - eg. the tensile strength of the tubing material. A system of classifying the material specifications for steel alloys used in the manufacture of tubing.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TubularComponentGrade:[^:]+:[0-9]*$"
+            },
+            "TubularComponentTubingGradeStrength": {
+              "description": "The tensile strength of the tubing material. A system of classifying the material specifications for steel alloys used in the manufacture of tubing.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:pressure"
+            },
+            "TubularComponentTubingStrength": {
+              "description": "The axial load required to yield the pipe.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:pressure"
+            },
+            "PilotHoleSize": {
+              "description": "Size of the Pilot Hole",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TubularComponentPinBoxTypeID": {
+              "description": "ID of Reference Object for type of collar used to couple the tubular with another tubing string.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TubularComponentPinBoxType:[^:]+:[0-9]*$"
+            },
+            "TubularComponentTopConnectionTypeID": {
+              "description": "Id of the Top Connection Type",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TubularComponentConnectionType:[^:]+:[0-9]*$"
+            },
+            "TubularComponentBottomConnectionTypeID": {
+              "description": "Id of the Bottom Connection Type",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/TubularComponentConnectionType:[^:]+:[0-9]*$"
+            },
+            "TubularComponentTopMD": {
+              "description": "The measured depth of the top from the specific component",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TubularComponentBaseMD": {
+              "description": "The measured depth of the base from the specific component",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TubularComponentTopReportedTVD": {
+              "description": "Depth of the top of the component measured from the Well-Head",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TubularComponentBaseReportedTVD": {
+              "description": "Depth of the base of the component measured from the Well-Head",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "PackerSetDepthTVD": {
+              "description": "The depth the packer equipment was set to seal the casing or tubing.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "ShoeDepthTVD": {
+              "description": " Depth of the tubing shoe measured from the surface.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularComponent.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularComponent.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..040251ed617f997e232fb9bcb79a82af8d0fff3a
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/TubularComponent.1.0.0.json.res
@@ -0,0 +1,117 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "ParentWellboreID"
+    },
+    {
+      "kind": "link",
+      "path": "ParentAssemblyID"
+    },
+    {
+      "kind": "datetime",
+      "path": "ExpiryDate"
+    },
+    {
+      "kind": "string",
+      "path": "DesignLife"
+    },
+    {
+      "kind": "int",
+      "path": "TubularComponentSequence"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentNominalSize"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentNominalWeight"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentLength"
+    },
+    {
+      "kind": "double",
+      "path": "MaximumOuterDiameter"
+    },
+    {
+      "kind": "double",
+      "path": "DriftDiameter"
+    },
+    {
+      "kind": "double",
+      "path": "InnerDiameter"
+    },
+    {
+      "kind": "link",
+      "path": "ManufacturerID"
+    },
+    {
+      "kind": "link",
+      "path": "SectionTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "TubularComponentTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "TubularComponentMaterialTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "TubularComponentTubingGradeID"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentTubingGradeStrength"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentTubingStrength"
+    },
+    {
+      "kind": "double",
+      "path": "PilotHoleSize"
+    },
+    {
+      "kind": "link",
+      "path": "TubularComponentPinBoxTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "TubularComponentTopConnectionTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "TubularComponentBottomConnectionTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentTopMD"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentBaseMD"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentTopReportedTVD"
+    },
+    {
+      "kind": "double",
+      "path": "TubularComponentBaseReportedTVD"
+    },
+    {
+      "kind": "double",
+      "path": "PackerSetDepthTVD"
+    },
+    {
+      "kind": "double",
+      "path": "ShoeDepthTVD"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/VelocityModeling.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/VelocityModeling.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..184e6dcabdeb540fc9daa55d873f4283f49731b8
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/VelocityModeling.1.0.0.json
@@ -0,0 +1,295 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/VelocityModeling.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "VelocityModeling",
+  "description": "An earth model describing seismic velocities.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/VelocityModeling:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/VelocityModeling:ec59b380-6a75-5a6a-a467-5ade6e07ae98"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:VelocityModeling:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "Remark": {
+              "description": "Comments about the velocity model reflecting the thinking of the modeler.  Distinguished from Description which is a general explanation of the model.",
+              "type": "string"
+            },
+            "ObjectiveType": {
+              "description": "The purpose or intended use of the velocity model, such as Stacking|Depth Migration|Time Migration|Time-depth.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/ObjectiveType:[^:]+:[0-9]*$"
+            },
+            "VelocityType": {
+              "description": "Name of the Velocity Type describing the statistic represented, such as RMS|Average|Interval|Instantaneous|Stacking|Migration.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VelocityType:[^:]+:[0-9]*$"
+            },
+            "VelocityDirectionType": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VelocityDirectionType:[^:]+:[0-9]*$",
+              "description": "Direction associated with the velocity.  Orientation of velocity specification such as vertical, dip and azimuth."
+            },
+            "AnisotropyType": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/AnisotropyType:[^:]+:[0-9]*$",
+              "description": "Type of anisotropy used in the velocity model"
+            },
+            "DimensionType": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/DimensionType:[^:]+:[0-9]*$",
+              "description": "Is this model defined along a line, on a surface, for a volume, for a time series?"
+            },
+            "PropertyFieldRepresentationType": {
+              "type": "string",
+              "description": "Is the velocity field represented as a grid or mesh or..",
+              "pattern": "^srn:<namespace>:reference-data\\/PropertyFieldRepresentationType:[^:]+:[0-9]*$"
+            },
+            "DimensionNodeCount": {
+              "type": "array",
+              "description": "The number of grid nodes in each direction (i,j,k)",
+              "items": {
+                "type": "integer"
+              }
+            },
+            "AverageNodeSpacing": {
+              "type": "array",
+              "description": "The average distance between grid nodes or mesh vertices in each direction (i,j,k).  Note that vertical case is equivalent to sample interval.",
+              "items": {
+                "type": "number"
+              }
+            },
+            "TotalNodeCount": {
+              "type": "number",
+              "description": "Total number of vertices in the model."
+            },
+            "PropertyNameType": {
+              "type": "array",
+              "description": "List of properties represented, eg. Vp, Vs, ....  Length ValuesPerNodeOrCell.",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:reference-data\\/PropertyNameType:[^:]+:[0-9]*$"
+              }
+            },
+            "ValuesPerNodeOrCell": {
+              "type": "integer",
+              "description": "The number of numerical values stored at each node or cell "
+            },
+            "CellValueType": {
+              "type": "array",
+              "description": "The type of numerical value(s) stored in each grid cell, such as Float or Double.",
+              "items": {
+                "type": "string"
+              }
+            },
+            "DiscretizationSchemeType": {
+              "type": "string",
+              "description": "Given a discretization of a property field (e.g. a  mesh), the value of a property may refer to a vertex, the center of a cell, or the region covered by a cell.  When vertical interpolation is constant, this also includes an indication of Z Grid Registration, which whether the sample value pertains to the top, center, of bottom of grid.",
+              "pattern": "^srn:<namespace>:reference-data\\/DiscretizationSchemeType:[^:]+:[0-9]*$"
+            },
+            "DataSourceReferenceKey": {
+              "type": "array",
+              "description": "Reference to history in source system, for example Jobpro jobset id, dataset id, workflow id",
+              "items": {
+                "type": "integer"
+              }
+            },
+            "DataSourceSystem": {
+              "type": "string",
+              "description": "System providing data source history, eg. Jobpro, etc."
+            },
+            "InterpolationMethodID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/InterpolationMethod:[^:]+:[0-9]*$",
+              "description": "For discretely sampled models, the mathematical form of interpolation between nodes, such as linear in space, bicubic spline, linear in time, trilinear, horizon-based."
+            },
+            "PropertyUOMID": {
+              "type": "array",
+              "description": "Units of measure for each property type in Cell Values.  Array of length ValuesPerNodeOrCell.",
+              "items": {
+                "type": "string",
+                "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+              }
+            },
+            "SeismicDomainTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/SeismicDomainType:[^:]+:[0-9]*$",
+              "description": "Vertical domain of velocities.  E.g. Time, Depth."
+            },
+            "SeismicDomainUOM": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+              "description": "Unit of measurement for vertical domain"
+            },
+            "RecordLength": {
+              "type": "number",
+              "description": "Total depth or time covered by velocity model.  In units of SeismicDomainUoM.",
+              "x-osdu-frame-of-reference": "UOM_via_property:SeismicDomainUoM"
+            },
+            "HorizontalCRSID": {
+              "type": "string",
+              "description": "The CRS for surface coordinates used in fault locations if not specified in File.",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+            },
+            "VelocityAnalysisMethodID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VelocityAnalysisMethod:[^:]+:[0-9]*$",
+              "description": "Type of algorithm used to derive velocities such as Stacking NMO, Tomography, etc."
+            },
+            "FloatingDatumIndicator": {
+              "type": "boolean",
+              "description": "Boolean to show that datum reference is not a constant.  Any description or horizon information must be described in model file(s)."
+            },
+            "VerticalDatumOffset": {
+              "type": "number",
+              "description": "Datum value, the elevation of zero time/depth on the vertical axis in the domain of seismicdomaintype relative to the vertical reference datum used (usually MSL). Positive is upward from zero elevation to seismic datum).",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "VerticalMeasurementTypeID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+:[0-9]*$",
+              "description": "Identifies a vertical reference datum type. E.g. mean sea level, ground level, mudline."
+            },
+            "ReplacementVelocity": {
+              "type": "number",
+              "description": "Value used to produce vertical static shifts in data",
+              "x-osdu-frame-of-reference": "UOM:velocity"
+            },
+            "BinGridID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/SeismicBinGrid:[^:]+:[0-9]*$",
+              "description": "the Bin Grid of the Fault System when coordinates are specified in seismic bin inline/crossline."
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/VelocityModeling.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/VelocityModeling.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..0522ab97af80be137ef415b35ac80c847f09edad
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/VelocityModeling.1.0.0.json.res
@@ -0,0 +1,117 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "Remark"
+    },
+    {
+      "kind": "link",
+      "path": "ObjectiveType"
+    },
+    {
+      "kind": "link",
+      "path": "VelocityType"
+    },
+    {
+      "kind": "link",
+      "path": "VelocityDirectionType"
+    },
+    {
+      "kind": "link",
+      "path": "AnisotropyType"
+    },
+    {
+      "kind": "link",
+      "path": "DimensionType"
+    },
+    {
+      "kind": "link",
+      "path": "PropertyFieldRepresentationType"
+    },
+    {
+      "kind": "[]int",
+      "path": "DimensionNodeCount"
+    },
+    {
+      "kind": "[]double",
+      "path": "AverageNodeSpacing"
+    },
+    {
+      "kind": "double",
+      "path": "TotalNodeCount"
+    },
+    {
+      "kind": "[]link",
+      "path": "PropertyNameType"
+    },
+    {
+      "kind": "int",
+      "path": "ValuesPerNodeOrCell"
+    },
+    {
+      "kind": "[]string",
+      "path": "CellValueType"
+    },
+    {
+      "kind": "link",
+      "path": "DiscretizationSchemeType"
+    },
+    {
+      "kind": "[]int",
+      "path": "DataSourceReferenceKey"
+    },
+    {
+      "kind": "string",
+      "path": "DataSourceSystem"
+    },
+    {
+      "kind": "link",
+      "path": "InterpolationMethodID"
+    },
+    {
+      "kind": "[]link",
+      "path": "PropertyUOMID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "SeismicDomainUOM"
+    },
+    {
+      "kind": "double",
+      "path": "RecordLength"
+    },
+    {
+      "kind": "link",
+      "path": "HorizontalCRSID"
+    },
+    {
+      "kind": "link",
+      "path": "VelocityAnalysisMethodID"
+    },
+    {
+      "kind": "bool",
+      "path": "FloatingDatumIndicator"
+    },
+    {
+      "kind": "double",
+      "path": "VerticalDatumOffset"
+    },
+    {
+      "kind": "link",
+      "path": "VerticalMeasurementTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "ReplacementVelocity"
+    },
+    {
+      "kind": "link",
+      "path": "BinGridID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellLog.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellLog.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..a7486367e98cae1ca66612cf7083a4ed872faa90
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellLog.1.0.0.json
@@ -0,0 +1,327 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/WellLog.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WellLog",
+  "description": "",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/WellLog:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/WellLog:d9ae27ff-8325-5b2a-b487-e42c9a87ce20"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WellLog:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "WellboreID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$",
+              "description": "The Wellbore where the Well Log Work Product Component was recorded"
+            },
+            "WellLogTypeID": {
+              "description": "Well Log Type short Description such as Raw; Evaluated; Composite;....",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/LogType:[^:]+:[0-9]*$"
+            },
+            "TopMeasuredDepth": {
+              "title": "Top Measured Depth",
+              "description": "OSDU Native Top Measured Depth of the Well Log.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "BottomMeasuredDepth": {
+              "title": "Bottom Measured Depth",
+              "description": "OSDU Native Bottom Measured Depth of the Well Log.",
+              "type": "number",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "ServiceCompanyID": {
+              "description": "Service Company ID",
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+            },
+            "LogSource": {
+              "description": "OSDU Native Log Source - will be updated for later releases - not to be used yet ",
+              "type": "string"
+            },
+            "LogActivity": {
+              "description": "Log Activity, used to describe the type of pass such as Calibration Pass - Main Pass - Repeated Pass",
+              "type": "string"
+            },
+            "LogRun": {
+              "description": "Log Run - describe the run of the log - can be a number, but may be also a alphanumeric description such as a version name",
+              "type": "string"
+            },
+            "LogVersion": {
+              "description": "Log Version",
+              "type": "string"
+            },
+            "LoggingService": {
+              "description": "Logging Service - mainly a short concatenation of the names of the tools",
+              "type": "string"
+            },
+            "LogServiceDateInterval": {
+              "description": "An interval built from two nested values : StartDate and EndDate. It applies to the whole log services and may apply to composite logs as [start of the first run job] and [end of the last run job]Log Service Date",
+              "type": "object",
+              "properties": {
+                "StartDate": {
+                  "type": "string",
+                  "format": "date-time"
+                },
+                "EndDate": {
+                  "type": "string",
+                  "format": "date-time"
+                }
+              }
+            },
+            "ToolStringDescription": {
+              "description": "Tool String Description - a long concatenation of the tools used for logging services such as GammaRay+NeutronPorosity",
+              "type": "string"
+            },
+            "LoggingDirection": {
+              "description": "Specifies whether curves were collected downward or upward",
+              "type": "string"
+            },
+            "PassNumber": {
+              "description": "Indicates if the Pass is the Main one (1) or a repeated one - and it's level repetition",
+              "type": "integer"
+            },
+            "ActivityType": {
+              "description": "General method or circumstance of logging - MWD, completion, ...",
+              "type": "string"
+            },
+            "DrillingFluidProperty": {
+              "description": "Type of mud at time of logging (oil, water based,...)",
+              "type": "string"
+            },
+            "HoleTypeLogging": {
+              "description": "Description of the hole related type of logging - POSSIBLE VALUE : OpenHole / CasedHole / CementedHole",
+              "pattern": "^OPENHOLE|CASEDHOLE|CEMENTEDHOLE$",
+              "type": "string"
+            },
+            "VerticalMeasurementID": {
+              "type": "string",
+              "description": "References an entry in the Vertical Measurement array for the Wellbore identified by WellboreID, which defines the vertical reference datum for all curve measured depths."
+            },
+            "Curves": {
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "CurveID": {
+                    "description": "The ID of the Well Log Curve",
+                    "type": "string"
+                  },
+                  "DateStamp": {
+                    "description": "Date curve was created in the database",
+                    "type": "string",
+                    "format": "date-time",
+                    "x-osdu-frame-of-reference": "DateTime"
+                  },
+                  "CurveVersion": {
+                    "description": "The Version of the Log Curve.",
+                    "type": "string"
+                  },
+                  "CurveQuality": {
+                    "description": "The Quality of the Log Curve.",
+                    "type": "string"
+                  },
+                  "InterpreterName": {
+                    "description": "The name of person who interpreted this Log Curve.",
+                    "type": "string"
+                  },
+                  "IsProcessed": {
+                    "description": "Indicates if the curve has been (pre)processed or if it is a raw recording",
+                    "type": "boolean"
+                  },
+                  "NullValue": {
+                    "description": "Indicates that there is no measurement within the curve",
+                    "type": "boolean"
+                  },
+                  "DepthCoding": {
+                    "description": "The Coding of the depth.",
+                    "type": "string",
+                    "pattern": "^REGULAR|DISCRETE$"
+                  },
+                  "Interpolate": {
+                    "description": "Whether curve can be interpolated or not",
+                    "type": "boolean"
+                  },
+                  "TopDepth": {
+                    "type": "number",
+                    "description": "Top Depth",
+                    "x-osdu-frame-of-reference": "UOM_via_property:DepthUnit"
+                  },
+                  "BaseDepth": {
+                    "type": "number",
+                    "description": "Base Depth",
+                    "x-osdu-frame-of-reference": "UOM_via_property:DepthUnit"
+                  },
+                  "DepthUnit": {
+                    "description": "Unit of Measure for Top and Base depth",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+                  },
+                  "CurveUnit": {
+                    "description": "Unit of Measure for the Log Curve",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+                  },
+                  "Mnemonic": {
+                    "description": "The Mnemonic of the Log Curve is the value as received either from Raw Providers or from Internal Processing team ",
+                    "type": "string"
+                  },
+                  "LogCurveTypeID": {
+                    "description": "The SRN of the Log Curve Type - which is the standard mnemonic chosen by the company - OSDU provides an initial list",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/LogCurveType:[^:]+:[0-9]*$"
+                  },
+                  "LogCurveBusinessValueID": {
+                    "description": "The SRN of the Log Curve Business Value Type.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/LogCurveBusinessValue:[^:]+:[0-9]*$"
+                  },
+                  "LogCurveMainFamilyID": {
+                    "description": "The SRN of the Log Curve Main Family Type - which is the Geological Physical Quantity measured - such as porosity.",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/LogCurveMainFamily:[^:]+:[0-9]*$"
+                  },
+                  "LogCurveFamilyID": {
+                    "description": "The SRN of the Log Curve Family - which is the detailed Geological Physical Quantity Measured - such as neutron porosity",
+                    "type": "string",
+                    "pattern": "^srn:<namespace>:reference-data\\/LogCurveFamily:[^:]+:[0-9]*$"
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellLog.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellLog.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..517ca0395223bf432f8bc6b8c01bf7c768921532
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellLog.1.0.0.json.res
@@ -0,0 +1,81 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "WellboreID"
+    },
+    {
+      "kind": "link",
+      "path": "WellLogTypeID"
+    },
+    {
+      "kind": "double",
+      "path": "TopMeasuredDepth"
+    },
+    {
+      "kind": "double",
+      "path": "BottomMeasuredDepth"
+    },
+    {
+      "kind": "link",
+      "path": "ServiceCompanyID"
+    },
+    {
+      "kind": "string",
+      "path": "LogSource"
+    },
+    {
+      "kind": "string",
+      "path": "LogActivity"
+    },
+    {
+      "kind": "string",
+      "path": "LogRun"
+    },
+    {
+      "kind": "string",
+      "path": "LogVersion"
+    },
+    {
+      "kind": "string",
+      "path": "LoggingService"
+    },
+    {
+      "kind": "datetime",
+      "path": "LogServiceDateInterval.StartDate"
+    },
+    {
+      "kind": "datetime",
+      "path": "LogServiceDateInterval.EndDate"
+    },
+    {
+      "kind": "string",
+      "path": "ToolStringDescription"
+    },
+    {
+      "kind": "string",
+      "path": "LoggingDirection"
+    },
+    {
+      "kind": "int",
+      "path": "PassNumber"
+    },
+    {
+      "kind": "string",
+      "path": "ActivityType"
+    },
+    {
+      "kind": "string",
+      "path": "DrillingFluidProperty"
+    },
+    {
+      "kind": "string",
+      "path": "HoleTypeLogging"
+    },
+    {
+      "kind": "string",
+      "path": "VerticalMeasurementID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreMarker.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreMarker.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..95a141d82efbc81a7d429cee2c71a8fe3296355c
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreMarker.1.0.0.json
@@ -0,0 +1,229 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/WellboreMarker.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WellboreMarker",
+  "description": "Wellbore Markers identify the depth in a wellbore, measured below a reference elevation, at which a person or an automated process identifies a noteworthy observation, which is usually a change in the rock that intersects that wellbore. Formation Marker data includes attributes/properties that put these depths in context. Formation Markers are sometimes known as picks or formation tops.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/WellboreMarker:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/WellboreMarker:0b603d34-edb8-5ff1-9a53-1e1490e30ac3"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WellboreMarker:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "WellboreID": {
+              "type": "string",
+              "description": "Wellbore ID",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+            },
+            "VerticalMeasurementID": {
+              "type": "string",
+              "description": "References an entry in the Vertical Measurement array for the Wellbore identified by WellboreID, which defines the vertical reference datum for all marker measured depths of the wellbore marker Markers array."
+            },
+            "Markers": {
+              "type": "array",
+              "items": {
+                "type": "object",
+                "properties": {
+                  "MarkerName": {
+                    "type": "string",
+                    "description": "Name of the Marker"
+                  },
+                  "MarkerMeasuredDepth": {
+                    "type": "number",
+                    "description": "The depth at which the Marker was noted.",
+                    "x-osdu-frame-of-reference": "UOM:length"
+                  },
+                  "MarkerDate": {
+                    "description": "Timestamp of the date and time when the when the Marker was interpreted.",
+                    "type": "string",
+                    "format": "date-time",
+                    "x-osdu-frame-of-reference": "DateTime"
+                  },
+                  "MarkerObservationNumber": {
+                    "type": "number",
+                    "description": "Any observation number that distinguishes a Marker observation from others with same Marker name, date."
+                  },
+                  "MarkerInterpreter": {
+                    "type": "string",
+                    "description": "The name of the Marker interpreter (could be a person or vendor)."
+                  },
+                  "MarkerTypeID": {
+                    "type": "string",
+                    "description": "Marker Type Reference Type. Possible values - Biostratigraphy, Lithostratigraphy, seismic, depth of well, sequence, flow unit",
+                    "pattern": "^srn:<namespace>:reference-data\\/MarkerType:[^:]+:[0-9]*$"
+                  },
+                  "FeatureTypeID": {
+                    "type": "string",
+                    "description": "Feature Type Reference Type. Possible values - Base, top, fault, salt, reef, sea floor",
+                    "pattern": "^srn:<namespace>:reference-data\\/FeatureType:[^:]+:[0-9]*$"
+                  },
+                  "FeatureName": {
+                    "type": "string",
+                    "description": "Name of the feature the marker is characterizing"
+                  },
+                  "PositiveVerticalDelta": {
+                    "type": "number",
+                    "description": "The distance vertically above the Marker position that marks the limit of the high confidence range for the Marker pick.",
+                    "x-osdu-frame-of-reference": "UOM:length"
+                  },
+                  "NegativeVerticalDelta": {
+                    "type": "number",
+                    "description": "The distance vertically below the Marker position that marks the limit of the high confidence range for the Marker pick.",
+                    "x-osdu-frame-of-reference": "UOM:length"
+                  },
+                  "SurfaceDipAngle": {
+                    "type": "number",
+                    "description": "Dip angle for the Wellbore Marker.",
+                    "x-osdu-frame-of-reference": "UOM:plane angle"
+                  },
+                  "SurfaceDipAzimuth": {
+                    "type": "number",
+                    "description": "Dip azimuth for the Wellbore Marker.",
+                    "x-osdu-frame-of-reference": "UOM:plane angle"
+                  },
+                  "Missing": {
+                    "type": "string",
+                    "description": ""
+                  },
+                  "GeologicalAge": {
+                    "type": "string",
+                    "description": "Associated geological age",
+                    "x-osdu-frame-of-reference": "UOM:geologic time"
+                  }
+                }
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreMarker.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreMarker.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..4ea6f8688b381207a60d299425e6a9a40ff35e8e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreMarker.1.0.0.json.res
@@ -0,0 +1,13 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "WellboreID"
+    },
+    {
+      "kind": "string",
+      "path": "VerticalMeasurementID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreTrajectory.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreTrajectory.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..193080ef861c62b2b9a258daffd06f79c30220e1
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreTrajectory.1.0.0.json
@@ -0,0 +1,254 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product-component/WellboreTrajectory.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WellboreTrajectory",
+  "description": "Work Product Component describing an individual instance of a wellbore trajectory data object. Also called a deviation survey, wellbore trajectory is data that is used to calculate the position and spatial uncertainty of a planned or actual wellbore in 2-dimensional and 3-dimensional space.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product-component\\/WellboreTrajectory:[^:]+$",
+      "example": "srn:<namespace>:work-product-component/WellboreTrajectory:bc6928ad-467d-5ea6-85c6-796d553d3ed7"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WellboreTrajectory:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product-component"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "../abstract/AbstractWPCGroupType.1.0.0.json"
+        },
+        {
+          "$ref": "../abstract/AbstractWorkProductComponent.1.0.0.json"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ServiceCompanyID": {
+              "type": "string",
+              "title": "Service Company",
+              "description": "Name of the Survey Company.",
+              "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+            },
+            "WellboreID": {
+              "type": "string",
+              "title": "Wellbore",
+              "description": "A unique name, code or number designated to the Wellbore.",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+            },
+            "TopDepthMeasuredDepth": {
+              "type": "number",
+              "title": "Survey Top Measured Depth",
+              "description": "Measured depth in wellbore where the directional survey starts. This should equal the minimum station measured depth for this directional survey, regardless of whether the surveyed station represents an actual surveyed MD or not.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "AzimuthReferenceType": {
+              "type": "string",
+              "title": "Azimuth Reference Type",
+              "description": "The North reference of the trajectory used to define the azimuth angular measurement values. For example, True North, Grid North, Magnetic North.",
+              "pattern": "^srn:<namespace>:reference-data\\/AzimuthReferenceType:[^:]+:[0-9]*$"
+            },
+            "CalculationMethodType": {
+              "type": "string",
+              "title": "Calculation Method Type",
+              "description": "Calculation Method Type used to compute the TVD, X OFFSET, Y OFFSET and DOG LEG SEVERITY values for this Directional Survey. For example, Radius of Curvature, Minimum Curvature, Balanced Tangential, etc.",
+              "pattern": "^srn:<namespace>:reference-data\\/CalculationMethodType:[^:]+:[0-9]*$"
+            },
+            "ProjectedCRSID": {
+              "type": "string",
+              "title": "Projected Coordinate Reference System ID",
+              "description": "Coordinate Reference System defining the Projection of the station EASTING and NORTHING values. If  type is \"Grid North\" and EASTING and NORTHING attributes are stored, clearly identifying their projection is required.",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+              "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:ProjectedCRS.EPSG.32615:"
+            },
+            "ActiveIndicator": {
+              "type": "boolean",
+              "title": "Active Survey Indicator",
+              "description": "A flag indicating if the survey is currently active or valid within his lifecycle stage, not necessarily the definitive survey."
+            },
+            "SurveyType": {
+              "type": "string",
+              "title": "Directional Survey Type",
+              "description": "The type of this directional survey.  For example a \"Directional Survey\" where MD, Inclination and Azimuth are all measured or a \"Position Log\" where Inclination and Azimuth are both null and only MD, TVD and X/Y Offsets are available) - or \"Full Survey\" where everything is fully filled-up, depth-inclination-azimuth."
+            },
+            "AcquisitionDate": {
+              "type": "string",
+              "format": "date-time",
+              "title": "Effective Date",
+              "description": "The date that the survey data was acquired on the field."
+            },
+            "GeographicCRSID": {
+              "type": "string",
+              "title": "Geographic Coordinate Reference System",
+              "description": "Coordinate Reference System defining the Geodetic Datum of the station LATITUDE and LONGITUDE values. If LATITUDE and LONGITUDE attributes are stored, clearly identifying their Datum is required.",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+              "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:GeodeticCRS.EPSG.4326:"
+            },
+            "AcquisitionRemark": {
+              "type": "string",
+              "title": "Survey Remark",
+              "description": "Remarks related to acquisition context which is not the same as Description which is a summary of the work-product-component."
+            },
+            "SurveyReferenceIdentifier": {
+              "type": "string",
+              "title": "Survey Reference Identifier",
+              "description": "Unique or Distinctive Survey Reference Number, Job Number, File Number, Identifier, Label, Name, etc. as indicated on a directional survey report, file, etc.  Use this attribute to allow correlation of the data in this Directional Survey back to the original source document, file, etc."
+            },
+            "SurveyToolTypeId": {
+              "type": "string",
+              "title": "Type of the Survey Tool",
+              "description": "The type of tool or equipment used to acquire this Directional Survey.  For example, gyroscopic, magnetic, MWD, TOTCO, acid bottle, etc. Follow OWSG reference data and support the ISCWSA survey tool definitions."
+            },
+            "SurveyVersion": {
+              "type": "string",
+              "title": "Survey Version",
+              "description": "The version of the wellbore survey deliverable received from the service provider - as given by this provider"
+            },
+            "ExtrapolatedMeasuredDepth": {
+              "type": "number",
+              "title": "Extrapolated Measured Depth",
+              "description": "The measured depth to which the survey segment was extrapolated.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "BaseDepthMeasuredDepth": {
+              "type": "number",
+              "title": "Survey Base Measured Depth",
+              "description": "Measured depth within the wellbore of the LAST surveyed station with recorded data.  If a stored survey has been extrapolated to a deeper depth than the last surveyed station then that is the extrapolated measured depth and not the survey base depth.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "TieMeasuredDepth": {
+              "type": "number",
+              "title": "Tie Measured Depth",
+              "description": "Tie-point depth measured along the wellbore from the measurement reference datum to the survey station - where tie point is the place on the originating survey where the current survey intersect it.",
+              "x-osdu-frame-of-reference": "UOM:length"
+            },
+            "VerticalMeasurementID": {
+              "type": "string",
+              "description": "References an entry in the Vertical Measurement array for the Wellbore identified by WellboreID, which defines the vertical reference datum for all survey station measured depths."
+            }
+          },
+          "required": [
+            "WellboreID",
+            "TopDepthMeasuredDepth",
+            "BaseDepthMeasuredDepth",
+            "VerticalMeasurementID"
+          ]
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreTrajectory.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreTrajectory.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..a204e3935194bfeff0acc364b7086ab6be00dbde
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product-component/WellboreTrajectory.1.0.0.json.res
@@ -0,0 +1,77 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "link",
+      "path": "ServiceCompanyID"
+    },
+    {
+      "kind": "link",
+      "path": "WellboreID"
+    },
+    {
+      "kind": "double",
+      "path": "TopDepthMeasuredDepth"
+    },
+    {
+      "kind": "link",
+      "path": "AzimuthReferenceType"
+    },
+    {
+      "kind": "link",
+      "path": "CalculationMethodType"
+    },
+    {
+      "kind": "link",
+      "path": "ProjectedCRSID"
+    },
+    {
+      "kind": "bool",
+      "path": "ActiveIndicator"
+    },
+    {
+      "kind": "string",
+      "path": "SurveyType"
+    },
+    {
+      "kind": "datetime",
+      "path": "AcquisitionDate"
+    },
+    {
+      "kind": "link",
+      "path": "GeographicCRSID"
+    },
+    {
+      "kind": "string",
+      "path": "AcquisitionRemark"
+    },
+    {
+      "kind": "string",
+      "path": "SurveyReferenceIdentifier"
+    },
+    {
+      "kind": "string",
+      "path": "SurveyToolTypeId"
+    },
+    {
+      "kind": "string",
+      "path": "SurveyVersion"
+    },
+    {
+      "kind": "double",
+      "path": "ExtrapolatedMeasuredDepth"
+    },
+    {
+      "kind": "double",
+      "path": "BaseDepthMeasuredDepth"
+    },
+    {
+      "kind": "double",
+      "path": "TieMeasuredDepth"
+    },
+    {
+      "kind": "string",
+      "path": "VerticalMeasurementID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product/WorkProduct.1.0.0.json b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product/WorkProduct.1.0.0.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc1795ac985b92a955fe9bd75c8e6c09823d3759
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product/WorkProduct.1.0.0.json
@@ -0,0 +1,230 @@
+{
+  "x-osdu-license": "Copyright 2020, The Open Group \\nLicensed 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.",
+  "$id": "https://schema.osdu.opengroup.org/json/work-product/WorkProduct.1.0.0.json",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "WorkProduct",
+  "description": "A collection of work product components such as might be produced by a business activity and which is delivered to the data platform for loading.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:work-product\\/WorkProduct:[^:]+$",
+      "example": "srn:<namespace>:work-product/WorkProduct:146156b3-06aa-5195-b2f3-61c429f9f6ba"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:WorkProduct:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "work-product"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "acl": {
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List",
+      "$ref": "../abstract/AbstractAccessControlList.1.0.0.json"
+    },
+    "legal": {
+      "description": "The entity's legal tags and compliance status. The actual contents associated with the legal tags is managed by the Compliance Service.",
+      "title": "Legal Tags",
+      "$ref": "../abstract/AbstractLegalTags.1.0.0.json"
+    },
+    "resourceHomeRegionID": {
+      "description": "The name of the home [cloud environment] region for this OSDU resource object.",
+      "title": "Resource Home Region ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+    },
+    "resourceHostRegionIDs": {
+      "description": "The name of the host [cloud environment] region(s) for this OSDU resource object.",
+      "title": "Resource Host Region ID",
+      "type": "array",
+      "items": {
+        "type": "string",
+        "pattern": "^srn:<namespace>:reference-data\\/OSDURegion:[^:]+:[0-9]*$"
+      }
+    },
+    "resourceObjectCreationDateTime": {
+      "description": "Timestamp of the time at which Version 1 of this OSDU resource object was originated.",
+      "title": "Resource Object Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceVersionCreationDateTime": {
+      "description": "Timestamp of the time when the current version of this resource entered the OSDU.",
+      "title": "Resource Version Creation DateTime",
+      "type": "string",
+      "format": "date-time"
+    },
+    "resourceCurationStatus": {
+      "description": "Describes the current Curation status.",
+      "title": "Resource Curation Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceCurationStatus:[^:]+:[0-9]*$"
+    },
+    "resourceLifecycleStatus": {
+      "description": "Describes the current Resource Lifecycle status.",
+      "title": "Resource Lifecycle Status",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceLifecycleStatus:[^:]+:[0-9]*$"
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "../abstract/AbstractLegalParentList.1.0.0.json"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "../abstract/AbstractMetaItem.1.0.0.json"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "type": "object",
+          "properties": {
+            "Components": {
+              "type": "array",
+              "items": {
+                "description": "The SRN which identifies this OSDU Work Product Component resource.",
+                "type": "string",
+                "pattern": "^srn:<namespace>:work-product-component\\/[A-Za-z0-9]+:[^:]+:[0-9]*$"
+              }
+            },
+            "IsExtendedLoad": {
+              "type": "boolean",
+              "description": "A flag that indicates if the work product is undergoing an extended load.  It reflects the fact that the work product is in an early stage and may be updated before finalization."
+            },
+            "IsDiscoverable": {
+              "type": "boolean",
+              "description": "A flag that indicates if the work product is searchable, which means covered in the search index."
+            },
+            "Name": {
+              "type": "string",
+              "description": "Name of the instance of Work Product - could be a shipment number."
+            },
+            "Description": {
+              "type": "string",
+              "description": "Description of the purpose of the work product."
+            },
+            "CreationDateTime": {
+              "type": "string",
+              "format": "date-time",
+              "description": "Date that a resource (work  product here) is formed outside of OSDU before loading (e.g. publication date, work product delivery package assembly date)."
+            },
+            "Tags": {
+              "type": "array",
+              "description": "Array of key words to identify the work product, especially to help in search.",
+              "items": {
+                "type": "string"
+              }
+            },
+            "SpatialPoint": {
+              "description": "A centroid point that reflects the locale of the content of the work product (location of the subject matter).",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            },
+            "SpatialArea": {
+              "description": "A polygon boundary that reflects the locale of the content of the work product (location of the subject matter).",
+              "$ref": "../abstract/AbstractSpatialLocation.1.0.0.json"
+            },
+            "SubmitterName": {
+              "type": "string",
+              "description": "Name of the person that first submitted the work product package to OSDU."
+            },
+            "BusinessActivities": {
+              "type": "array",
+              "description": "Array of business processes/workflows that the work product has been through (ex. well planning, exploration).",
+              "items": {
+                "type": "string",
+                "description": "Business Activity"
+              }
+            },
+            "AuthorIDs": {
+              "type": "array",
+              "description": "Array of Authors' names of the work product.  Could be a person or company entity.",
+              "items": {
+                "type": "string"
+              }
+            },
+            "LineageAssertions": {
+              "type": "array",
+              "description": "Defines relationships with other objects (any kind of Resource) upon which this work product depends.  The assertion is directed only from the asserting WP to ancestor objects, not children.  It should not be used to refer to files or artefacts within the WP -- the association within the WP is sufficient and Artefacts are actually children of the main WP file. They should be recorded in the Data.Artefacts[] array.",
+              "items": {
+                "type": "object",
+                "title": "LineageAssertion",
+                "properties": {
+                  "ID": {
+                    "type": "string",
+                    "description": "The object reference identifying the DIRECT, INDIRECT, REFERENCE dependency.",
+                    "pattern": "^srn:<namespace>:[A-Za-z-]+\\/[A-Za-z0-9]+:[^:]+:[0-9]*$"
+                  },
+                  "LineageRelationshipType": {
+                    "type": "string",
+                    "description": "Used by LineageAssertion to describe the nature of the line of descent of a work product from a prior Resource, such as DIRECT, INDIRECT, REFERENCE.  It is not for proximity (number of nodes away), it is not to cover all the relationships in a full ontology or graph, and it is not to describe the type of activity that created the asserting WP.  LineageAssertion does not encompass a full provenance, process history, or activity model.",
+                    "pattern": "^srn:<namespace>:reference-data\\/LineageRelationshipType:[^:]+:[0-9]*$"
+                  }
+                }
+              }
+            },
+            "Annotations": {
+              "type": "array",
+              "description": "Array of Annotations",
+              "items": {
+                "type": "string"
+              }
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product/WorkProduct.1.0.0.json.res b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product/WorkProduct.1.0.0.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..0b807093bb76e1b01fa2c4d2753864bab6f52386
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/R3-json-schema/Generated/work-product/WorkProduct.1.0.0.json.res
@@ -0,0 +1,49 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "[]link",
+      "path": "Components"
+    },
+    {
+      "kind": "bool",
+      "path": "IsExtendedLoad"
+    },
+    {
+      "kind": "bool",
+      "path": "IsDiscoverable"
+    },
+    {
+      "kind": "string",
+      "path": "Name"
+    },
+    {
+      "kind": "string",
+      "path": "Description"
+    },
+    {
+      "kind": "datetime",
+      "path": "CreationDateTime"
+    },
+    {
+      "kind": "[]string",
+      "path": "Tags"
+    },
+    {
+      "kind": "string",
+      "path": "SubmitterName"
+    },
+    {
+      "kind": "[]string",
+      "path": "BusinessActivities"
+    },
+    {
+      "kind": "[]string",
+      "path": "AuthorIDs"
+    },
+    {
+      "kind": "[]string",
+      "path": "Annotations"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/StorageSchemaGenerator.py b/indexer-core/src/test/resources/converter/StorageSchemaGenerator.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9161049d1fc540e0d1f6312f54d33628899ad98
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/StorageSchemaGenerator.py
@@ -0,0 +1,259 @@
+import json
+import sys
+
+class StorageSchemaGenerator(object):
+    BASIC_TYPES = ['number', 'string', 'integer', 'boolean']
+    DEFINITIONS = 'definitions'
+    PROPERTIES = 'properties'
+    SPECIALS = ['AbstractFeatureCollection.1.0.0', 'AbstractAnyCrsFeatureCollection.1.0.0',
+                'geoJsonFeatureCollection', 'core_dl_geopoint']  # do not expand these
+    SKIP = ['AbstractAnyCrsFeatureCollection.1.0.0']  # this is irrelevant to the indexer
+    DE_TYPES = {'AbstractFeatureCollection.1.0.0': 'core:dl:geoshape:1.0.0',
+                'geoJsonFeatureCollection': 'core:dl:geoshape:1.0.0',
+                'core_dl_geopoint': 'core:dl:geopoint:1.0.0'}  # this ones is understood
+
+    def __init__(self, schema: dict, schema_id: str):
+        self.all_properties = list()
+        self.sub_schema_stack = list()
+        self.__where_we_have_been = list()
+        self.__schema = schema
+        self.__schema_id = schema_id
+        self.__definitions = dict()
+        self.__make_definitions_dictionary()
+        self.__scan_schema()
+
+    def __make_definitions_dictionary(self):
+        if isinstance(self.__schema, dict) and self.DEFINITIONS in self.__schema:
+            for key, definition in self.__schema[self.DEFINITIONS].items():
+                self.__definitions[key] = definition
+
+    def __scan_schema(self):
+        schema = self.__schema.get(self.PROPERTIES)
+        if schema is not None:
+            self.__aggregate_dictionary_or_string('', schema)
+
+    def de_schema(self) -> dict:
+        schema = list()
+        for prp in self.all_properties:
+            if 'kind' in prp and 'path' in prp and \
+                    (prp['key'].startswith('.data.') or prp['key'].startswith('.Data.')) \
+                    and prp['kind'] != 'object':
+                schema.append({'kind': prp['kind'], 'path': prp['key'][6:]})
+        return {'kind': self.__schema_id, 'schema': schema}
+
+    def property_list(self):
+        p_l = list()
+        last_sub_schema = ''
+        for prp in self.all_properties:
+            typ = prp['type']
+            if 'subSchema' in prp:
+                ss = prp['subSchema']
+            else:
+                ss = ''
+            if ss != last_sub_schema and ss != '':
+                k = self.__strip_last_property(prp['key'])
+                l_i = '\t'.join([k, ss, ''])
+                if l_i not in p_l:
+                    p_l.append(l_i)
+                last_sub_schema = ss
+            k = self.__keep_last_property(prp['key'])
+            if ss == '':
+                ss = [k]
+            else:
+                ss = [ss, k]
+            ss = '|'.join(ss)
+            p_l.append('\t'.join([prp['key'], typ, ss]))
+        return p_l
+
+    @staticmethod
+    def __strip_last_property(key):
+        parts = key.split('.')
+        stripped = '.'.join(parts[0:len(parts) - 1])
+        return stripped
+
+    @staticmethod
+    def __keep_last_property(key):
+        parts = key.split('.')
+        stripped = parts[len(parts) - 1]
+        return stripped
+
+    def __get_definition_by_ref(self, reference):
+        ref = reference.replace('#/definitions/', '')
+        if ref in self.__definitions:
+            return self.__definitions[ref]
+        else:
+            return None
+
+    @staticmethod
+    def __is_base_type_array_item(schema_fragment):
+        if isinstance(schema_fragment, dict) and \
+                'type' in schema_fragment and 'items' in schema_fragment and \
+                schema_fragment['type'] == 'array' and 'type' in schema_fragment['items'] and \
+                schema_fragment['items']['type'] in StorageSchemaGenerator.BASIC_TYPES:
+            return True
+        return False
+
+    @staticmethod
+    def __is_array_array_item(schema_fragment) -> bool:
+        if isinstance(schema_fragment, dict) and \
+                'type' in schema_fragment and 'items' in schema_fragment and \
+                schema_fragment['type'] == 'array' and 'type' in schema_fragment['items'] and \
+                'array' in schema_fragment['items']['type']:
+            return True
+        return False
+
+    @staticmethod
+    def __is_object_type_array_item(schema_fragment) -> bool:
+        if isinstance(schema_fragment, dict) and \
+                'type' in schema_fragment and 'items' in schema_fragment and \
+                schema_fragment['type'] == 'array' and 'type' in schema_fragment['items'] and \
+                schema_fragment['items']['type'] == 'object':
+            return isinstance(schema_fragment['items']['properties'], dict)
+        return False
+
+    @staticmethod
+    def __get_value_type_format(schema_fragment):
+        v_t = ''
+        if isinstance(schema_fragment, dict):
+            fmt = ''
+            if 'type' in schema_fragment:
+                v_t = schema_fragment['type']
+                if v_t == 'number':
+                    v_t = 'double'
+            if 'format' in schema_fragment:
+                fmt = schema_fragment['format']
+            if fmt == 'int64' and (v_t == 'integer' or v_t == 'number' or v_t == 'double'):
+                v_t = 'long'
+            elif (fmt.startswith('date') or fmt.startswith('time')) and v_t == 'string':
+                v_t = 'datetime'
+            if v_t == 'integer':
+                v_t = 'int'
+            elif v_t == 'boolean':
+                v_t = 'bool'
+        return v_t
+
+    def __aggregate_dictionary_or_string(self, key: str, schema_fragment):
+        if isinstance(schema_fragment, str) and schema_fragment == 'object':
+            self.__make_de_schema(key.replace('.type', ''), schema_fragment)
+        elif isinstance(schema_fragment, dict):
+            self.__aggregate_schema_fragment(key, schema_fragment)
+        else:
+            pass  # this is title, description, pattern, or custom JSON tag, etc.
+
+    def __aggregate_schema_fragment(self, key: str, schema_fragment):
+        if 'allOf' in schema_fragment or 'oneOf' in schema_fragment or 'anyOf' in schema_fragment:
+            self.__aggregate_all_any_one_of(key, schema_fragment)
+        elif 'const' in schema_fragment:
+            self.__make_de_schema(key, 'string')
+        elif 'properties' in schema_fragment:
+            for p_k, value in schema_fragment['properties'].items():
+                self.__aggregate_dictionary_or_string(key + '.' + p_k, value)
+        elif 'type' in schema_fragment and schema_fragment['type'] in self.BASIC_TYPES:
+            v_type = self.__get_value_type_format(schema_fragment)
+            pattern = schema_fragment.get('pattern', 'None')
+            self.__make_de_schema(key, v_type, pattern)
+        elif self.__is_base_type_array_item(schema_fragment):
+            self.__aggregate_simple_array(key + '[]', schema_fragment)
+        elif self.__is_array_array_item(schema_fragment):
+            for p_k, value in schema_fragment.items():
+                self.__aggregate_dictionary_or_string(key + '[]', value)
+        elif self.__is_object_type_array_item(schema_fragment):
+            self.__aggregate_array(key + '[]', schema_fragment)
+        else:  # this should only be a dictionary
+            self.__aggregate_dictionary(key, schema_fragment)
+
+    def __aggregate_all_any_one_of(self, key: str, schema_fragment):
+        if 'allOf' in schema_fragment:
+            for part in schema_fragment['allOf']:
+                self.__aggregate_dictionary_or_string(key, part)
+        elif 'oneOf' in schema_fragment or 'anyOf' in schema_fragment:
+            if 'oneOf' in schema_fragment:
+                what = 'oneOf'
+            else:
+                what = 'anyOf'
+            idx = min(len(schema_fragment[what]), 1)
+            self.__aggregate_dictionary_or_string(key, schema_fragment[what][idx])
+
+    def __aggregate_dictionary(self, key: str, schema_fragment: dict):
+        for p_k, value in schema_fragment.items():
+            if p_k == '$ref':
+                if value not in self.__where_we_have_been:
+                    self.__aggregate_d_ref(key, value)
+            elif p_k == 'items':  # array
+                if '$ref' in value:
+                    v = value['$ref']
+                    if v not in self.__where_we_have_been:
+                        self.__aggregate_d_ref(key + '[]', v)
+            else:
+                self.__aggregate_dictionary_or_string(key + '.' + p_k, value)
+
+    def __aggregate_array(self, key: str, schema_fragment):
+        for p_k, value in schema_fragment['items']['properties'].items():
+            v_type = self.__get_value_type_format(value)
+            k = '{}[].{}'.format(key, p_k)
+            if v_type == '':
+                self.__aggregate_dictionary_or_string(key + '.' + p_k, value)
+            else:
+                self.__make_de_schema(k, v_type)
+
+    def __aggregate_simple_array(self, key: str, schema_fragment):
+        v_type = ''
+        pattern = 'None'
+        if 'type' in schema_fragment['items']:
+            v_type = self.__get_value_type_format(schema_fragment['items'])
+            pattern = schema_fragment['items'].get('pattern', 'None')
+        self.__make_de_schema(key, v_type, pattern)
+
+    @staticmethod
+    def __get_sub_schema(value):
+        parts = value.split('/')
+        if len(parts) == 3:
+            return parts[len(parts) - 1]
+        else:
+            return None
+
+    def __aggregate_d_ref(self, key: str, value):
+        self.__where_we_have_been.append(value)
+        s_f = self.__get_definition_by_ref(value)
+        ss = self.__get_sub_schema(value)
+        if ss:
+            self.sub_schema_stack.append(ss)
+        if ss in self.SPECIALS:
+            self.__make_de_schema(key, ss)
+        else:
+            self.__aggregate_dictionary_or_string(key, s_f)
+        self.__where_we_have_been.pop()
+        if ss:
+            self.sub_schema_stack.pop()
+
+    def __make_de_schema(self, key_string, v_type, pattern='None'):
+        item = dict()
+        item['key'] = key_string.replace('[]', '', -1)
+        item['type'] = v_type
+        if v_type == 'string' and pattern.startswith('^srn:'):
+            kind = 'link'
+        else:
+            kind = self.DE_TYPES.get(v_type, v_type)
+        k = key_string.replace('.Data.', '')
+        if k.endswith('[]'):
+            if k.count('[]') == 1:
+                item['kind'] = '[]' + kind
+                item['path'] = k.replace('[]', '')
+            # else  ignore, nested arrays are not supported
+        elif '[]' not in k:
+            item['kind'] = kind
+            item['path'] = k
+        if len(self.sub_schema_stack) > 0:
+            item['subSchema'] = self.sub_schema_stack[len(self.sub_schema_stack) - 1]
+        if v_type not in self.SKIP:
+            self.all_properties.append(item)
+
+
+with open(sys.argv[1]) as json_file:
+    schema = json.load(json_file)
+    kind = 'osdu:osdu:Wellbore:1.0.0'
+    generator = StorageSchemaGenerator(schema, kind)
+    de_schema = generator.de_schema()
+
+with open(sys.argv[1] + '.res', 'w') as fp:
+    json.dump(de_schema, fp, indent = 2)
diff --git a/indexer-core/src/test/resources/converter/first/schema.json b/indexer-core/src/test/resources/converter/first/schema.json
new file mode 100644
index 0000000000000000000000000000000000000000..1c406a9e329acc9dca6c6e7f08088c52ab0f2195
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/first/schema.json
@@ -0,0 +1,1964 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "title": "Wellbore",
+  "description": "A hole in the ground extending from a point at the earth's surface to the maximum point of penetration.",
+  "type": "object",
+  "properties": {
+    "id": {
+      "description": "Previously called ResourceID or SRN which identifies this OSDU resource object without version.",
+      "title": "Entity ID",
+      "type": "string",
+      "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+$",
+      "example": "srn:<namespace>:master-data/Wellbore:2adac27b-5d84-5bcd-89f2-93ee709c06d9"
+    },
+    "kind": {
+      "description": "The schema identification for the OSDU resource object following the pattern <Namespace>:<Source>:<Type>:<VersionMajor>.<VersionMinor>.<VersionPatch>. The versioning scheme follows the semantic versioning, https://semver.org/.",
+      "title": "Entity Kind",
+      "type": "string",
+      "pattern": "^[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[A-Za-z0-9-_]+:[0-9]+.[0-9]+.[0-9]+$",
+      "example": "namespace:osdu:Wellbore:2.7.112"
+    },
+    "groupType": {
+      "description": "The OSDU group-type assigned to this resource object.",
+      "title": "Group Type",
+      "const": "master-data"
+    },
+    "version": {
+      "description": "The version number of this OSDU resource; set by the framework.",
+      "title": "Version Number",
+      "type": "integer",
+      "format": "int64",
+      "example": 1562066009929332
+    },
+    "resourceSecurityClassification": {
+      "description": "Classifies the security level of the resource.",
+      "title": "Resource Security Classification",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ResourceSecurityClassification:[^:]+:[0-9]*$"
+    },
+    "ancestry": {
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry",
+      "$ref": "#/definitions/AbstractLegalParentList.1.0.0"
+    },
+    "meta": {
+      "description": "The Frame of Reference meta data section linking the named properties to self-contained definitions.",
+      "title": "Frame of Reference Meta Data",
+      "type": "array",
+      "items": {
+        "$ref": "#/definitions/AbstractMetaItem.1.0.0"
+      }
+    },
+    "source": {
+      "description": "The entity that produced the record, or from which it is received; could be an organization, agency, system, internal team, or individual. For informational purposes only, the list of sources is not governed.",
+      "title": "Data Source",
+      "type": "string"
+    },
+    "existenceKind": {
+      "description": "Where does this data resource sit in the cradle-to-grave span of its existence?",
+      "title": "Existence Kind",
+      "type": "string",
+      "pattern": "^srn:<namespace>:reference-data\\/ExistenceKind:[^:]+:[0-9]*$"
+    },
+    "data": {
+      "allOf": [
+        {
+          "$ref": "#/definitions/AbstractFacility.1.0.0"
+        },
+        {
+          "type": "object",
+          "properties": {
+            "WellID": {
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Well:[^:]+:[0-9]*$"
+            },
+            "SequenceNumber": {
+              "description": "A number that indicates the order in which wellbores were drilled.",
+              "type": "int"
+            },
+            "VerticalMeasurements": {
+              "description": "List of all depths and elevations pertaining to the wellbore, like, plug back measured depth, total measured depth, KB elevation",
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/AbstractFacilityVerticalMeasurement.1.0.0"
+              }
+            },
+            "DrillingReason": {
+              "description": "The history of drilling reasons of the wellbore.",
+              "type": "array",
+              "items": {
+                "$ref": "#/definitions/AbstractWellboreDrillingReason.1.0.0"
+              }
+            },
+            "KickOffWellbore": {
+              "description": "This is a pointer to the parent wellbore. The wellbore that starts from top has no parent.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:master-data\\/Wellbore:[^:]+:[0-9]*$"
+            },
+            "TrajectoryTypeID": {
+              "description": "Describes the predominant shapes the wellbore path can follow if deviated from vertical. Sample Values: Horizontal, Vertical, Directional.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/WellboreTrajectoryType:[^:]+:[0-9]*$"
+            },
+            "DefinitiveTrajectoryID": {
+              "description": "SRN of Wellbore Trajectory which is considered the authoritative or preferred version.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:work-product-component\\/WellboreTrajectory:[^:]+:[0-9]+$"
+            },
+            "TargetFormation": {
+              "description": "The Formation of interest for which the Wellbore is drilled to interact with. The Wellbore may terminate in a lower formation if the requirement is to drill through the entirety of the target formation, therefore this is not necessarily the Formation at TD.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/GeologicalFormation:[^:]+:[0-9]*$"
+            },
+            "PrimaryMaterialID": {
+              "description": "The primary material injected/produced from the wellbore.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/MaterialType:[^:]+:[0-9]*$"
+            },
+            "DefaultVerticalMeasurementID": {
+              "description": "The default datum reference point, or zero depth point, used to determine other points vertically in a wellbore.  References an entry in the Vertical Measurements array of this wellbore.",
+              "type": "string"
+            },
+            "ProjectedBottomHoleLocation": {
+              "description": "Projected location at total depth.",
+              "$ref": "#/definitions/AbstractSpatialLocation.1.0.0"
+            },
+            "GeographicBottomHoleLocation": {
+              "description": "Geographic location at total depth.",
+              "$ref": "#/definitions/AbstractSpatialLocation.1.0.0"
+            }
+          }
+        },
+        {
+          "type": "object",
+          "properties": {
+            "ExtensionProperties": {
+              "type": "object",
+              "properties": {}
+            }
+          }
+        }
+      ]
+    }
+  },
+  "required": [
+    "kind",
+    "acl",
+    "groupType",
+    "legal"
+  ],
+  "additionalProperties": false,
+  "definitions": {
+    "AbstractAccessControlList.1.0.0": {
+      "title": "Access Control List",
+      "description": "The access control tags associated with this entity. This structure is included by the SystemProperties \"acl\", which is part of all OSDU records. Not extensible.",
+      "type": "object",
+      "properties": {
+        "owners": {
+          "title": "List of Owners",
+          "description": "The list of owners of this data record formatted as an email (core.common.model.storage.validation.ValidationDoc.EMAIL_REGEX).",
+          "type": "array",
+          "items": {
+            "type": "string",
+            "pattern": "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$"
+          }
+        },
+        "viewers": {
+          "title": "List of Viewers",
+          "description": "The list of viewers to which this data record is accessible/visible/discoverable formatted as an email (core.common.model.storage.validation.ValidationDoc.EMAIL_REGEX).",
+          "type": "array",
+          "items": {
+            "type": "string",
+            "pattern": "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$"
+          }
+        }
+      },
+      "required": [
+        "owners",
+        "viewers"
+      ],
+      "additionalProperties": false
+    },
+    "AbstractLegalTags.1.0.0": {
+      "title": "Legal Meta Data",
+      "description": "Legal meta data like legal tags, relevant other countries, legal status. This structure is included by the SystemProperties \"legal\", which is part of all OSDU records. Not extensible.",
+      "type": "object",
+      "properties": {
+        "legaltags": {
+          "title": "Legal Tags",
+          "description": "The list of legal tags, which resolve to legal properties (like country of origin, export classification code, etc.) and rules with the help of the Compliance Service.",
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "otherRelevantDataCountries": {
+          "title": "Other Relevant Data Countries",
+          "description": "The list of other relevant data countries as an array of two-letter country codes, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.",
+          "type": "array",
+          "items": {
+            "type": "string",
+            "pattern": "^[A-Z]{2}$"
+          }
+        },
+        "status": {
+          "title": "Legal Status",
+          "description": "The legal status. Set by the system after evaluation against the compliance rules associated with the \"legaltags\" using the Compliance Service.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/LegalStatus:[^:]+:[0-9]*$"
+        }
+      },
+      "required": [
+        "legaltags",
+        "otherRelevantDataCountries"
+      ],
+      "additionalProperties": false
+    },
+    "AbstractLegalParentList.1.0.0": {
+      "title": "Parent List",
+      "description": "A list of entity IDs in the data ecosystem, which act as legal parents to the current entity. This structure is included by the SystemProperties \"ancestry\", which is part of all OSDU records. Not extensible.",
+      "type": "object",
+      "properties": {
+        "parents": {
+          "description": "An array of none, one or many entity references in the data ecosystem, which identify the source of data in the legal sense. Example: the 'parents' will be queried when e.g. the subscription of source data services is terminated; access to the derivatives is also terminated.",
+          "items": {
+            "type": "string"
+          },
+          "example": [],
+          "title": "Parents",
+          "type": "array"
+        }
+      },
+      "additionalProperties": false
+    },
+    "AbstractMetaItem.1.0.0": {
+      "title": "Frame of Reference Meta Data Item",
+      "description": "A meta data item, which allows the association of named properties or property values to a Unit/Measurement/CRS/Azimuth/Time context.",
+      "oneOf": [
+        {
+          "title": "FrameOfReferenceUOM",
+          "type": "object",
+          "properties": {
+            "kind": {
+              "title": "UOM Reference Kind",
+              "description": "The kind of reference, 'Unit' for FrameOfReferenceUOM.",
+              "const": "Unit"
+            },
+            "name": {
+              "title": "UOM Unit Symbol",
+              "description": "The unit symbol or name of the unit.",
+              "type": "string",
+              "example": "ft[US]"
+            },
+            "persistableReference": {
+              "title": "UOM Persistable Reference",
+              "description": "The self-contained, persistable reference string uniquely identifying the Unit.",
+              "type": "string",
+              "example": "{\"abcd\":{\"a\":0.0,\"b\":1200.0,\"c\":3937.0,\"d\":0.0},\"symbol\":\"ft[US]\",\"baseMeasurement\":{\"ancestry\":\"L\",\"type\":\"UM\"},\"type\":\"UAD\"}"
+            },
+            "unitOfMeasureID": {
+              "description": "SRN to unit of measure reference.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$",
+              "example": "srn:<namespace>:reference-data/UnitOfMeasure:Energistics_UoM_ftUS:"
+            },
+            "propertyNames": {
+              "title": "UOM Property Names",
+              "description": "The list of property names, to which this meta data item provides Unit context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+              "type": "array",
+              "example": [
+                "HorizontalDeflection.EastWest",
+                "HorizontalDeflection.NorthSouth"
+              ],
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "required": [
+            "kind",
+            "persistableReference"
+          ]
+        },
+        {
+          "title": "FrameOfReferenceCRS",
+          "type": "object",
+          "properties": {
+            "kind": {
+              "title": "CRS Reference Kind",
+              "description": "The kind of reference, constant 'CRS' for FrameOfReferenceCRS.",
+              "const": "CRS"
+            },
+            "name": {
+              "title": "CRS Name",
+              "description": "The name of the CRS.",
+              "type": "string",
+              "example": "NAD27 * OGP-Usa Conus / North Dakota South [32021,15851]"
+            },
+            "persistableReference": {
+              "title": "CRS Persistable Reference",
+              "description": "The self-contained, persistable reference string uniquely identifying the CRS.",
+              "type": "string",
+              "example": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"32615\"},\"type\":\"LBC\",\"ver\":\"PE_10_3_1\",\"name\":\"WGS_1984_UTM_Zone_15N\",\"wkt\":\"PROJCS[\\\"WGS_1984_UTM_Zone_15N\\\",GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],PROJECTION[\\\"Transverse_Mercator\\\"],PARAMETER[\\\"False_Easting\\\",500000.0],PARAMETER[\\\"False_Northing\\\",0.0],PARAMETER[\\\"Central_Meridian\\\",-93.0],PARAMETER[\\\"Scale_Factor\\\",0.9996],PARAMETER[\\\"Latitude_Of_Origin\\\",0.0],UNIT[\\\"Meter\\\",1.0],AUTHORITY[\\\"EPSG\\\",32615]]\"}"
+            },
+            "coordinateReferenceSystemID": {
+              "description": "SRN to CRS reference.",
+              "type": "string",
+              "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+              "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:EPSG.32615:"
+            },
+            "propertyNames": {
+              "title": "CRS Property Names",
+              "description": "The list of property names, to which this meta data item provides CRS context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+              "type": "array",
+              "example": [
+                "KickOffPosition.X",
+                "KickOffPosition.Y"
+              ],
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "required": [
+            "kind",
+            "persistableReference"
+          ]
+        },
+        {
+          "title": "FrameOfReferenceDateTime",
+          "type": "object",
+          "properties": {
+            "kind": {
+              "title": "DateTime Reference Kind",
+              "description": "The kind of reference, constant 'DateTime', for FrameOfReferenceDateTime.",
+              "const": "DateTime"
+            },
+            "name": {
+              "title": "DateTime Name",
+              "description": "The name of the DateTime format and reference.",
+              "type": "string",
+              "example": "UTC"
+            },
+            "persistableReference": {
+              "title": "DateTime Persistable Reference",
+              "description": "The self-contained, persistable reference string uniquely identifying DateTime reference.",
+              "type": "string",
+              "example": "{\"format\":\"yyyy-MM-ddTHH:mm:ssZ\",\"timeZone\":\"UTC\",\"type\":\"DTM\"}"
+            },
+            "propertyNames": {
+              "title": "DateTime Property Names",
+              "description": "The list of property names, to which this meta data item provides DateTime context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+              "type": "array",
+              "example": [
+                "Acquisition.StartTime",
+                "Acquisition.EndTime"
+              ],
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "required": [
+            "kind",
+            "persistableReference"
+          ]
+        },
+        {
+          "title": "FrameOfReferenceAzimuthReference",
+          "type": "object",
+          "properties": {
+            "kind": {
+              "title": "AzimuthReference Reference Kind",
+              "description": "The kind of reference, constant 'AzimuthReference', for FrameOfReferenceAzimuthReference.",
+              "const": "AzimuthReference"
+            },
+            "name": {
+              "title": "AzimuthReference Name",
+              "description": "The name of the CRS or the symbol/name of the unit.",
+              "type": "string",
+              "example": "TrueNorth"
+            },
+            "persistableReference": {
+              "title": "AzimuthReference Persistable Reference",
+              "description": "The self-contained, persistable reference string uniquely identifying AzimuthReference.",
+              "type": "string",
+              "example": "{\"code\":\"TrueNorth\",\"type\":\"AZR\"}"
+            },
+            "propertyNames": {
+              "title": "AzimuthReference Property Names",
+              "description": "The list of property names, to which this meta data item provides AzimuthReference context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"Data.StructureA.PropertyB\" to define a unique context.",
+              "type": "array",
+              "example": [
+                "Bearing"
+              ],
+              "items": {
+                "type": "string"
+              }
+            }
+          },
+          "required": [
+            "kind",
+            "persistableReference"
+          ]
+        }
+      ]
+    },
+    "AbstractFacilityOperator.1.0.0": {
+      "title": "AbstractFacilityOperator",
+      "description": "The organisation that was responsible for a facility at some point in time.",
+      "type": "object",
+      "properties": {
+        "FacilityOperatorOrganisationID": {
+          "description": "The company that currently operates, or previously operated the facility",
+          "type": "string",
+          "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+        },
+        "EffectiveDateTime": {
+          "description": "The date and time at which the facility operator becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "TerminationDateTime": {
+          "description": "The date and time at which the facility operator is no longer in effect.",
+          "type": "string",
+          "format": "date-time"
+        }
+      }
+    },
+    "AbstractAnyCrsFeatureCollection.1.0.0": {
+      "title": "AbstractAnyCrsFeatureCollection",
+      "description": "A schema like GeoJSON FeatureCollection with a non-WGS 84 CRS context; based on https://geojson.org/schema/FeatureCollection.json. Attention: the coordinate order is fixed: Longitude/Easting/Westing/X first, followed by Latitude/Northing/Southing/Y, optionally height as third coordinate.",
+      "type": "object",
+      "required": [
+        "type",
+        "persistableReferenceCRS",
+        "features"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "enum": [
+            "AnyCrsFeatureCollection"
+          ]
+        },
+        "CoordinateReferenceSystemID": {
+          "title": "Coordinate Reference System ID",
+          "description": "The CRS reference into the CoordinateReferenceSystem catalog.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+          "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:BoundCRS.SLB.32021.15851:"
+        },
+        "VerticalCoordinateReferenceSystemID": {
+          "title": "Vertical Coordinate Reference System ID",
+          "description": "The explicit VerticalCRS reference into the CoordinateReferenceSystem catalog. This property stays empty for 2D geometries. Absent or empty values for 3D geometries mean the context may be provided by a CompoundCRS in 'CoordinateReferenceSystemID' or implicitly EPSG:5714 MSL height",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$",
+          "example": "srn:<namespace>:reference-data/CoordinateReferenceSystem:VerticalCRS.EPSG.5773:"
+        },
+        "persistableReferenceCRS": {
+          "type": "string",
+          "title": "CRS Reference",
+          "description": "The CRS reference as persistableReference string. If populated, the CoordinateReferenceSystemID takes precedence.",
+          "example": "{\"lateBoundCRS\":{\"wkt\":\"PROJCS[\\\"NAD_1927_StatePlane_North_Dakota_South_FIPS_3302\\\",GEOGCS[\\\"GCS_North_American_1927\\\",DATUM[\\\"D_North_American_1927\\\",SPHEROID[\\\"Clarke_1866\\\",6378206.4,294.9786982]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],PROJECTION[\\\"Lambert_Conformal_Conic\\\"],PARAMETER[\\\"False_Easting\\\",2000000.0],PARAMETER[\\\"False_Northing\\\",0.0],PARAMETER[\\\"Central_Meridian\\\",-100.5],PARAMETER[\\\"Standard_Parallel_1\\\",46.1833333333333],PARAMETER[\\\"Standard_Parallel_2\\\",47.4833333333333],PARAMETER[\\\"Latitude_Of_Origin\\\",45.6666666666667],UNIT[\\\"Foot_US\\\",0.304800609601219],AUTHORITY[\\\"EPSG\\\",32021]]\",\"ver\":\"PE_10_3_1\",\"name\":\"NAD_1927_StatePlane_North_Dakota_South_FIPS_3302\",\"authCode\":{\"auth\":\"EPSG\",\"code\":\"32021\"},\"type\":\"LBC\"},\"singleCT\":{\"wkt\":\"GEOGTRAN[\\\"NAD_1927_To_WGS_1984_79_CONUS\\\",GEOGCS[\\\"GCS_North_American_1927\\\",DATUM[\\\"D_North_American_1927\\\",SPHEROID[\\\"Clarke_1866\\\",6378206.4,294.9786982]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],METHOD[\\\"NADCON\\\"],PARAMETER[\\\"Dataset_conus\\\",0.0],AUTHORITY[\\\"EPSG\\\",15851]]\",\"ver\":\"PE_10_3_1\",\"name\":\"NAD_1927_To_WGS_1984_79_CONUS\",\"authCode\":{\"auth\":\"EPSG\",\"code\":\"15851\"},\"type\":\"ST\"},\"ver\":\"PE_10_3_1\",\"name\":\"NAD27 * OGP-Usa Conus / North Dakota South [32021,15851]\",\"authCode\":{\"auth\":\"SLB\",\"code\":\"32021079\"},\"type\":\"EBC\"}"
+        },
+        "persistableReferenceVerticalCRS": {
+          "type": "string",
+          "title": "Vertical CRS Reference",
+          "description": "The VerticalCRS reference as persistableReference string. If populated, the VerticalCoordinateReferenceSystemID takes precedence. The property is null or empty for 2D geometries. For 3D geometries and absent or null persistableReferenceVerticalCRS the vertical CRS is either provided via persistableReferenceCRS's CompoundCRS or it is implicitly defined as EPSG:5714 MSL height.",
+          "example": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"5773\"},\"type\":\"LBC\",\"ver\":\"PE_10_3_1\",\"name\":\"EGM96_Geoid\",\"wkt\":\"VERTCS[\\\"EGM96_Geoid\\\",VDATUM[\\\"EGM96_Geoid\\\"],PARAMETER[\\\"Vertical_Shift\\\",0.0],PARAMETER[\\\"Direction\\\",1.0],UNIT[\\\"Meter\\\",1.0],AUTHORITY[\\\"EPSG\\\",5773]]\"}"
+        },
+        "persistableReferenceUnitZ": {
+          "type": "string",
+          "title": "Z-Unit Reference",
+          "description": "The unit of measure for the Z-axis (only for 3-dimensional coordinates, where the CRS does not describe the vertical unit). Note that the direction is upwards positive, i.e. Z means height.",
+          "example": "{\"scaleOffset\":{\"scale\":1.0,\"offset\":0.0},\"symbol\":\"m\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}"
+        },
+        "features": {
+          "type": "array",
+          "items": {
+            "title": "AnyCrsGeoJSON Feature",
+            "type": "object",
+            "required": [
+              "type",
+              "properties",
+              "geometry"
+            ],
+            "properties": {
+              "type": {
+                "type": "string",
+                "enum": [
+                  "AnyCrsFeature"
+                ]
+              },
+              "properties": {
+                "oneOf": [
+                  {
+                    "type": "null"
+                  },
+                  {
+                    "type": "object"
+                  }
+                ]
+              },
+              "geometry": {
+                "oneOf": [
+                  {
+                    "type": "null"
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON Point",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsPoint"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "number"
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON LineString",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsLineString"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "number"
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON Polygon",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsPolygon"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "minItems": 4,
+                          "items": {
+                            "type": "array",
+                            "minItems": 2,
+                            "items": {
+                              "type": "number"
+                            }
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON MultiPoint",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsMultiPoint"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "number"
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON MultiLineString",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsMultiLineString"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "array",
+                            "minItems": 2,
+                            "items": {
+                              "type": "number"
+                            }
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON MultiPolygon",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsMultiPolygon"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "items": {
+                            "type": "array",
+                            "minItems": 4,
+                            "items": {
+                              "type": "array",
+                              "minItems": 2,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "AnyCrsGeoJSON GeometryCollection",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "geometries"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "AnyCrsGeometryCollection"
+                        ]
+                      },
+                      "geometries": {
+                        "type": "array",
+                        "items": {
+                          "oneOf": [
+                            {
+                              "title": "AnyCrsGeoJSON Point",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "AnyCrsPoint"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "AnyCrsGeoJSON LineString",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "AnyCrsLineString"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "number"
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "AnyCrsGeoJSON Polygon",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "AnyCrsPolygon"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 4,
+                                    "items": {
+                                      "type": "array",
+                                      "minItems": 2,
+                                      "items": {
+                                        "type": "number"
+                                      }
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "AnyCrsGeoJSON MultiPoint",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "AnyCrsMultiPoint"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "number"
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "AnyCrsGeoJSON MultiLineString",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "AnyCrsMultiLineString"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "array",
+                                      "minItems": 2,
+                                      "items": {
+                                        "type": "number"
+                                      }
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "AnyCrsGeoJSON MultiPolygon",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "AnyCrsMultiPolygon"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "items": {
+                                      "type": "array",
+                                      "minItems": 4,
+                                      "items": {
+                                        "type": "array",
+                                        "minItems": 2,
+                                        "items": {
+                                          "type": "number"
+                                        }
+                                      }
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  }
+                ]
+              },
+              "bbox": {
+                "type": "array",
+                "minItems": 4,
+                "items": {
+                  "type": "number"
+                }
+              }
+            }
+          }
+        },
+        "bbox": {
+          "type": "array",
+          "minItems": 4,
+          "items": {
+            "type": "number"
+          }
+        }
+      }
+    },
+    "AbstractFeatureCollection.1.0.0": {
+      "description": "GeoJSON feature collection as originally published in https://geojson.org/schema/FeatureCollection.json. Attention: the coordinate order is fixed: Longitude first, followed by Latitude, optionally height above MSL (EPSG:5714) as third coordinate.",
+      "title": "GeoJSON FeatureCollection",
+      "type": "object",
+      "required": [
+        "type",
+        "features"
+      ],
+      "properties": {
+        "type": {
+          "type": "string",
+          "enum": [
+            "FeatureCollection"
+          ]
+        },
+        "features": {
+          "type": "array",
+          "items": {
+            "title": "GeoJSON Feature",
+            "type": "object",
+            "required": [
+              "type",
+              "properties",
+              "geometry"
+            ],
+            "properties": {
+              "type": {
+                "type": "string",
+                "enum": [
+                  "Feature"
+                ]
+              },
+              "properties": {
+                "oneOf": [
+                  {
+                    "type": "null"
+                  },
+                  {
+                    "type": "object"
+                  }
+                ]
+              },
+              "geometry": {
+                "oneOf": [
+                  {
+                    "type": "null"
+                  },
+                  {
+                    "title": "GeoJSON Point",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "Point"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "number"
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "GeoJSON LineString",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "LineString"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "minItems": 2,
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "number"
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "GeoJSON Polygon",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "Polygon"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "minItems": 4,
+                          "items": {
+                            "type": "array",
+                            "minItems": 2,
+                            "items": {
+                              "type": "number"
+                            }
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "GeoJSON MultiPoint",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "MultiPoint"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "number"
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "GeoJSON MultiLineString",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "MultiLineString"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "minItems": 2,
+                          "items": {
+                            "type": "array",
+                            "minItems": 2,
+                            "items": {
+                              "type": "number"
+                            }
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "GeoJSON MultiPolygon",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "coordinates"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "MultiPolygon"
+                        ]
+                      },
+                      "coordinates": {
+                        "type": "array",
+                        "items": {
+                          "type": "array",
+                          "items": {
+                            "type": "array",
+                            "minItems": 4,
+                            "items": {
+                              "type": "array",
+                              "minItems": 2,
+                              "items": {
+                                "type": "number"
+                              }
+                            }
+                          }
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  },
+                  {
+                    "title": "GeoJSON GeometryCollection",
+                    "type": "object",
+                    "required": [
+                      "type",
+                      "geometries"
+                    ],
+                    "properties": {
+                      "type": {
+                        "type": "string",
+                        "enum": [
+                          "GeometryCollection"
+                        ]
+                      },
+                      "geometries": {
+                        "type": "array",
+                        "items": {
+                          "oneOf": [
+                            {
+                              "title": "GeoJSON Point",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "Point"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "GeoJSON LineString",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "LineString"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "minItems": 2,
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "number"
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "GeoJSON Polygon",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "Polygon"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 4,
+                                    "items": {
+                                      "type": "array",
+                                      "minItems": 2,
+                                      "items": {
+                                        "type": "number"
+                                      }
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "GeoJSON MultiPoint",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "MultiPoint"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "number"
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "GeoJSON MultiLineString",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "MultiLineString"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "minItems": 2,
+                                    "items": {
+                                      "type": "array",
+                                      "minItems": 2,
+                                      "items": {
+                                        "type": "number"
+                                      }
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            },
+                            {
+                              "title": "GeoJSON MultiPolygon",
+                              "type": "object",
+                              "required": [
+                                "type",
+                                "coordinates"
+                              ],
+                              "properties": {
+                                "type": {
+                                  "type": "string",
+                                  "enum": [
+                                    "MultiPolygon"
+                                  ]
+                                },
+                                "coordinates": {
+                                  "type": "array",
+                                  "items": {
+                                    "type": "array",
+                                    "items": {
+                                      "type": "array",
+                                      "minItems": 4,
+                                      "items": {
+                                        "type": "array",
+                                        "minItems": 2,
+                                        "items": {
+                                          "type": "number"
+                                        }
+                                      }
+                                    }
+                                  }
+                                },
+                                "bbox": {
+                                  "type": "array",
+                                  "minItems": 4,
+                                  "items": {
+                                    "type": "number"
+                                  }
+                                }
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "bbox": {
+                        "type": "array",
+                        "minItems": 4,
+                        "items": {
+                          "type": "number"
+                        }
+                      }
+                    }
+                  }
+                ]
+              },
+              "bbox": {
+                "type": "array",
+                "minItems": 4,
+                "items": {
+                  "type": "number"
+                }
+              }
+            }
+          }
+        },
+        "bbox": {
+          "type": "array",
+          "minItems": 4,
+          "items": {
+            "type": "number"
+          }
+        }
+      }
+    },
+    "AbstractSpatialLocation.1.0.0": {
+      "title": "AbstractSpatialLocation",
+      "description": "A geographic object which can be described by a set of points.",
+      "type": "object",
+      "properties": {
+        "SpatialLocationCoordinatesDate": {
+          "description": "Date when coordinates were measured or retrieved.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "QuantitativeAccuracyBandID": {
+          "description": "An approximate quantitative assessment of the quality of a location (accurate to > 500 m (i.e. not very accurate)), to < 1 m, etc.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/QuantitativeAccuracyBand:[^:]+:[0-9]*$"
+        },
+        "QualitativeSpatialAccuracyTypeID": {
+          "description": "A qualitative description of the quality of a spatial location, e.g. unverifiable, not verified, basic validation.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/QualitativeSpatialAccuracyType:[^:]+:[0-9]*$"
+        },
+        "CoordinateQualityCheckPerformedBy": {
+          "description": "The user who performed the Quality Check.",
+          "type": "string"
+        },
+        "CoordinateQualityCheckDateTime": {
+          "description": "The date of the Quality Check.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "CoordinateQualityCheckRemarks": {
+          "description": "Freetext remarks on Quality Check.",
+          "type": "array",
+          "items": {
+            "type": "string"
+          }
+        },
+        "AsIngestedCoordinates": {
+          "title": "As Ingested Coordinates",
+          "description": "The original or 'as ingested' coordinates (Point, MultiPoint, LineString, MultiLineString, Polygon or MultiPolygon). The name 'AsIngestedCoordinates' was chosen to contrast it to 'OriginalCoordinates', which carries the uncertainty whether any coordinate operations took place before ingestion. In cases where the original CRS is different from the as-ingested CRS, the OperationsApplied can also contain the list of operations applied to the coordinate prior to ingestion. The data structure is similar to GeoJSON FeatureCollection, however in a CRS context explicitly defined within the AbstractAnyCrsFeatureCollection. The coordinate sequence follows GeoJSON standard, i.e. 'eastward/longitude', 'northward/latitude' {, 'upward/height' unless overridden by an explicit direction in the AsIngestedCoordinates.VerticalCoordinateReferenceSystemID}.",
+          "$ref": "#/definitions/AbstractAnyCrsFeatureCollection.1.0.0",
+          "x-osdu-frame-of-reference": "CRS:"
+        },
+        "Wgs84Coordinates": {
+          "title": "WGS 84 Coordinates",
+          "description": "The normalized coordinates (Point, MultiPoint, LineString, MultiLineString, Polygon or MultiPolygon) based on WGS 84 (EPSG:4326 for 2-dimensional coordinates, EPSG:4326 + EPSG:5714 (MSL) for 3-dimensional coordinates). This derived coordinate representation is intended for global discoverability only. The schema of this substructure is identical to the GeoJSON FeatureCollection https://geojson.org/schema/FeatureCollection.json. The coordinate sequence follows GeoJSON standard, i.e. longitude, latitude {, height}",
+          "$ref": "#/definitions/AbstractFeatureCollection.1.0.0"
+        },
+        "OperationsApplied": {
+          "title": "Operations Applied",
+          "description": "The audit trail of operations applied to the coordinates from the original state to the current state. The list may contain operations applied prior to ingestion as well as the operations applied to produce the Wgs84Coordinates. The text elements refer to ESRI style CRS and Transformation names, which may have to be translated to EPSG standard names.",
+          "type": "array",
+          "items": {
+            "type": "string"
+          },
+          "example": [
+            "conversion from ED_1950_UTM_Zone_31N to GCS_European_1950; 1 points converted",
+            "transformation GCS_European_1950 to GCS_WGS_1984 using ED_1950_To_WGS_1984_24; 1 points successfully transformed"
+          ]
+        },
+        "SpatialParameterTypeID": {
+          "description": "A type of spatial representation of an object, often general (e.g. an Outline, which could be applied to Field, Reservoir, Facility, etc.) or sometimes specific (e.g. Onshore Outline, State Offshore Outline, Federal Offshore Outline, 3 spatial representations that may be used by Countries).",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/SpatialParameterType:[^:]+:[0-9]*$"
+        },
+        "SpatialGeometryTypeID": {
+          "description": "Indicates the expected look of the SpatialParameterType, e.g. Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon. The value constrains the type of geometries in the GeoJSON Wgs84Coordinates and AsIngestedCoordinates.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/SpatialGeometryType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractGeoPoliticalContext.1.0.0": {
+      "title": "AbstractGeoPoliticalContext",
+      "description": "A single, typed geo-political entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+      "type": "object",
+      "properties": {
+        "GeoPoliticalEntityID": {
+          "type": "string",
+          "description": "Reference to GeoPoliticalEntity.",
+          "pattern": "^srn:<namespace>:master-data\\/GeoPoliticalEntity:[^:]+:[0-9]*$"
+        },
+        "GeoTypeID": {
+          "type": "string",
+          "description": "The GeoPoliticalEntityType reference of the GeoPoliticalEntity (via GeoPoliticalEntityID) for application convenience.",
+          "pattern": "^srn:<namespace>:reference-data\\/GeoPoliticalEntityType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractGeoBasinContext.1.0.0": {
+      "title": "AbstractGeoBasinContext",
+      "description": "A single, typed basin entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+      "type": "object",
+      "properties": {
+        "BasinID": {
+          "type": "string",
+          "description": "Reference to Basin.",
+          "pattern": "^srn:<namespace>:master-data\\/Basin:[^:]+:[0-9]*$"
+        },
+        "GeoTypeID": {
+          "description": "The BasinType reference of the Basin (via BasinID) for application convenience.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/BasinType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractGeoFieldContext.1.0.0": {
+      "title": "AbstractGeoFieldContext",
+      "description": "A single, typed field entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+      "type": "object",
+      "properties": {
+        "FieldID": {
+          "type": "string",
+          "description": "Reference to Field.",
+          "pattern": "^srn:<namespace>:master-data\\/Field:[^:]+:[0-9]*$"
+        },
+        "GeoTypeID": {
+          "const": "Field",
+          "description": "The fixed type 'Field' for this AbstractGeoFieldContext."
+        }
+      }
+    },
+    "AbstractGeoPlayContext.1.0.0": {
+      "title": "AbstractGeoPlayContext",
+      "description": "A single, typed Play entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+      "type": "object",
+      "properties": {
+        "PlayID": {
+          "type": "string",
+          "description": "Reference to the play.",
+          "pattern": "^srn:<namespace>:master-data\\/Play:[^:]+:[0-9]*$"
+        },
+        "GeoTypeID": {
+          "type": "string",
+          "description": "The PlayType reference of the Play (via PlayID) for application convenience.",
+          "pattern": "^srn:<namespace>:reference-data\\/PlayType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractGeoProspectContext.1.0.0": {
+      "title": "AbstractGeoProspectContext",
+      "description": "A single, typed Prospect entity reference, which is 'abstracted' to AbstractGeoContext and then aggregated by GeoContexts properties.",
+      "type": "object",
+      "properties": {
+        "ProspectID": {
+          "type": "string",
+          "description": "Reference to the prospect.",
+          "pattern": "^srn:<namespace>:master-data\\/Prospect:[^:]+:[0-9]*$"
+        },
+        "GeoTypeID": {
+          "type": "string",
+          "description": "The ProspectType reference of the Prospect (via ProspectID) for application convenience.",
+          "pattern": "^srn:<namespace>:reference-data\\/ProspectType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractGeoContext.1.0.0": {
+      "title": "AbstractGeoContext",
+      "description": "A geographic context to an entity. It can be either a reference to a GeoPoliticalEntity, Basin, Field, Play or Prospect.",
+      "oneOf": [
+        {
+          "$ref": "#/definitions/AbstractGeoPoliticalContext.1.0.0"
+        },
+        {
+          "$ref": "#/definitions/AbstractGeoBasinContext.1.0.0"
+        },
+        {
+          "$ref": "#/definitions/AbstractGeoFieldContext.1.0.0"
+        },
+        {
+          "$ref": "#/definitions/AbstractGeoPlayContext.1.0.0"
+        },
+        {
+          "$ref": "#/definitions/AbstractGeoProspectContext.1.0.0"
+        }
+      ]
+    },
+    "AbstractAliasNames.1.0.0": {
+      "title": "AbstractAliasNames",
+      "description": "A list of alternative names for an object.  The preferred name is in a separate, scalar property.  It may or may not be repeated in the alias list, though a best practice is to include it if the list is present, but to omit the list if there are no other names.  Note that the abstract entity is an array so the $ref to it is a simple property reference.",
+      "type": "object",
+      "properties": {
+        "AliasName": {
+          "description": "Alternative Name value of defined name type for an object.",
+          "type": "string"
+        },
+        "AliasNameTypeID": {
+          "description": "A classification of alias names such as by role played or type of source, such as regulatory name, regulatory code, company code, international standard name, etc.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/AliasNameType:[^:]+:[0-9]*$"
+        },
+        "DefinitionOrganisationID": {
+          "description": "Organisation that provided the name (the source).",
+          "type": "string",
+          "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+        },
+        "EffectiveDateTime": {
+          "description": "The date and time when an alias name becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "TerminationDateTime": {
+          "description": "The data and time when an alias name is no longer in effect.",
+          "type": "string",
+          "format": "date-time"
+        }
+      }
+    },
+    "AbstractFacilityState.1.0.0": {
+      "title": "AbstractFacilityState",
+      "description": "The life cycle status of a facility at some point in time.",
+      "type": "object",
+      "properties": {
+        "EffectiveDateTime": {
+          "description": "The date and time at which the facility state becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "TerminationDateTime": {
+          "description": "The date and time at which the facility state is no longer in effect.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "FacilityStateTypeID": {
+          "description": "The facility life cycle state from planning to abandonment.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/FacilityStateType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractFacilityEvent.1.0.0": {
+      "title": "AbstractFacilityEvent",
+      "description": "A significant occurrence in the life of a facility, which often changes its state, or the state of one of its components.",
+      "type": "object",
+      "properties": {
+        "FacilityEventTypeID": {
+          "description": "The facility event type is a picklist. Examples: Propose, Completion, Entry Date etc.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/FacilityEventType:[^:]+:[0-9]*$"
+        },
+        "EffectiveDateTime": {
+          "description": "The date and time at which the event becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "TerminationDateTime": {
+          "description": "The date and time at which the event is no longer in effect.",
+          "type": "string",
+          "format": "date-time"
+        }
+      }
+    },
+    "AbstractFacilitySpecification.1.0.0": {
+      "title": "AbstractFacilitySpecification",
+      "description": "A property, characteristic, or attribute about a facility that is not described explicitly elsewhere.",
+      "type": "object",
+      "properties": {
+        "EffectiveDateTime": {
+          "description": "The date and time at which the facility specification instance becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "TerminationDateTime": {
+          "description": "The date and time at which the facility specification instance is no longer in effect.",
+          "format": "date-time",
+          "type": "string"
+        },
+        "FacilitySpecificationQuantity": {
+          "description": "The value for the specified parameter type.",
+          "type": "number",
+          "x-osdu-frame-of-reference": "UOM_via_property:UnitOfMeasureID"
+        },
+        "FacilitySpecificationDateTime": {
+          "description": "The actual date and time value of the parameter.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "FacilitySpecificationIndicator": {
+          "description": "The actual indicator value of the parameter.",
+          "type": "bool"
+        },
+        "FacilitySpecificationText": {
+          "description": "The actual text value of the parameter.",
+          "type": "string"
+        },
+        "UnitOfMeasureID": {
+          "description": "The unit for the quantity parameter, like metre (m in SI units system) for quantity Length.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+        },
+        "ParameterTypeID": {
+          "description": "Parameter type of property or characteristic.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/ParameterType:[^:]+:[0-9]*$"
+        }
+      }
+    },
+    "AbstractFacility.1.0.0": {
+      "title": "AbstractFacility",
+      "description": "",
+      "type": "object",
+      "properties": {
+        "FacilityID": {
+          "description": "A system-specified unique identifier of a Facility.",
+          "type": "string"
+        },
+        "FacilityTypeID": {
+          "description": "The definition of a kind of capability to perform a business function or a service.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/FacilityType:[^:]+:[0-9]*$"
+        },
+        "FacilityOperator": {
+          "description": "The history of operator organizations of the facility.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractFacilityOperator.1.0.0"
+          }
+        },
+        "DataSourceOrganisationID": {
+          "description": "The main source of the header information.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:master-data\\/Organisation:[^:]+:[0-9]*$"
+        },
+        "SpatialLocation": {
+          "description": "The spatial location information such as coordinates,CRS information.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractSpatialLocation.1.0.0"
+          }
+        },
+        "GeoContexts": {
+          "description": "List of geographic entities which provide context to the facility.  This may include multiple types or multiple values of the same type.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractGeoContext.1.0.0"
+          }
+        },
+        "OperatingEnvironmentID": {
+          "description": "Identifies the Facility's general location as being onshore vs. offshore.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/OperatingEnvironment:[^:]+:[0-9]*$"
+        },
+        "FacilityName": {
+          "description": "Name of the Facility.",
+          "type": "string"
+        },
+        "FacilityNameAlias": {
+          "description": "Alternative names, including historical, by which this facility is/has been known.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractAliasNames.1.0.0"
+          }
+        },
+        "FacilityState": {
+          "description": "The history of life cycle states the facility has been through.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractFacilityState.1.0.0"
+          }
+        },
+        "FacilityEvent": {
+          "description": "A list of key facility events.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractFacilityEvent.1.0.0"
+          }
+        },
+        "FacilitySpecification": {
+          "description": "facilitySpecification maintains the specification like slot name, wellbore drilling permit number, rig name etc.",
+          "type": "array",
+          "items": {
+            "$ref": "#/definitions/AbstractFacilitySpecification.1.0.0"
+          }
+        }
+      }
+    },
+    "AbstractFacilityVerticalMeasurement.1.0.0": {
+      "title": "AbstractFacilityVerticalMeasurement",
+      "description": "A location along a wellbore, _usually_ associated with some aspect of the drilling of the wellbore, but not with any intersecting _subsurface_ natural surfaces.",
+      "type": "object",
+      "properties": {
+        "VerticalMeasurementID": {
+          "description": "The ID for a distinct vertical measurement within the Facility array so that it may be referenced by other vertical measurements if necessary.",
+          "type": "string"
+        },
+        "EffectiveDateTime": {
+          "description": "The date and time at which a vertical measurement instance becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "VerticalMeasurement": {
+          "description": "The value of the elevation or depth. Depth is positive downwards from a vertical reference or geodetic datum along a path, which can be vertical; elevation is positive upwards from a geodetic datum along a vertical path. Either can be negative.",
+          "type": "number",
+          "x-osdu-frame-of-reference": "UOM_via_property:VerticalMeasurementUnitOfMeasureID"
+        },
+        "TerminationDateTime": {
+          "description": "The date and time at which a vertical measurement instance is no longer in effect.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "VerticalMeasurementTypeID": {
+          "description": "Specifies the type of vertical measurement (TD, Plugback, Kickoff, Drill Floor, Rotary Table...).",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementType:[^:]+:[0-9]*$"
+        },
+        "VerticalMeasurementPathID": {
+          "description": "Specifies Measured Depth, True Vertical Depth, or Elevation.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementPath:[^:]+:[0-9]*$"
+        },
+        "VerticalMeasurementSourceID": {
+          "description": "Specifies Driller vs Logger.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/VerticalMeasurementSource:[^:]+:[0-9]*$"
+        },
+        "WellboreTVDTrajectoryID": {
+          "description": "Specifies what directional survey or wellpath was used to calculate the TVD.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:work-product-component\\/WellboreTrajectory:[^:]+:[0-9]*$"
+        },
+        "VerticalMeasurementUnitOfMeasureID": {
+          "description": "The unit of measure for the vertical measurement. If a unit of measure and a vertical CRS are provided, the unit of measure provided is taken over the unit of measure from the CRS.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/UnitOfMeasure:[^:]+:[0-9]*$"
+        },
+        "VerticalCRSID": {
+          "description": "Vertical CRS. It is expected that a Vertical CRS or a Vertical Reference is provided, but not both.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/CoordinateReferenceSystem:[^:]+:[0-9]*$"
+        },
+        "VerticalReferenceID": {
+          "description": "The reference point from which the vertical measurement is made. Must resolve ultimately to a vertical CRS. It is expected that a Vertical CRS or a Vertical Reference is provided, but not both.",
+          "type": "string"
+        },
+        "VerticalMeasurementDescription": {
+          "description": "Text which describes a vertical measurement in detail.",
+          "type": "string"
+        }
+      }
+    },
+    "AbstractWellboreDrillingReason.1.0.0": {
+      "title": "AbstractWellboreDrillingReason",
+      "description": "Purpose for drilling a wellbore, which often is an indication of the level of risk.",
+      "type": "object",
+      "properties": {
+        "DrillingReasonTypeID": {
+          "description": "Identifier of the drilling reason type for the corresponding time period.",
+          "type": "string",
+          "pattern": "^srn:<namespace>:reference-data\\/DrillingReasonType:[^:]+:[0-9]*$"
+        },
+        "EffectiveDateTime": {
+          "description": "The date and time at which the event becomes effective.",
+          "type": "string",
+          "format": "date-time"
+        },
+        "TerminationDateTime": {
+          "description": "The date and time at which the event is no longer in effect.",
+          "type": "string",
+          "format": "date-time"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/first/schema.json.res b/indexer-core/src/test/resources/converter/first/schema.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..416ac54e5d60a96858525c138d92186109a1f97e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/first/schema.json.res
@@ -0,0 +1,137 @@
+{
+  "kind": "osdu:osdu:Wellbore:1.0.0",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "FacilityID"
+    },
+    {
+      "kind": "link",
+      "path": "FacilityTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "DataSourceOrganisationID"
+    },
+    {
+      "kind": "link",
+      "path": "OperatingEnvironmentID"
+    },
+    {
+      "kind": "string",
+      "path": "FacilityName"
+    },
+    {
+      "kind": "link",
+      "path": "WellID"
+    },
+    {
+      "path" : "SequenceNumber",
+      "kind" : "int"
+    },
+    {
+      "kind": "link",
+      "path": "KickOffWellbore"
+    },
+    {
+      "kind": "link",
+      "path": "TrajectoryTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "DefinitiveTrajectoryID"
+    },
+    {
+      "kind": "link",
+      "path": "TargetFormation"
+    },
+    {
+      "kind": "link",
+      "path": "PrimaryMaterialID"
+    },
+    {
+      "kind": "string",
+      "path": "DefaultVerticalMeasurementID"
+    },
+    {
+      "kind": "datetime",
+      "path": "ProjectedBottomHoleLocation.SpatialLocationCoordinatesDate"
+    },
+    {
+      "kind": "link",
+      "path": "ProjectedBottomHoleLocation.QuantitativeAccuracyBandID"
+    },
+    {
+      "kind": "link",
+      "path": "ProjectedBottomHoleLocation.QualitativeSpatialAccuracyTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "ProjectedBottomHoleLocation.CoordinateQualityCheckPerformedBy"
+    },
+    {
+      "kind": "datetime",
+      "path": "ProjectedBottomHoleLocation.CoordinateQualityCheckDateTime"
+    },
+    {
+      "kind": "[]string",
+      "path": "ProjectedBottomHoleLocation.CoordinateQualityCheckRemarks"
+    },
+    {
+      "kind": "core:dl:geoshape:1.0.0",
+      "path": "ProjectedBottomHoleLocation.Wgs84Coordinates"
+    },
+    {
+      "kind": "[]string",
+      "path": "ProjectedBottomHoleLocation.OperationsApplied"
+    },
+    {
+      "kind": "link",
+      "path": "ProjectedBottomHoleLocation.SpatialParameterTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "ProjectedBottomHoleLocation.SpatialGeometryTypeID"
+    },
+    {
+      "kind": "datetime",
+      "path": "GeographicBottomHoleLocation.SpatialLocationCoordinatesDate"
+    },
+    {
+      "kind": "link",
+      "path": "GeographicBottomHoleLocation.QuantitativeAccuracyBandID"
+    },
+    {
+      "kind": "link",
+      "path": "GeographicBottomHoleLocation.QualitativeSpatialAccuracyTypeID"
+    },
+    {
+      "kind": "string",
+      "path": "GeographicBottomHoleLocation.CoordinateQualityCheckPerformedBy"
+    },
+    {
+      "kind": "datetime",
+      "path": "GeographicBottomHoleLocation.CoordinateQualityCheckDateTime"
+    },
+    {
+      "kind": "[]string",
+      "path": "GeographicBottomHoleLocation.CoordinateQualityCheckRemarks"
+    },
+    {
+      "kind": "core:dl:geoshape:1.0.0",
+      "path": "GeographicBottomHoleLocation.Wgs84Coordinates"
+    },
+    {
+      "kind": "[]string",
+      "path": "GeographicBottomHoleLocation.OperationsApplied"
+    },
+    {
+      "kind": "link",
+      "path": "GeographicBottomHoleLocation.SpatialParameterTypeID"
+    },
+    {
+      "kind": "link",
+      "path": "GeographicBottomHoleLocation.SpatialGeometryTypeID"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/gen-for-folder.sh b/indexer-core/src/test/resources/converter/gen-for-folder.sh
new file mode 100755
index 0000000000000000000000000000000000000000..776b7eea84b1ca904c521760def935c25f169b1e
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/gen-for-folder.sh
@@ -0,0 +1,5 @@
+#/bin/bash
+
+for f in $(find R3-json-schema -name '*.json');
+  do python3 StorageSchemaGenerator.py $f;
+done
diff --git a/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json b/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json
new file mode 100644
index 0000000000000000000000000000000000000000..4750faf2cd40de8a375ee67350af2f6eea1fe295
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json
@@ -0,0 +1,1422 @@
+{
+  "$id": "https://slb-swt.visualstudio.com/data-management/Ingestion%20Services/_git/wke-schema?path=%2Fdomains%2Fwell%2Fjson_schema%2Fslb_wke_wellbore.json&version=GBmaster",
+  "$license": "Copyright 2017-2020, Schlumberger\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "definitions": {
+    "core_dl_geopoint": {
+      "description": "A 2D point location in latitude and longitude referenced to WGS 84 if not specified otherwise.",
+      "properties": {
+        "latitude": {
+          "description": "The latitude value in degrees of arc (dega). Value range [-90, 90].",
+          "maximum": 90,
+          "minimum": -90,
+          "title": "Latitude",
+          "type": "number"
+        },
+        "longitude": {
+          "description": "The longitude value in degrees of arc (dega). Value range [-180, 180]",
+          "maximum": 180,
+          "minimum": -180,
+          "title": "Longitude",
+          "type": "number"
+        }
+      },
+      "required": [
+        "latitude",
+        "longitude"
+      ],
+      "title": "2D Map Location",
+      "type": "object"
+    },
+    "geoJsonFeature": {
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "geometry": {
+          "oneOf": [
+            {
+              "$ref": "#/definitions/geoJsonPoint",
+              "title": "GeoJSON Point"
+            },
+            {
+              "$ref": "#/definitions/geoJsonMultiPoint",
+              "title": "GeoJSON MultiPoint"
+            },
+            {
+              "$ref": "#/definitions/geoJsonLineString",
+              "title": "GeoJSON LineString"
+            },
+            {
+              "$ref": "#/definitions/geoJsonMultiLineString",
+              "title": "GeoJSON MultiLineString"
+            },
+            {
+              "$ref": "#/definitions/polygon",
+              "title": "GeoJSON Polygon"
+            },
+            {
+              "$ref": "#/definitions/geoJsonMultiPolygon",
+              "title": "GeoJSON MultiPolygon"
+            },
+            {
+              "properties": {
+                "bbox": {
+                  "items": {
+                    "type": "number"
+                  },
+                  "minItems": 4,
+                  "type": "array"
+                },
+                "geometries": {
+                  "items": {
+                    "oneOf": [
+                      {
+                        "$ref": "#/definitions/geoJsonPoint",
+                        "title": "GeoJSON Point"
+                      },
+                      {
+                        "$ref": "#/definitions/geoJsonMultiPoint",
+                        "title": "GeoJSON MultiPoint"
+                      },
+                      {
+                        "$ref": "#/definitions/geoJsonLineString",
+                        "title": "GeoJSON LineString"
+                      },
+                      {
+                        "$ref": "#/definitions/geoJsonMultiLineString",
+                        "title": "GeoJSON MultiLineString"
+                      },
+                      {
+                        "$ref": "#/definitions/polygon",
+                        "title": "GeoJSON Polygon"
+                      },
+                      {
+                        "$ref": "#/definitions/geoJsonMultiPolygon",
+                        "title": "GeoJSON MultiPolygon"
+                      }
+                    ]
+                  },
+                  "type": "array"
+                },
+                "type": {
+                  "enum": [
+                    "GeometryCollection"
+                  ],
+                  "type": "string"
+                }
+              },
+              "required": [
+                "type",
+                "geometries"
+              ],
+              "title": "GeoJSON GeometryCollection",
+              "type": "object"
+            }
+          ]
+        },
+        "properties": {
+          "oneOf": [
+            {
+              "type": "null"
+            },
+            {
+              "type": "object"
+            }
+          ]
+        },
+        "type": {
+          "enum": [
+            "Feature"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "properties",
+        "geometry"
+      ],
+      "title": "GeoJSON Feature",
+      "type": "object"
+    },
+    "geoJsonFeatureCollection": {
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "features": {
+          "items": {
+            "$ref": "#/definitions/geoJsonFeature",
+            "title": "GeoJSON Feature"
+          },
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "FeatureCollection"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "features"
+      ],
+      "title": "GeoJSON FeatureCollection",
+      "type": "object"
+    },
+    "geoJsonLineString": {
+      "description": "GeoJSON LineString as defined in http://geojson.org/schema/LineString.json.",
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "coordinates": {
+          "items": {
+            "items": {
+              "type": "number"
+            },
+            "minItems": 2,
+            "type": "array"
+          },
+          "minItems": 2,
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "LineString"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "coordinates"
+      ],
+      "title": "GeoJSON LineString",
+      "type": "object"
+    },
+    "geoJsonMultiLineString": {
+      "$schema": "http://json-schema.org/draft-07/schema#",
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "coordinates": {
+          "items": {
+            "items": {
+              "items": {
+                "type": "number"
+              },
+              "minItems": 2,
+              "type": "array"
+            },
+            "minItems": 2,
+            "type": "array"
+          },
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "MultiLineString"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "coordinates"
+      ],
+      "title": "GeoJSON MultiLineString",
+      "type": "object"
+    },
+    "geoJsonMultiPoint": {
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "coordinates": {
+          "items": {
+            "items": {
+              "type": "number"
+            },
+            "minItems": 2,
+            "type": "array"
+          },
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "MultiPoint"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "coordinates"
+      ],
+      "title": "GeoJSON Point",
+      "type": "object"
+    },
+    "geoJsonMultiPolygon": {
+      "description": "GeoJSON MultiPolygon derived from http://geojson.org/schema/MultiPolygon.json",
+      "properties": {
+        "bbox": {
+          "description": "Bounding box in longitude, latitude WGS 84.",
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "coordinates": {
+          "description": "Array of polygons (minimum 2D), containing an array of point coordinates (longitude, latitude, (optionally elevation and other properties).",
+          "items": {
+            "items": {
+              "items": {
+                "items": {
+                  "type": "number"
+                },
+                "minItems": 2,
+                "type": "array"
+              },
+              "minItems": 4,
+              "type": "array"
+            },
+            "type": "array"
+          },
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "MultiPolygon"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "coordinates"
+      ],
+      "title": "MultiPolygon",
+      "type": "object"
+    },
+    "geoJsonPoint": {
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "coordinates": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 2,
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "Point"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "coordinates"
+      ],
+      "title": "GeoJSON Point",
+      "type": "object"
+    },
+    "geographicPosition": {
+      "description": "A position in the native geographic CRS (latitude and longitude) combined with an elevation from mean seal level (MSL)",
+      "properties": {
+        "crsKey": {
+          "description": "The 'crsKey', which can be looked up in the 'frameOfReference.crs' for further details.",
+          "title": "CRS Key",
+          "type": "string"
+        },
+        "elevationFromMsl": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Elevation from Mean Seal Level, downwards negative. The unit definition is found via 'elevationFromMsl.unitKey' in 'frameOfReference.units' dictionary.",
+          "title": "Elevation from MSL"
+        },
+        "latitude": {
+          "description": "Native or original latitude (unit defined by CRS)",
+          "title": "Native Latitude",
+          "type": "number"
+        },
+        "longitude": {
+          "description": "Native or original longitude (unit defined by CRS)",
+          "title": "Native Longitude",
+          "type": "number"
+        }
+      },
+      "required": [
+        "latitude",
+        "longitude",
+        "elevationFromMsl",
+        "crsKey"
+      ],
+      "title": "Geographic Position",
+      "type": "object"
+    },
+    "legal": {
+      "description": "Legal meta data like legal tags, relevant other countries, legal status.",
+      "properties": {
+        "legaltags": {
+          "description": "The list of legal tags, see compliance API.",
+          "items": {
+            "type": "string"
+          },
+          "title": "Legal Tags",
+          "type": "array"
+        },
+        "otherRelevantDataCountries": {
+          "description": "The list of other relevant data countries using the ISO 2-letter codes, see compliance API.",
+          "items": {
+            "type": "string"
+          },
+          "title": "Other Relevant Data Countries",
+          "type": "array"
+        },
+        "status": {
+          "description": "The legal status.",
+          "title": "Legal Status",
+          "type": "string"
+        }
+      },
+      "title": "Legal Meta Data",
+      "type": "object"
+    },
+    "linkList": {
+      "additionalProperties": {
+        "description": "An array of one or more entity references in the data lake.",
+        "items": {
+          "type": "string"
+        },
+        "title": "Link List",
+        "type": "array"
+      },
+      "description": "A named list of entities in the data lake as a dictionary item.",
+      "title": "Link List",
+      "type": "object"
+    },
+    "metaItem": {
+      "description": "A meta data item, which allows the association of named properties or property values to a Unit/Measurement/CRS/Azimuth/Time context.",
+      "properties": {
+        "kind": {
+          "description": "The kind of reference, unit, measurement, CRS or azimuth reference.",
+          "enum": [
+            "CRS",
+            "Unit",
+            "Measurement",
+            "AzimuthReference",
+            "DateTime"
+          ],
+          "title": "Reference Kind",
+          "type": "string"
+        },
+        "name": {
+          "description": "The name of the CRS or the symbol/name of the unit",
+          "example": [
+            "NAD27 * OGP-Usa Conus / North Dakota South [32021,15851]",
+            "ft"
+          ],
+          "title": "Name or Symbol",
+          "type": "string"
+        },
+        "persistableReference": {
+          "description": "The persistable reference string uniquely identifying the CRS or Unit",
+          "example": "{\"scaleOffset\":{\"scale\":0.3048006096012192,\"offset\":0.0},\"symbol\":\"ftUS\",\"baseMeasurement\":{\"ancestry\":\"Length\",\"type\":\"UM\"},\"type\":\"USO\"}",
+          "title": "Persistable Reference",
+          "type": "string"
+        },
+        "propertyNames": {
+          "description": "The list of property names, to which this meta data item provides Unit/CRS context to. Data structures, which come in a single frame of reference, can register the property name, others require a full path like \"data.structureA.propertyB\" to define a unique context.",
+          "example": [
+            "elevationFromMsl",
+            "totalDepthMdDriller",
+            "wellHeadProjected"
+          ],
+          "items": {
+            "type": "string"
+          },
+          "title": "Attribute Names",
+          "type": "array"
+        },
+        "propertyValues": {
+          "description": "The list of property values, to which this meta data item provides Unit/CRS context to. Typically a unit symbol is a value to a data structure; this symbol is then registered in this propertyValues array and the persistableReference provides the absolute reference.",
+          "example": [
+            "F",
+            "ftUS",
+            "deg"
+          ],
+          "items": {
+            "type": "string"
+          },
+          "title": "Attribute Names",
+          "type": "array"
+        },
+        "uncertainty": {
+          "description": "The uncertainty of the values measured given the unit or CRS unit.",
+          "title": "Uncertainty",
+          "type": "number"
+        }
+      },
+      "required": [
+        "kind",
+        "persistableReference"
+      ],
+      "title": "Frame of Reference Meta Data Item",
+      "type": "object"
+    },
+    "plssLocation": {
+      "$id": "definitions/plssLocation",
+      "description": "A location described by the Public Land Survey System (United States)",
+      "properties": {
+        "aliquotPart": {
+          "description": "A terse, hierarchical reference to a piece of land, in which successive subdivisions of some larger area.",
+          "example": "NWNE",
+          "title": "Aliquot Part",
+          "type": "string"
+        },
+        "range": {
+          "description": "Range, also known as Rng, R; a measure of the distance east or west from a referenced principal meridian, in units of six miles.",
+          "example": "93W",
+          "title": "Range",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Range+witsml:RangeDir"
+          ]
+        },
+        "section": {
+          "description": "Section number (between 1 and 36)",
+          "example": "30",
+          "title": "Section Number",
+          "type": "integer",
+          "x-slb-aliasProperties": [
+            "witsml:Section"
+          ]
+        },
+        "township": {
+          "description": "Township, also known as T or Twp; (1) Synonym for survey township, i.e., a square parcel of land of 36 square miles, or (2) A measure of the distance north or south from a referenced baseline, in units of six miles",
+          "example": "149N",
+          "title": "Township",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Section+witsml:TownshipDir"
+          ]
+        }
+      },
+      "required": [
+        "township",
+        "range",
+        "section"
+      ],
+      "title": "US PLSS Location",
+      "type": "object"
+    },
+    "point3dNonGeoJson": {
+      "description": "A 3-dimensional point with a CRS key, which is further described in 'frameOfReference.crs' and a unitKey for the z or 3rd coordinate; the unit key is further described in 'frameOfReference.units'.",
+      "properties": {
+        "coordinates": {
+          "description": "3-dimensional point; the first coordinate is typically pointing east (easting or longitude), the second coordinate typically points north (northing or latitude). The third coordinate is an elevation (upwards positive, downwards negative). The point's CRS is given by the container.",
+          "items": {
+            "type": "number"
+          },
+          "maxItems": 3,
+          "minItems": 3,
+          "title": "3D Point",
+          "type": "array"
+        },
+        "crsKey": {
+          "description": "The 'crsKey', which can be looked up in the 'frameOfReference.crs' for further details.",
+          "title": "CRS Key",
+          "type": "string"
+        },
+        "unitKey": {
+          "description": "The 'unitKey' for the 3rd coordinate, which can be looked up in the 'frameOfReference.unit' for further details.",
+          "title": "Unit Key",
+          "type": "string"
+        }
+      },
+      "required": [
+        "coordinates",
+        "crsKey",
+        "unitKey"
+      ],
+      "title": "3D Point with CRS/Unit key",
+      "type": "object"
+    },
+    "polygon": {
+      "$schema": "http://json-schema.org/draft-07/schema#",
+      "description": "GeoJSON Polygon derived from http://geojson.org/schema/Polygon.json",
+      "properties": {
+        "bbox": {
+          "items": {
+            "type": "number"
+          },
+          "minItems": 4,
+          "type": "array"
+        },
+        "coordinates": {
+          "items": {
+            "items": {
+              "items": {
+                "type": "number"
+              },
+              "minItems": 2,
+              "type": "array"
+            },
+            "minItems": 4,
+            "type": "array"
+          },
+          "type": "array"
+        },
+        "type": {
+          "enum": [
+            "Polygon"
+          ],
+          "type": "string"
+        }
+      },
+      "required": [
+        "type",
+        "coordinates"
+      ],
+      "title": "GeoJSON Polygon",
+      "type": "object"
+    },
+    "projectedPosition": {
+      "description": "A position in the native CRS in Cartesian coordinates combined with an elevation from mean seal level (MSL)",
+      "properties": {
+        "crsKey": {
+          "description": "The 'crsKey', which can be looked up in the 'frameOfReference.crs' for further details.",
+          "title": "CRS Key",
+          "type": "string"
+        },
+        "elevationFromMsl": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Elevation from Mean Seal Level, downwards negative. The unit definition is found via 'elevationFromMsl.unitKey' in 'frameOfReference.units' dictionary.",
+          "title": "Elevation from MSL"
+        },
+        "x": {
+          "description": "X-coordinate value in native or original projected CRS",
+          "title": "X Coordinate",
+          "type": "number"
+        },
+        "y": {
+          "description": "Y-coordinate value in native or original projected CRS",
+          "title": "Y Coordinate",
+          "type": "number"
+        }
+      },
+      "required": [
+        "x",
+        "y",
+        "elevationFromMsl",
+        "crsKey"
+      ],
+      "title": "Projected Position",
+      "type": "object"
+    },
+    "relationships": {
+      "description": "All relationships from this entity.",
+      "properties": {
+        "definitiveTimeDepthRelation": {
+          "$ref": "#/definitions/toOneRelationship",
+          "description": "The definitive tome-depth relation providing the MD to seismic travel-time transformation.",
+          "title": "Definitive Time-Depth Relation",
+          "x-slb-targetEntity": "timeDepthRelation_logSet"
+        },
+        "definitiveTrajectory": {
+          "$ref": "#/definitions/toOneRelationship",
+          "description": "The definitive trajectory providing the MD to 3D space transformation.",
+          "title": "Definitive Trajectory",
+          "x-slb-targetEntity": "trajectory"
+        },
+        "tieInWellbore": {
+          "$ref": "#/definitions/toOneRelationship",
+          "description": "The tie-in wellbore if this wellbore is a side-track.",
+          "title": "Tie-in Wellbore",
+          "x-slb-aliasProperties": [
+            "witsml:ParentWellbore"
+          ],
+          "x-slb-annotation": "aggregation",
+          "x-slb-targetEntity": "wellbore"
+        },
+        "well": {
+          "$ref": "#/definitions/toOneRelationship",
+          "description": "The well to which this wellbore belongs.",
+          "title": "Well",
+          "x-slb-aliasProperties": [
+            "witsml:Well"
+          ],
+          "x-slb-annotation": "aggregation",
+          "x-slb-targetEntity": "well"
+        }
+      },
+      "title": "Relationships",
+      "type": "object"
+    },
+    "simpleElevationReference": {
+      "description": "The entity's elevation reference, the elevation above MSL where vertical property is 0. Examples: MD==0, Elevation_Depth==0, TVD==0.",
+      "properties": {
+        "elevationFromMsl": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The elevation above mean sea level (MSL), at which the vertical origin is 0.0. The 'unitKey' is further defined in 'frameOfReference.units'.",
+          "example": 123.45,
+          "title": "Elevation from MSL",
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "name": {
+          "description": "The name of the Elevation Reference.",
+          "example": [
+            "MSL",
+            "MD",
+            "GL",
+            "KB"
+          ],
+          "title": "Elevation Reference Name",
+          "type": "string"
+        }
+      },
+      "required": [
+        "elevationFromMsl"
+      ],
+      "title": "Simple Elevation Reference",
+      "type": "object"
+    },
+    "tagDictionary": {
+      "additionalProperties": {
+        "description": "An array of one or more tag items, e.g. access control list tags, legal tags, etc.",
+        "items": {
+          "type": "string"
+        },
+        "title": "Tag Dictionary",
+        "type": "array"
+      },
+      "description": "A tagged list of string arrays, e.g. access control list tags, legal tags, etc.",
+      "title": "Tag Dictionary",
+      "type": "object"
+    },
+    "toManyRelationship": {
+      "description": "A relationship from this entity to many other entities either by natural key (name) or explicit id, optionally classified by confidence level.",
+      "properties": {
+        "confidences": {
+          "description": "The confidences of the relationships. Keep all the arrays ordered and aligned.",
+          "items": {
+            "type": "number"
+          },
+          "title": "Relationship Confidences",
+          "type": "array"
+        },
+        "ids": {
+          "description": "The ids of the related objects. It is populated for an explicit relationship where the target entity is present as a record in the data ecosystem. Keep all the arrays ordered and aligned.",
+          "format": "link",
+          "items": {
+            "type": "string"
+          },
+          "title": "Related Object Id",
+          "type": "array"
+        },
+        "names": {
+          "description": "The names or natural keys of the related objects. Keep all the arrays ordered and aligned.",
+          "items": {
+            "type": "string"
+          },
+          "title": "Related Object Names",
+          "type": "array"
+        },
+        "versions": {
+          "description": "The specific version numbers of the related instances. This is only specified if a specific version is required. If not populated the last version is implied. Keep all the arrays ordered and aligned.",
+          "items": {
+            "format": "int64",
+            "type": "number"
+          },
+          "title": "To Many Relationship",
+          "type": "array"
+        }
+      }
+    },
+    "toOneRelationship": {
+      "description": "A relationship from this entity to one other entity either by natural key (name) or id, optionally classified by confidence level",
+      "properties": {
+        "confidence": {
+          "description": "The confidence of the relationship. If the property is absent a well-known relation is implied.",
+          "example": 1,
+          "title": "Relationship Confidence",
+          "type": "number"
+        },
+        "id": {
+          "description": "The id of the related object in the Data Ecosystem. If set, the id has priority over the natural key in the name property.",
+          "example": "data_partition:namespace:entity_845934c40e8d922bc57b678990d55722",
+          "format": "link",
+          "title": "Related Object Id",
+          "type": "string"
+        },
+        "name": {
+          "description": "The name or natural key of the related object. This property is required if the target object id could not (yet) be identified.",
+          "example": "Survey ST2016",
+          "title": "Related Object Name",
+          "type": "string"
+        },
+        "version": {
+          "description": "The version number of the related entity. If no version number is specified, the last version is implied.",
+          "format": "int64",
+          "title": "Entity Version Number",
+          "type": "number"
+        }
+      },
+      "title": "To One Relationship",
+      "type": "object"
+    },
+    "valueArrayWithUnit": {
+      "description": "Array of values associated with unit context. The 'unitKey' can be looked up in the 'frameOfReference.units'.",
+      "properties": {
+        "unitKey": {
+          "description": "Unit for the array values of the corresponding attribute for the domain object in question. The key can be looked up in the meta[] array under the root. It will be an array item with meta[i].kind == 'Unit' and meta[i].name == valueWithUnit.unitKey. The meta[i].propertyNames[] array will have to contain the name of the property including valueArrayWithUnit to enable the normalizer to act on it.",
+          "example": "ft",
+          "title": "Unit Key",
+          "type": "string"
+        },
+        "values": {
+          "description": "Value of the corresponding attribute for the domain object in question.",
+          "example": [
+            30.2,
+            23.8
+          ],
+          "items": {
+            "type": "number"
+          },
+          "title": "Value",
+          "type": "array"
+        }
+      },
+      "required": [
+        "values",
+        "unitKey"
+      ],
+      "title": "Values with unitKey",
+      "type": "object"
+    },
+    "valueWithUnit": {
+      "description": "Number value associated with unit context. The 'unitKey' can be looked up in the root property meta[] array.",
+      "properties": {
+        "unitKey": {
+          "description": "Unit for the value of the corresponding attribute for the domain object in question. The key can be looked up in the meta[] array under the root. It will be an array item with meta[i].kind == 'Unit' and meta[i].name == valueWithUnit.unitKey. The meta[i].propertyNames[] array will have to contain the name of the property including valueWithUnit to enable the normalizer to act on it.",
+          "example": "ft",
+          "title": "Unit Key",
+          "type": "string"
+        },
+        "value": {
+          "description": "Value of the corresponding attribute for the domain object in question.",
+          "example": 30.2,
+          "title": "Value",
+          "type": "number"
+        }
+      },
+      "required": [
+        "value",
+        "unitKey"
+      ],
+      "title": "Value with unitKey",
+      "type": "object"
+    },
+    "wellboreData": {
+      "$id": "definitions/wellboreData",
+      "description": "The domain specific data container for a wellbore.",
+      "properties": {
+        "airGap": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The gap between water surface and offshore drilling platform.",
+          "example": [
+            11,
+            "ft"
+          ],
+          "title": "Air Gap",
+          "x-slb-aliasProperties": [
+            "drillplan:air_gap"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "block": {
+          "description": "The block name, in which the wellbore is located.",
+          "example": "Block 11/8",
+          "title": "Block",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Block"
+          ]
+        },
+        "country": {
+          "description": "The country, in which the wellbore is located. The country name follows the convention in ISO 3166-1 'English short country name', see https://en.wikipedia.org/wiki/ISO_3166-1",
+          "example": [
+            "United States of America",
+            "Bolivia (Plurinational State of)"
+          ],
+          "title": "Country",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Country"
+          ]
+        },
+        "county": {
+          "description": "The county name, in which the wellbore is located.",
+          "example": "Stark",
+          "title": "County",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:County"
+          ]
+        },
+        "dateCreated": {
+          "description": "The UTC date time of the entity creation",
+          "example": "2013-03-22T11:16:03.123Z",
+          "format": "date-time",
+          "title": "Creation Date and Time",
+          "type": "string"
+        },
+        "dateModified": {
+          "description": "The UTC date time of the last entity modification",
+          "example": "2013-03-22T11:16:03.123Z",
+          "format": "date-time",
+          "title": "Last Modification Date and Time",
+          "type": "string"
+        },
+        "drillingDaysTarget": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Target days for drilling wellbore.",
+          "example": [
+            12.5,
+            "days"
+          ],
+          "title": "Target Drilling Days",
+          "x-slb-aliasProperties": [
+            "witsml:DayTarget"
+          ],
+          "x-slb-measurement": "Time"
+        },
+        "elevationReference": {
+          "$ref": "#/definitions/simpleElevationReference",
+          "description": "The wellbore's elevation reference from mean sea level (MSL), positive above MSL. This is where MD == 0 and TVD == 0",
+          "title": "Elevation Reference",
+          "type": "object"
+        },
+        "externalIds": {
+          "description": "An array of identities (e.g. some kind if URL to be resolved in an external data store), which links to external realizations of the same entity.",
+          "format": "link",
+          "items": {
+            "type": "string"
+          },
+          "title": "Array of External IDs",
+          "type": "array"
+        },
+        "field": {
+          "description": "The field name, to which the wellbore belongs.",
+          "example": "Fryburg",
+          "title": "Field",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Field"
+          ]
+        },
+        "formationAtTd": {
+          "description": "The name of the formation at the wellbore's total depth.",
+          "example": "Bakken",
+          "title": "Formation at TD",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "seabed:borehole.Formation_At_TD"
+          ]
+        },
+        "formationProjected": {
+          "description": "The name of the formation at the wellbore's projected depth. This property is questionable as there is not precise documentation available.",
+          "example": "Bakken",
+          "title": "Formation Projected",
+          "type": "string"
+        },
+        "hasAchievedTotalDepth": {
+          "default": true,
+          "description": "True (\"true\" of \"1\") indicates that the wellbore has acheieved total depth. That is, drilling has completed. False (\"false\" or \"0\") indicates otherwise. Not given indicates that it is not known whether total depth has been reached.",
+          "example": true,
+          "title": "Has Total Depth Been Achieved Flag",
+          "type": "bool",
+          "x-slb-aliasProperties": [
+            "witsml:AchievedTD"
+          ]
+        },
+        "isActive": {
+          "description": "True (=\"1\" or \"true\") indicates that the wellbore is active. False (=\"0\" or \"false\") indicates otherwise. It is the servers responsibility to set this value based on its available internal data (e.g., what objects are changing).",
+          "example": true,
+          "title": "Is Active Flag",
+          "type": "bool",
+          "x-slb-aliasProperties": [
+            "witsml:IsActive"
+          ]
+        },
+        "kickOffMd": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The kick-off point in measured depth (MD); for the main well the kickOffMd is set to 0.",
+          "example": [
+            6543.2,
+            "ft"
+          ],
+          "title": "Kick-off MD",
+          "x-slb-aliasProperties": [
+            "witsml:MdKickoff"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "kickOffTvd": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Kickoff true vertical depth of the wellbore; for the main wellbore the kickOffMd is set to 0.",
+          "example": [
+            6543.2,
+            "ft"
+          ],
+          "title": "Kick-off MD",
+          "x-slb-aliasProperties": [
+            "witsml:TvdKickoff"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "locationWGS84": {
+          "$ref": "#/definitions/geoJsonFeatureCollection",
+          "description": "A 2D GeoJSON FeatureCollection defining wellbore location or trajectory in WGS 84 CRS.",
+          "title": "Wellbore Shape WGS 84",
+          "type": "object"
+        },
+        "name": {
+          "description": "The wellbore name",
+          "title": "Wellbore Name",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "ocean:BoreholeName"
+          ]
+        },
+        "operator": {
+          "description": "The operator of the wellbore.",
+          "example": "Anadarko Petroleum",
+          "title": "Operator",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "ocean:Operator",
+            "witsml:Operator"
+          ]
+        },
+        "permitDate": {
+          "description": "The wellbore's permit date.",
+          "example": "2013-01-15",
+          "format": "date",
+          "title": "Permit Date",
+          "type": "string"
+        },
+        "permitNumber": {
+          "description": "The wellbore's permit number or permit ID.",
+          "example": "608020",
+          "title": "Permit Number",
+          "type": "string"
+        },
+        "plssLocation": {
+          "$ref": "#/definitions/plssLocation",
+          "description": "A location described by the Public Land Survey System (United States)",
+          "title": "US PLSS Location",
+          "type": "object"
+        },
+        "propertyDictionary": {
+          "additionalProperties": {
+            "type": "string"
+          },
+          "description": "A dictionary structure, i.e. key/string value pairs, to carry additional wellbore properties.",
+          "title": "Property Dictionary",
+          "type": "string"
+        },
+        "relationships": {
+          "$ref": "#/definitions/relationships",
+          "description": "The related entities.",
+          "title": "Relationships"
+        },
+        "shape": {
+          "description": "POSC wellbore trajectory shape.",
+          "enum": [
+            "build and hold",
+            "deviated",
+            "double kickoff",
+            "horizontal",
+            "S-shaped",
+            "vertical",
+            "unknown"
+          ],
+          "example": "deviated",
+          "title": "Wellbore Shape",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Shape"
+          ]
+        },
+        "spudDate": {
+          "description": "The date and time when activities to drill the borehole begin to create a hole in the earth. For a sidetrack, this is the date kickoff operations began. The format follows ISO 8601 YYYY-MM-DD extended format",
+          "example": "2013-03-22",
+          "format": "date",
+          "title": "Spud Date",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:DTimKickoff",
+            "ocean:SpudDate",
+            "drillplan:spud_date"
+          ]
+        },
+        "state": {
+          "description": "The state name, in which the wellbore is located.",
+          "example": "North Dakota",
+          "title": "State",
+          "type": "string"
+        },
+        "totalDepthMd": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The measured depth of the borehole. If status is plugged, indicates the maximum depth reached before plugging. It is recommended that this value be updated about every 10 minutes by an assigned raw data provider at a site.",
+          "example": [
+            13200,
+            "ft"
+          ],
+          "title": "Total MD",
+          "x-slb-aliasProperties": [
+            "witsml:Md",
+            "ocean:TDMD"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthMdDriller": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The total depth along the wellbore as reported by the drilling contractor from 'elevationReference'. The unit definition is found via the property's unitKey' in 'frameOfReference.units' dictionary..",
+          "example": [
+            13200.23,
+            "ft"
+          ],
+          "title": "Total MD Drilled",
+          "x-slb-aliasProperties": [
+            "witsml:MdBit"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthMdPlanned": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Planned measured depth for the wellbore total depth.",
+          "example": [
+            13200,
+            "ft"
+          ],
+          "title": "Total MD Planned",
+          "x-slb-aliasProperties": [
+            "witsml:MdPlanned"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthMdSubSeaPlanned": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Planned measured for the wellbore total depth - with respect to seabed.",
+          "example": [
+            13100,
+            "ft"
+          ],
+          "title": "Total MD Sub Sea Planned",
+          "x-slb-aliasProperties": [
+            "witsml:MdSubSeaPlanned"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthProjectedMd": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The projected total measured depth of the borehole. This property is questionable as there is not precise documentation available.",
+          "example": [
+            13215,
+            "ft"
+          ],
+          "title": "Total MD Projected",
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthTvd": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The true vertical depth of the borehole. If status is plugged, indicates the maximum depth reached before plugging. It is recommended that this value be updated about every 10 minutes by an assigned raw data provider at a site.",
+          "example": [
+            12200.23,
+            "ft"
+          ],
+          "title": "Total TVD",
+          "x-slb-aliasProperties": [
+            "witsml:Tvd"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthTvdDriller": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The total depth true vertical as reported by the drilling contractor from 'elevationReference', Downwards increasing. The unit definition is found via the property's unitKey' in 'frameOfReference.units' dictionary.",
+          "example": [
+            12200.23,
+            "ft"
+          ],
+          "title": "Total TVD Drilled",
+          "x-slb-aliasProperties": [
+            "witsml:TvdBit"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthTvdPlanned": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Planned true vertical depth for the wellbore total depth.",
+          "example": [
+            12200.23,
+            "ft"
+          ],
+          "title": "Total TVD Planned",
+          "x-slb-aliasProperties": [
+            "witsml:TvdPlanned"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "totalDepthTvdSubSeaPlanned": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "Planned true vertical depth for the wellbore total depth - with respect to seabed.",
+          "example": [
+            12100.23,
+            "ft"
+          ],
+          "title": "Total TVD Sub Sea Planned",
+          "x-slb-aliasProperties": [
+            "witsml:TvdSubSeaPlanned"
+          ],
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "uwi": {
+          "description": "The unique wellbore identifier, aka. API number, US well number or UBHI. Codes can have 10, 12 or 14 digits depending on the availability of directional sidetrack (2 digits) and event sequence codes (2 digits).",
+          "example": [
+            "42-501-20130",
+            "42-501-20130-01-02"
+          ],
+          "title": "Unique Wellbore Identifier",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "ocean:UWI",
+            "witsml:SuffixAPI",
+            "drillplan:uwi"
+          ]
+        },
+        "wellHeadElevation": {
+          "$ref": "#/definitions/valueWithUnit",
+          "description": "The wellbore's vertical position is an elevation from mean sea level (MSL), positive above MSL.",
+          "title": "Well Head Elevation",
+          "x-slb-measurement": "Standard_Depth_Index"
+        },
+        "wellHeadGeographic": {
+          "$ref": "#/definitions/geographicPosition",
+          "description": "The wellbore's well head position in the native, geographic CRS; vertical position is an elevation from mean sea level (MSL), positive above MSL.",
+          "title": "Well Head Position, Geographic",
+          "type": "object"
+        },
+        "wellHeadProjected": {
+          "$ref": "#/definitions/projectedPosition",
+          "description": "The wellbore's well head position in the native, projected CRS; vertical position is an elevation from mean sea level (MSL), positive above MSL.",
+          "title": "Well Head Position, Projected",
+          "type": "object"
+        },
+        "wellHeadWgs84": {
+          "$ref": "#/definitions/core_dl_geopoint",
+          "description": "The wellbore's position in WGS 84 latitude and longitude.",
+          "format": "core:dl:geopoint:1.0.0",
+          "title": "WGS 84 Position",
+          "type": "object",
+          "x-slb-aliasProperties": [
+            "witsml:GeographicLocationWGS84"
+          ]
+        },
+        "wellboreNumberGovernment": {
+          "description": "Government assigned wellbore number.",
+          "example": "42-501-20130-P",
+          "title": "Government Number",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:NumGovt"
+          ]
+        },
+        "wellboreNumberOperator": {
+          "description": "Operator wellbore number.",
+          "example": "12399-001",
+          "title": "Operator Number",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:Number"
+          ]
+        },
+        "wellborePurpose": {
+          "description": "POSC wellbore purpose",
+          "enum": [
+            "appraisal",
+            "appraisal -- confirmation appraisal",
+            "appraisal -- exploratory appraisal",
+            "exploration",
+            "exploration -- deeper-pool wildcat",
+            "exploration -- new-field wildcat",
+            "exploration -- new-pool wildcat",
+            "exploration -- outpost wildcat",
+            "exploration -- shallower-pool wildcat",
+            "development",
+            "development -- infill development",
+            "development -- injector",
+            "development -- producer",
+            "fluid storage",
+            "fluid storage -- gas storage",
+            "general srvc",
+            "general srvc -- borehole re-acquisition",
+            "general srvc -- observation",
+            "general srvc -- relief",
+            "general srvc -- research",
+            "general srvc -- research -- drill test",
+            "general srvc -- research -- strat test",
+            "general srvc -- waste disposal",
+            "mineral",
+            "unknown"
+          ],
+          "example": "development -- producer",
+          "title": "Wellbore Purpose",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:PurposeWellbore",
+            "drillplan:well_purpose"
+          ]
+        },
+        "wellboreStatus": {
+          "description": "POSC wellbore status.",
+          "enum": [
+            "abandoned",
+            "active",
+            "active -- injecting",
+            "active -- producing",
+            "completed",
+            "drilling",
+            "partially plugged",
+            "permitted",
+            "plugged and abandoned",
+            "proposed",
+            "sold",
+            "suspended",
+            "temporarily abandoned",
+            "testing",
+            "tight",
+            "working over",
+            "unknown"
+          ],
+          "example": "active -- producing",
+          "title": "Wellbore Status",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:StatusWellbore"
+          ]
+        },
+        "wellboreType": {
+          "description": "Type of wellbore.",
+          "enum": [
+            "bypass",
+            "initial",
+            "redrill",
+            "reentry",
+            "respud",
+            "sidetrack",
+            "unknown"
+          ],
+          "example": "sidetrack",
+          "title": "Wellbore Type",
+          "type": "string",
+          "x-slb-aliasProperties": [
+            "witsml:TypeWellbore",
+            "drillplan:well_type"
+          ]
+        }
+      },
+      "title": "Wellbore Data",
+      "type": "object"
+    }
+  },
+  "description": "The well-known wellbore schema. Used to capture the general information about a wellbore. This information is sometimes called a \"wellbore header\". A wellbore represents the path from surface to a unique bottomhole location. The wellbore object is uniquely identified within the context of one well object.",
+  "properties": {
+    "acl": {
+      "$ref": "#/definitions/tagDictionary",
+      "description": "The access control tags associated with this entity.",
+      "title": "Access Control List"
+    },
+    "ancestry": {
+      "$ref": "#/definitions/linkList",
+      "description": "The links to data, which constitute the inputs.",
+      "title": "Ancestry"
+    },
+    "data": {
+      "$ref": "#/definitions/wellboreData",
+      "description": "Wellbore data container",
+      "title": "Wellbore Data"
+    },
+    "id": {
+      "description": "The unique identifier of the wellbore",
+      "title": "Wellbore ID",
+      "type": "string"
+    },
+    "kind": {
+      "default": "slb:wks:wellbore:1.0.6",
+      "description": "Well-known wellbore kind specification",
+      "title": "Wellbore Kind",
+      "type": "string"
+    },
+    "legal": {
+      "$ref": "#/definitions/legal",
+      "description": "The geological interpretation's legal tags",
+      "title": "Legal Tags"
+    },
+    "meta": {
+      "description": "The meta data section linking the 'unitKey', 'crsKey' to self-contained definitions (persistableReference)",
+      "items": {
+        "$ref": "#/definitions/metaItem"
+      },
+      "title": "Frame of Reference Meta Data",
+      "type": "array"
+    },
+    "type": {
+      "description": "The reference entity type as declared in common:metadata:entity:*.",
+      "title": "Entity Type",
+      "type": "string"
+    },
+    "version": {
+      "description": "The version number of this wellbore; set by the framework.",
+      "example": "1040815391631285",
+      "format": "int64",
+      "title": "Entity Version Number",
+      "type": "number"
+    }
+  },
+  "title": "Wellbore",
+  "type": "object"
+}
\ No newline at end of file
diff --git a/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json.res b/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json.res
new file mode 100644
index 0000000000000000000000000000000000000000..4b4b9b61d8bdd5cb6ab5575ea72e4bc611ebfbac
--- /dev/null
+++ b/indexer-core/src/test/resources/converter/wks/slb_wke_wellbore.json.res
@@ -0,0 +1,357 @@
+{
+  "kind": "slb:wks:wellbore:1.0.6",
+  "schema": [
+    {
+      "kind": "string",
+      "path": "airGap.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "airGap.value"
+    },
+    {
+      "kind": "string",
+      "path": "block"
+    },
+    {
+      "kind": "string",
+      "path": "country"
+    },
+    {
+      "kind": "string",
+      "path": "county"
+    },
+    {
+      "kind": "datetime",
+      "path": "dateCreated"
+    },
+    {
+      "kind": "datetime",
+      "path": "dateModified"
+    },
+    {
+      "kind": "string",
+      "path": "drillingDaysTarget.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "drillingDaysTarget.value"
+    },
+    {
+      "kind": "string",
+      "path": "elevationReference.elevationFromMsl.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "elevationReference.elevationFromMsl.value"
+    },
+    {
+      "kind": "string",
+      "path": "elevationReference.name"
+    },
+    {
+      "kind": "[]link",
+      "path": "externalIds"
+    },
+    {
+      "kind": "string",
+      "path": "field"
+    },
+    {
+      "kind": "string",
+      "path": "formationAtTd"
+    },
+    {
+      "kind": "string",
+      "path": "formationProjected"
+    },
+    {
+      "kind": "bool",
+      "path": "hasAchievedTotalDepth"
+    },
+    {
+      "kind": "bool",
+      "path": "isActive"
+    },
+    {
+      "kind": "string",
+      "path": "kickOffMd.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "kickOffMd.value"
+    },
+    {
+      "kind": "string",
+      "path": "kickOffTvd.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "kickOffTvd.value"
+    },
+    {
+      "kind": "core:dl:geoshape:1.0.0",
+      "path": "locationWGS84"
+    },
+    {
+      "kind": "string",
+      "path": "name"
+    },
+    {
+      "kind": "string",
+      "path": "operator"
+    },
+    {
+      "kind": "datetime",
+      "path": "permitDate"
+    },
+    {
+      "kind": "string",
+      "path": "permitNumber"
+    },
+    {
+      "kind": "string",
+      "path": "plssLocation.aliquotPart"
+    },
+    {
+      "kind": "string",
+      "path": "plssLocation.range"
+    },
+    {
+      "kind": "int",
+      "path": "plssLocation.section"
+    },
+    {
+      "kind": "string",
+      "path": "plssLocation.township"
+    },
+    {
+      "kind": "string",
+      "path": "propertyDictionary"
+    },
+    {
+      "kind": "double",
+      "path": "relationships.definitiveTimeDepthRelation.confidence"
+    },
+    {
+      "kind": "link",
+      "path": "relationships.definitiveTimeDepthRelation.id"
+    },
+    {
+      "kind": "string",
+      "path": "relationships.definitiveTimeDepthRelation.name"
+    },
+    {
+      "kind": "long",
+      "path": "relationships.definitiveTimeDepthRelation.version"
+    },
+    {
+      "kind": "double",
+      "path": "relationships.definitiveTrajectory.confidence"
+    },
+    {
+      "kind": "link",
+      "path": "relationships.definitiveTrajectory.id"
+    },
+    {
+      "kind": "string",
+      "path": "relationships.definitiveTrajectory.name"
+    },
+    {
+      "kind": "long",
+      "path": "relationships.definitiveTrajectory.version"
+    },
+    {
+      "kind": "double",
+      "path": "relationships.tieInWellbore.confidence"
+    },
+    {
+      "kind": "link",
+      "path": "relationships.tieInWellbore.id"
+    },
+    {
+      "kind": "string",
+      "path": "relationships.tieInWellbore.name"
+    },
+    {
+      "kind": "long",
+      "path": "relationships.tieInWellbore.version"
+    },
+    {
+      "kind": "double",
+      "path": "relationships.well.confidence"
+    },
+    {
+      "kind": "link",
+      "path": "relationships.well.id"
+    },
+    {
+      "kind": "string",
+      "path": "relationships.well.name"
+    },
+    {
+      "kind": "long",
+      "path": "relationships.well.version"
+    },
+    {
+      "kind": "string",
+      "path": "shape"
+    },
+    {
+      "kind": "datetime",
+      "path": "spudDate"
+    },
+    {
+      "kind": "string",
+      "path": "state"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthMd.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthMd.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthMdDriller.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthMdDriller.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthMdPlanned.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthMdPlanned.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthMdSubSeaPlanned.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthMdSubSeaPlanned.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthProjectedMd.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthProjectedMd.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthTvd.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthTvd.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthTvdDriller.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthTvdDriller.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthTvdPlanned.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthTvdPlanned.value"
+    },
+    {
+      "kind": "string",
+      "path": "totalDepthTvdSubSeaPlanned.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "totalDepthTvdSubSeaPlanned.value"
+    },
+    {
+      "kind": "string",
+      "path": "uwi"
+    },
+    {
+      "kind": "string",
+      "path": "wellHeadElevation.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadElevation.value"
+    },
+    {
+      "kind": "string",
+      "path": "wellHeadGeographic.crsKey"
+    },
+    {
+      "kind": "string",
+      "path": "wellHeadGeographic.elevationFromMsl.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadGeographic.elevationFromMsl.value"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadGeographic.latitude"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadGeographic.longitude"
+    },
+    {
+      "kind": "string",
+      "path": "wellHeadProjected.crsKey"
+    },
+    {
+      "kind": "string",
+      "path": "wellHeadProjected.elevationFromMsl.unitKey"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadProjected.elevationFromMsl.value"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadProjected.x"
+    },
+    {
+      "kind": "double",
+      "path": "wellHeadProjected.y"
+    },
+    {
+      "kind": "core:dl:geopoint:1.0.0",
+      "path": "wellHeadWgs84"
+    },
+    {
+      "kind": "string",
+      "path": "wellboreNumberGovernment"
+    },
+    {
+      "kind": "string",
+      "path": "wellboreNumberOperator"
+    },
+    {
+      "kind": "string",
+      "path": "wellborePurpose"
+    },
+    {
+      "kind": "string",
+      "path": "wellboreStatus"
+    },
+    {
+      "kind": "string",
+      "path": "wellboreType"
+    }
+  ]
+}
\ No newline at end of file