{ "$schema": "http://json-schema.org/schema", "$schemaVersion": "0.0.1", "$id": "https://smart-data-models.github.io/dataModel.CPSV-AP/PublicService/schema.json", "title": "Smart Data models - PublicService schema", "modelTags": "CEFAT4CITIES", "description": "A Public Service is a mandatory or discretionary set of activities performed, or able to be performed, by or on behalf of a public organisation, publicly funded and arise from public policy.", "derivedFrom": "", "license": "", "type": "object", "required": [ "id", "type", "identifier", "name", "description", "hasCompetentAuthority" ], "allOf": [ { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/GSMA-Commons" }, { "$ref": "https://smart-data-models.github.io/data-models/common-schema.json#/definitions/Location-Commons" }, { "properties": { "type": { "type": "string", "description": "Property. Model:'https://schema.org/Text'. It has to be PublicService", "enum": [ "PublicService" ] }, "identifier": { "type": "string", "description": "Property. Model:'dct:identifier'. This property represents a formally-issued Identifier for the Public Service" }, "keyword": { "type": "array", "description": "Property. Model:'dcat:keyword'. This property represents a keyword, term or phrase to describe the Public Service", "items": { "type": "string" } }, "sector": { "type": "array", "description": "Property. Model:'cv:sector'. This property represents the industry or sector a Public Service relates to, or is intended for. For example: environment, safety, housing. Note that a single Public Service may relate to multiple sectors. The possible values for this property are provided as a controlled vocabulary (List of NACE codes:https://ec.europa.eu/competition/mergers/cases/index/nace_all.html)", "items": { "type": "string" } }, "thematicArea": { "type": "array", "description": "Property. Model:'cv:thematicArea'. This property represents the Thematic Area of a Public Service as described in a controlled vocabulary, for instance social protection, health, recreation, culture and religion, family, traveling economic affairs, tax, staff, environment..", "items": { "type": "string" } }, "publicServiceType": { "type": "array", "description": "Property. Model:'dct:type'. This property represents the Type of a Public Service as described in a controlled vocabulary. For the indicating the Type, we are referring to the functions of government to indicate the purpose of a government activity, which the public service is intended for", "items": { "type": "string", "enum": [ "Administrative formality", "Public Service", "Business Lifecycle", "Business Event", "Key Business Event", "Public Service Portfolio", "Catalogue of Public Services", "Competent Authority" ] } }, "language": { "type": "array", "description": "Property. Model:'dct:language'. This property represents the language(s) in which the Public Service is available. This could be one language or multiple languages, for instance in countries with more than one official language. The possible values for this property are described in a controlled vocabulary (European Publications Office's Languages Named Authority List (NAL)),", "items": { "type": "string" } }, "status": { "type": "string", "description": "Property. Model:'adms:status'. Indicates whether a Public Service is active, inactive, under development etc. according to a controlled vocabulary (ADMS Status vocabulary: https://raw.githubusercontent.com/SEMICeu/ADMS-AP/master/purl.org/ADMS_SW_v1-00_Taxonomies.rdf)", "enum": [ "Completed", "Deprecated", "UnderDevelopment", "Withdrawn" ] }, "spatial": { "type": "array", "description": "Property. Model:'cv:spatial'. The possible values for this property are provided as a controlled vocabulary (MDR Continents Named Authority List , MDR Countries Named Authority List, MDR Places Named Authority List, Geonames: http://sws.geonames.org)", "items": { "type": "string" } }, "processingTime": { "type": "string", "format": "date-time", "description": "Property. Model:'cv:processingTime'. The value of this property is the (estimated) time needed for executing a Public Service. The actual information is provided using the ISO8601 syntax for durations. Examples: [5 years -> P5Y, 1 month -> P1M, 3 days -> P3D, 2 days 4 hours -> P2DT4H]" }, "isGroupedBy": { "type": "array", "description": "Relationship. Model:'cv:isGroupedBy'. This property links the Public Service to the Event. Several Public Services may be associated with a particular Event and, likewise, the same Public Service may be associated with several different Events", "items": { "anyOf": [ { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "format": "uri" } ] } }, "hasCriterion": { "type": "array", "description": "Relationship. Model:'cv:hasCriterion'. Links a Public Service to a class that describes the criteria for needing or using the service, such as residency in a given location, being over a certain age etc. The Criterion class is defined in the Core Criterion and Core Evidence Vocabulary (https://joinup.ec.europa.eu/collection/semantic-interoperability-community-semic/solution/core-criterion-and-core-evidence-vocabulary)", "items": { "anyOf": [ { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "format": "uri" } ] } }, "hasCompetentAuthority": { "anyOf": [ { "type": "string", "description": "Property. Array of identifiers format of any NGSI entity", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "type": "string", "description": "Property. Array of identifiers format of any NGSI entity", "format": "uri" } ], "description": "Relationship. Model:'cv:hasCompetentAuthority'. This property links a Public Service to a Public Organization, which is the responsible Agent for the delivery of the Public Service. Whether the particular Public Organization provides the public service directly or outsources it is not relevant. The Public Organization that is the Competent Authority of the service is the one that is ultimately responsible for managing and providing the public service. The term Competent Authority is defined in the Services Directive (2006/123/EC) in the following way: `Any body or authority which has a supervisory or regulatory role in a Member State in relation to service activities, including, in particular, administrative authorities, including courts acting as such, professional bodies, and those professional associations or other professional organisations which, in the exercise of their legal autonomy, regulate in a collective manner access to service activities or the exercise thereof'" }, "hasInput": { "type": "array", "description": "Relationship. Model:'cpsv:hasInput'. The Has Input property links a Public Service to one or more instances of the Evidence class. A specific Public Service may require the presence of certain pieces of Evidence in order to be delivered. If the evidence required to make use of a service varies according to the channel through which it is accessed, then Has Input should be at the level of the Channel", "items": { "anyOf": [ { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "format": "uri" } ] } }, "follows": { "type": "array", "description": "Relationship. Model:'cpsv:follows'. The follows property links a Public Service to the Rule(s) under which it operates. The definition of the Rule class is very broad. In a typical case, the competent authority that provides the public service will also define the rules that will implement its own policies. The CPSV-AP is flexible to allow for significant variation in such a scenario", "items": { "anyOf": [ { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "format": "uri" } ] } }, "hasContactPoint": { "type": "array", "description": "Relationship. Model:'cpsv:hasContactPoint'. A contact point for the service is almost always helpful. The value of this property, the contact information itself, should be provided using schema:ContactPoint. Note that the contact information should be relevant to the Public Service which may not be the same as contact information for the Competent Authority or any Participant", "items": { "anyOf": [ { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "format": "uri" } ] } }, "hasCost": { "type": "array", "description": "Relationship. Model:'cv:hasCost'. The Has Cost property links a Public Service to one or more instances of the Cost class. It indicates the costs related to the execution of a Public Service for the citizen or business related to the execution of the particular Public Service. Where the cost varies depending on the channel through which the service is accessed, it can be linked to the channel using the If Accessed Through relationship", "items": { "anyOf": [ { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[\\w\\-\\.\\{\\}\\$\\+\\*\\[\\]`|~^@!,:\\\\]+$" }, { "description": "Property. Array of identifiers format of any NGSI entity.", "type": "string", "format": "uri" } ] } } } } ] }