{ type: 'object', properties: { '@context': { type: 'string', }, '@type': { type: 'string', enum: [ 'Goal', ], }, 'score': { type: 'integer', minimum: 0, maximum: 10, }, 'status': { type: 'object', properties: { '@id': { type: 'string', enum: [ 'Active', 'Archived', 'Complete', ], }, '@type': { type: 'string', enum: [ 'GoalStatus', ], }, }, }, }, anyOf: [ { required: ['status'] }, { required: ['score'] }, ], required: [ '@context', '@type', ], }