Commit d99a3044 authored by David Diederich's avatar David Diederich
Browse files

Merge remote-tracking branch 'origin/master' into 59-correct-internal-versioning

Conflicts:
	NOTICE
parents 7a7aa46f 6d5c78a0
Pipeline #53306 failed with stages
in 53 minutes and 31 seconds
......@@ -32,6 +32,14 @@ analyze:
type: mvn
target: provider/schema-azure/pom.xml
path: .
- name: azure
type: pip
target: deployments/scripts/azure
path: deployments/scripts/azure
- name: google
type: pip
target: deployments/scripts/google
path: deployments/scripts/google
- name: ibm
type: pip
target: deployments/scripts/ibm
......@@ -44,11 +52,3 @@ analyze:
type: pip
target: deployments/scripts/aws
path: deployments/scripts/aws
- name: azure
type: pip
target: deployments/scripts/azure
path: deployments/scripts/azure
- name: google
type: pip
target: deployments/scripts/google
path: deployments/scripts/google
......@@ -38,7 +38,10 @@ variables:
OSDU_GCP_VENDOR: gcp
OSDU_GCP_APPLICATION_NAME: os-schema
OSDU_GCP_TESTS_SUBDIR: testing/schema-test-core
OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_URL,AUTHORIZE_API_KEY=$OSDU_GCP_AUTHORIZE_API_KEY,LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_WEB=DEBUG,SHARED_TENANT_NAME=$TENANT,PARTITION_API=$OSDU_GCP_PARTITION_API,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE --vpc-connector=$OSDU_GCP_VPC_CONNECTOR
OSDU_GCP_ENV_VARS: AUTHORIZE_API=$OSDU_GCP_ENTITLEMENTS_V2_URL,AUTHORIZE_API_KEY=$OSDU_GCP_AUTHORIZE_API_KEY,LOGGING_LEVEL_ORG_SPRINGFRAMEWORK_WEB=DEBUG,SHARED_TENANT_NAME=$TENANT,PARTITION_API=$OSDU_GCP_PARTITION_API,GOOGLE_AUDIENCES=$GOOGLE_AUDIENCE --vpc-connector=$OSDU_GCP_VPC_CONNECTOR
OSDU_GCP_HELM_PACKAGE_CHARTS: "devops/gcp/deploy devops/gcp/configmap"
OSDU_GCP_DEPLOYMENTS_SUBDIR: deployments/scripts/google
OSDU_GCP_DEPLOYMENTS_SCRIPTS_SUBDIR: deployments/scripts
include:
- project: "osdu/platform/ci-cd-pipelines"
......@@ -72,6 +75,7 @@ include:
- local: "/devops/azure/gitlab-bootstrap.yml"
- local: "/devops/aws/bootstrap.yaml"
- local: "/devops/ibm/bootstrap.yaml"
- local: "/devops/gcp/bootstrap.yaml"
osdu-gcp-test:
image: maven:3.6.3-jdk-8
......
This diff is collapsed.
......@@ -3,4 +3,3 @@ BEARER_TOKEN=`python $IBM_DEPLOYMENTS_SUBDIR/Token.py`
export BEARER_TOKEN=$BEARER_TOKEN
echo $BEARER_TOKEN
python $IBM_DEPLOYMENTS_SCRIPTS_SUBDIR/DeploySharedSchemas.py -u $IBM_SCHEMA_URL
......@@ -47,7 +47,9 @@ load sequence per schema version. An example can be found
## Upload schema definitions
Once the loading instructions are completed, the schema registration can be launched. this is
done via the [DeploySharedSchemas.py](../scripts/DeploySharedSchemas.py):
done via the [DeploySharedSchemas.py](../scripts/DeploySharedSchemas.py). Important parameters, i.e.
the target schema authority and the path to the load-sequence file are in code in `DEFAULT_BOOTSTRAP_OPTIONS`
[Utility.py](../scripts/Utility.py#L18). The DeploySharedSchemas.py options are as follows:
```shell script
python deployments\scripts\DeploySharedSchemas.py -h
......@@ -58,14 +60,11 @@ load sequence file.
optional arguments:
-h, --help show this help message and exit
-a A The schema authority or partition-id to replace (default via
Env)
-l L The path to the load sequence file, e.g. load_sequence.?.?.?
-u U The complete URL to the Schema Service.
example:
python deployments\scripts\DeploySharedSchemas.py -l load_sequence.1.0.0.json -a osdu -u https://opengroup.test.org/api/schema-service/v1/schema
python deployments\scripts\DeploySharedSchemas.py -u https://opengroup.test.org/api/schema-service/v1/schema
```
......
{
"schemaInfo": {
"schemaIdentity": {
"authority": "{{schema-authority}}",
"source": "wks",
"entityType": "AbstractActivityParameter",
"schemaVersionMajor": 1,
"schemaVersionMinor": 0,
"schemaVersionPatch": 0,
"id": "{{schema-authority}}:wks:AbstractActivityParameter:1.0.0"
},
"createdBy": "OSDU Data Definition Group",
"scope": "SHARED",
"status": "DEVELOPMENT"
},
"schema": {
"x-osdu-license": "Copyright 2021, 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.",
"x-osdu-review-status": "Accepted",
"$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractActivityParameter.1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"x-osdu-schema-source": "osdu:wks:AbstractActivityParameter:1.0.0",
"title": "AbstractActivityParameter",
"description": "General parameter value used in one instance of activity.\n[Without inheritance, combined specializations.]",
"type": "object",
"properties": {
"Title": {
"type": "string",
"title": "Title",
"description": "Name of the parameter, used to identify it in the activity. It must have an equivalent in the ActivityTemplate parameters."
},
"Index": {
"type": "integer",
"title": "Index",
"description": "When parameter is an array, used to indicate the index in the array."
},
"Selection": {
"type": "string",
"title": "Selection",
"description": "Textual description about how this parameter was selected."
},
"Keys": {
"type": "array",
"title": "Keys",
"description": "A nested array describing keys used to identify a parameter value. When multiple values are provided for a given parameter, the key provides a way to identify the parameter through its association with an object, a time index or a parameter array member via ParameterKey value.",
"items": {
"type": "object",
"title": "Parameter Key",
"description": "Abstract class describing a key used to identify a parameter value. When multiple values are provided for a given parameter, provides a way to identify the parameter through its association with an object, a time index... \n[Without inheritance, combined specializations.]",
"properties": {
"ObjectParameterKey": {
"type": "string",
"title": "Object Parameter Key",
"description": "Relationship to an object ID, which acts as the parameter.",
"pattern": "^[\\w\\-\\.]+:[\\w\\-\\.]+:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": []
},
"TimeIndexParameterKey": {
"type": "string",
"title": "Time Index Parameter Key",
"format": "time"
},
"ParameterKey": {
"type": "string",
"title": "Internal Parameter Key",
"description": "The key name, which establishes an association between parameters."
}
}
}
},
"DataObjectParameter": {
"type": "string",
"title": "Data Object Parameter",
"description": "Parameter referencing to a top level object.",
"pattern": "^[\\w\\-\\.]+:[\\w\\-\\.]+:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": []
},
"DataQuantityParameter": {
"type": "number",
"title": "Data Quantity Parameter",
"description": "Parameter containing a double value.",
"x-osdu-frame-of-reference": "UOM_via_property:DataQuantityParameterUOMID"
},
"IntegerQuantityParameter": {
"type": "integer",
"title": "Integer Quantity Parameter",
"description": "Parameter containing an integer value."
},
"StringParameter": {
"type": "string",
"title": "String Parameter",
"description": "Parameter containing a string value."
},
"TimeIndexParameter": {
"type": "string",
"title": "Time Index Parameter",
"description": "Parameter containing a time index value. It is assumed that all TimeIndexParameters within an Activity have the same date-time format, which is then described by the FrameOfReference mechanism.",
"format": "date-time",
"x-osdu-frame-of-reference": "DateTime"
},
"ParameterKindID": {
"type": "string",
"description": "[Added to cover lack of inheritance]",
"pattern": "^[\\w\\-\\.]+:reference-data\\-\\-ParameterKind:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "reference-data",
"EntityType": "ParameterKind"
}
]
},
"ParameterRoleID": {
"type": "string",
"title": "Parameter Role",
"description": "Reference data describing how the parameter was used by the activity, such as input, output, control, constraint, agent, predecessor activity, successor activity.",
"pattern": "^[\\w\\-\\.]+:reference-data\\-\\-ParameterRole:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "reference-data",
"EntityType": "ParameterRole"
}
]
},
"DataQuantityParameterUOMID": {
"type": "string",
"title": "Data Quantity Parameter UoM ID",
"description": "Identifies unit of measure for floating point value.",
"pattern": "^[\\w\\-\\.]+:reference-data\\-\\-UnitOfMeasure:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "reference-data",
"EntityType": "UnitOfMeasure"
}
]
}
},
"required": [
"Title",
"ParameterKindID"
],
"x-osdu-inheriting-from-kind": []
}
}
\ No newline at end of file
......@@ -46,7 +46,7 @@
"EncodingFormatTypeID": {
"type": "string",
"title": "Encoding Format Type ID",
"description": "EncodingFormatType ID reference value relationship. It can me a mime-type or media-type.",
"description": "EncodingFormatType ID reference value relationship. It can be a mime-type or media-type.",
"example": "namespace:reference-data--EncodingFormatType:text%2Fcsv:",
"pattern": "^[\\w\\-\\.]+:reference-data\\-\\-EncodingFormatType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
......
......@@ -23,7 +23,8 @@
"type": "object",
"properties": {
"FacilityID": {
"description": "A system-specified unique identifier of a Facility.",
"title": "External Facility Identifier",
"description": "Native identifier from a Master Data Management System or other trusted source external to OSDU - stored here in order to allow for multi-system connection and synchronization. If used, the \"Source\" property should identify that source system.",
"type": "string"
},
"FacilityTypeID": {
......
......@@ -23,7 +23,8 @@
"type": "object",
"properties": {
"ProjectID": {
"description": "A system-specified unique identifier of a Project.",
"title": "External Project Identifier",
"description": "Native identifier from a Master Data Management System or other trusted source external to OSDU - stored here in order to allow for multi-system connection and synchronization. If used, the \"Source\" property should identify that source system.",
"type": "string"
},
"ProjectName": {
......
{
"schemaInfo": {
"schemaIdentity": {
"authority": "{{schema-authority}}",
"source": "wks",
"entityType": "AbstractProjectActivity",
"schemaVersionMajor": 1,
"schemaVersionMinor": 0,
"schemaVersionPatch": 0,
"id": "{{schema-authority}}:wks:AbstractProjectActivity:1.0.0"
},
"createdBy": "OSDU Data Definition Group",
"scope": "SHARED",
"status": "DEVELOPMENT"
},
"schema": {
"x-osdu-license": "Copyright 2021, 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.",
"x-osdu-review-status": "Accepted",
"$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractProjectActivity.1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"x-osdu-schema-source": "osdu:wks:AbstractProjectActivity:1.0.0",
"title": "AbstractProjectActivity",
"description": "The activity abstraction for projects and surveys (master-data).",
"type": "object",
"properties": {
"ActivityTemplateID": {
"type": "string",
"title": "Activity Template ID",
"description": "The relation to the ActivityTemplate carrying expected parameter definitions and default values.",
"pattern": "^[\\w\\-\\.]+:master-data\\-\\-ActivityTemplate:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "master-data",
"EntityType": "ActivityTemplate"
}
]
},
"ParentProjectID": {
"type": "string",
"title": "Parent Project ID",
"description": "The relationship to a parent project acting as a parent activity.",
"pattern": "^[\\w\\-\\.]+:(master-data\\-\\-[\\w\\-\\.]*Project[\\w\\-\\.]*|master-data\\-\\-[\\w\\-\\.]*Survey[\\w\\-\\.]*):[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "master-data",
"EntityType": "*Project*"
},
{
"GroupType": "master-data",
"EntityType": "*Survey*"
}
]
},
"Parameters": {
"type": "array",
"title": "Parameters",
"description": "General parameter value used in one instance of activity. Includes reference to data objects which are inputs and outputs of the activity.",
"x-osdu-indexing": {
"type": "nested"
},
"items": {
"$ref": "{{schema-authority}}:wks:AbstractActivityParameter:1.0.0"
}
}
},
"x-osdu-inheriting-from-kind": []
}
}
\ No newline at end of file
{
"schemaInfo": {
"schemaIdentity": {
"authority": "{{schema-authority}}",
"source": "wks",
"entityType": "AbstractPropertyType",
"schemaVersionMajor": 1,
"schemaVersionMinor": 0,
"schemaVersionPatch": 0,
"id": "{{schema-authority}}:wks:AbstractPropertyType:1.0.0"
},
"createdBy": "OSDU Data Definition Group",
"scope": "SHARED",
"status": "DEVELOPMENT"
},
"schema": {
"x-osdu-license": "Copyright 2021, 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.",
"x-osdu-review-status": "Accepted",
"$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractPropertyType.1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"x-osdu-schema-source": "osdu:wks:AbstractPropertyType:1.0.0",
"title": "AbstractPropertyType",
"description": "A nested object holding the relationship to a PropertyType by id (uuid) and a derived, human-readable name.",
"type": "object",
"properties": {
"PropertyTypeID": {
"type": "string",
"title": "Property Type ID",
"description": "The relationship to the PropertyType reference data item, typically containing an Energistics PWLS 3 uuid. For better traceability and usability the property name is to be populated in the Name property.",
"example": "namespace:reference-data--PropertyType:ace68d4c-7400-431d-9a33-0541b8bfc4b4:",
"x-osdu-existing-standard": "Energistics PWLS 3",
"pattern": "^[\\w\\-\\.]+:reference-data\\-\\-PropertyType:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "reference-data",
"EntityType": "PropertyType"
}
]
},
"Name": {
"type": "string",
"title": "Name",
"description": "The name of the PropertyType, de-normalized, derived from the record referenced in PropertyTypeID.",
"example": "dip azimuth",
"x-osdu-is-derived": {
"RelationshipPropertyName": "PropertyTypeID",
"TargetPropertyName": "Name"
},
"x-osdu-existing-standard": "Energistics PWLS 3"
}
},
"x-osdu-inheriting-from-kind": []
}
}
\ No newline at end of file
{
"schemaInfo": {
"schemaIdentity": {
"authority": "{{schema-authority}}",
"source": "wks",
"entityType": "AbstractReferencePropertyType",
"schemaVersionMajor": 1,
"schemaVersionMinor": 0,
"schemaVersionPatch": 0,
"id": "{{schema-authority}}:wks:AbstractReferencePropertyType:1.0.0"
},
"createdBy": "OSDU Data Definition Group",
"scope": "SHARED",
"status": "DEVELOPMENT"
},
"schema": {
"x-osdu-license": "Copyright 2021, 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.",
"x-osdu-review-status": "Accepted",
"x-osdu-governance-authorities": [
"OSDU"
],
"$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractReferencePropertyType.1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"x-osdu-schema-source": "osdu:wks:AbstractReferencePropertyType:1.0.0",
"title": "AbstractReferencePropertyType",
"description": "The purpose of this schema is best understood in the context of a columnar dataset: the AbstractReferencePropertyType describes a column in a columnar dataset by declaring its value type (number, string), a UnitQuantity if the value type is a number, a kind if the string value is actually a relationship to a e.g. reference-data type.",
"type": "object",
"properties": {
"ValueType": {
"type": "string",
"title": "Value Type",
"description": "The type of value to expect for this reference property, either \"number\" (floating point number), \"integer\", \"string\", or \"boolean\".",
"example": "string"
},
"ValueCount": {
"type": "integer",
"title": "Value Count",
"description": "The number of values in a tuple, e.g. For coordinates. The default is 1.",
"example": 1,
"default": 1
},
"UnitQuantityID": {
"type": "string",
"title": "Unit Quantity ID",
"description": "Only populated of the ValueType is \"number\". It holds the UnitQuantity associated with this reference property type. It is a relationship to UnitQuantity record.",
"example": "namespace:reference-data--UnitQuantity:plane%20angle:",
"x-osdu-existing-standard": "Energistics Unit of Measure V1.0",
"pattern": "^[\\w\\-\\.]+:reference-data\\-\\-UnitQuantity:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "reference-data",
"EntityType": "UnitQuantity"
}
]
},
"PropertyType": {
"$ref": "{{schema-authority}}:wks:AbstractPropertyType:1.0.0",
"title": "Property Type",
"description": "It holds the PropertyType associated with this reference property type, further defining the semantics of the value. It contains a relationship to PropertyType record and its (de-normalized) name. String or number values can represent e.g. A date or a time by referring to the respective PropertyType record id.",
"example": {
"PropertyTypeID": "namespace:reference-data--PropertyType:ace68d4c-7400-431d-9a33-0541b8bfc4b4:",
"Name": "dip azimuth"
}
},
"RelationshipTargetKind": {
"type": "string",
"title": "Relationship Target Kind",
"description": "Only populated if ValueType==\"string\" and the values are expected to represent record ids, e.g. to a reference-data type, then this value holds the kind (optionally without the semantic version number).",
"example": "osdu:wks:reference-data--UnitOfMeasure:",
"pattern": "^[\\w\\-\\.]+:[\\w\\-\\.]+:[\\w\\-\\.]+:([0-9]+)?(\\.)?([0-9]+)?(\\.)?([0-9]+)?$"
}
},
"x-osdu-inheriting-from-kind": []
}
}
\ No newline at end of file
......@@ -38,7 +38,8 @@
}
},
"ID": {
"description": "Surrogate key to uniquely identify an instance in a domain list.",
"title": "External Identifier",
"description": "Native identifier from a Master Data Management System or other trusted source external to OSDU - stored here in order to allow for multi-system connection and synchronization. If used, the \"Source\" property should identify that source system.",
"type": "string"
},
"InactiveIndicator": {
......
{
"schemaInfo": {
"schemaIdentity": {
"authority": "{{schema-authority}}",
"source": "wks",
"entityType": "AbstractWPCActivity",
"schemaVersionMajor": 1,
"schemaVersionMinor": 0,
"schemaVersionPatch": 0,
"id": "{{schema-authority}}:wks:AbstractWPCActivity:1.0.0"
},
"createdBy": "OSDU Data Definition Group",
"scope": "SHARED",
"status": "DEVELOPMENT"
},
"schema": {
"x-osdu-license": "Copyright 2021, 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.",
"x-osdu-review-status": "Accepted",
"$id": "https://schema.osdu.opengroup.org/json/abstract/AbstractWPCActivity.1.0.0.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"x-osdu-schema-source": "osdu:wks:AbstractWPCActivity:1.0.0",
"title": "AbstractWPCActivity",
"description": "The activity abstraction included by projects (master-data) and work-product-component group-type specialisations.",
"type": "object",
"properties": {
"ActivityTemplateID": {
"type": "string",
"title": "Activity Template ID",
"description": "The relation to the ActivityTemplate carrying expected parameter definitions and default values.",
"pattern": "^[\\w\\-\\.]+:master-data\\-\\-ActivityTemplate:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "master-data",
"EntityType": "ActivityTemplate"
}
]
},
"ParentProjectID": {
"type": "string",
"title": "Parent Project ID",
"description": "The relationship to a parent project acting as a parent activity.",
"pattern": "^[\\w\\-\\.]+:(master-data\\-\\-[\\w\\-\\.]*Project[\\w\\-\\.]*|master-data\\-\\-[\\w\\-\\.]*Survey[\\w\\-\\.]*):[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "master-data",
"EntityType": "*Project*"
},
{
"GroupType": "master-data",
"EntityType": "*Survey*"
}
]
},
"ParentActivityID": {
"type": "string",
"title": "Parent Activity ID",
"description": "The relationship to a parent activity.",
"pattern": "^[\\w\\-\\.]+:work-product-component\\-\\-[\\w\\-\\.]*Activity[\\w\\-\\.]*:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "work-product-component",
"EntityType": "*Activity*"
}
]
},
"Parameters": {
"type": "array",
"title": "Parameters",
"description": "General parameter value used in one instance of activity. Includes reference to data objects which are inputs and outputs of the activity.",
"x-osdu-indexing": {
"type": "nested"
},
"items": {
"$ref": "{{schema-authority}}:wks:AbstractActivityParameter:1.0.0"
}
},
"PriorActivityIDs": {
"type": "array",
"title": "Prior Activity IDs",
"description": "The activity or activities feeding results into this activity instance.",
"items": {
"type": "string",
"pattern": "^[\\w\\-\\.]+:work-product-component\\-\\-[\\w\\-\\.]*Activity[\\w\\-\\.]*:[\\w\\-\\.\\:\\%]+:[0-9]*$",
"x-osdu-relationship": [
{
"GroupType": "work-product-component",
"EntityType": "*Activity*"
}