diff --git a/jsonschema/definitions/Catalog.json b/jsonschema/Catalog.json similarity index 62% rename from jsonschema/definitions/Catalog.json rename to jsonschema/Catalog.json index 9b58d1f..53e3ba8 100644 --- a/jsonschema/definitions/Catalog.json +++ b/jsonschema/Catalog.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Catalog", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/catalog", + "title": "DCAT-US 3 Catalog", + "description": "The main item defined by DCAT-US 3 is the Catalog class", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "Catalog" }, "catalog": { - "$id": "http://www.w3.org/ns/dcat#catalog", "title": "catalog", - "description": "This property refers to a catalog whose contents are of interest in the context of this catalog.", - "oneOf": [ + "description": "List of related catalogs whose contents are of interest in the context of this catalog", + "anyOf": [ { "type": "null" }, @@ -24,7 +25,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Catalog", + "$ref": "/dcat-us/3.0.0/definitions/catalog", "description": "inline description of Catalog" }, { @@ -38,10 +39,9 @@ ] }, "contactPoint": { - "$id": "http://www.w3.org/ns/dcat#contactPoint", "title": "contact point", - "description": "This property contains contact information that can be used for sending comments about the Catalogue.", - "oneOf": [ + "description": "Contact information that can be used for sending comments about the Catalog", + "anyOf": [ { "type": "null" }, @@ -50,12 +50,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Kind", - "description": "inline description of Kind" + "$ref": "/dcat-us/3.0.0/definitions/kind", + "description": "inline value for contact point" }, { "type": "string", - "description": "reference iri of Kind", + "description": "reference iri of contact point", "format": "iri" } ] @@ -64,14 +64,13 @@ ] }, "dataset": { - "$id": "http://www.w3.org/ns/dcat#dataset", "title": "dataset", - "description": "This property links the Catalog with the Dataset(s) that is/are part of the Catalog.", + "description": "List of Datasets that are part of the Catalog", "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", + "$ref": "/dcat-us/3.0.0/definitions/dataset", "description": "inline description of Dataset" }, { @@ -83,20 +82,14 @@ } }, "keyword": { - "$id": "http://www.w3.org/ns/dcat#keyword", "title": "keyword/tag", - "description": "A keyword or tag describing the resource.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A keyword or tag describing the resource", + "type": [ + "null", + "string" ] }, "keywordMap": { - "$id": "http://www.w3.org/ns/dcat#keyword_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", @@ -104,10 +97,9 @@ ] }, "record": { - "$id": "http://www.w3.org/ns/dcat#record", "title": "catalog record", - "description": "A record describing the registration of a single resource (e.g., a dataset, a data service) that is part of the catalog.", - "oneOf": [ + "description": "A record describing a single resource (e.g., a dataset, a data service) that is part of the catalog", + "anyOf": [ { "type": "null" }, @@ -116,12 +108,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/CatalogRecord", - "description": "inline description of CatalogRecord" + "$ref": "/dcat-us/3.0.0/definitions/catalogrecord", + "description": "inline description of the record" }, { "type": "string", - "description": "reference iri of CatalogRecord", + "description": "reference iri of the record", "format": "iri" } ] @@ -130,10 +122,9 @@ ] }, "service": { - "$id": "http://www.w3.org/ns/dcat#service", "title": "service", - "description": "This property refers to a site or end-point (Data Service) that is listed in the Catalog.", - "oneOf": [ + "description": "List of data services that are listed in the Catalog", + "anyOf": [ { "type": "null" }, @@ -142,12 +133,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/DataService", - "description": "inline description of DataService" + "$ref": "/dcat-us/3.0.0/definitions/dataservice", + "description": "inline description of the service" }, { "type": "string", - "description": "reference iri of DataService", + "description": "reference iri of the service", "format": "iri" } ] @@ -156,10 +147,9 @@ ] }, "theme": { - "$id": "http://www.w3.org/ns/dcat#theme", "title": "theme/category", - "description": "This property refers to a category of the Catalog. A Catalog may be associated with multiple themes.", - "oneOf": [ + "description": "A list of categories for the Catalog. A Catalog may be associated with multiple themes", + "anyOf": [ { "type": "null" }, @@ -168,12 +158,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the theme" }, { "type": "string", - "description": "reference iri of Concept", + "description": "reference iri of the theme", "format": "iri" } ] @@ -182,10 +172,9 @@ ] }, "themeTaxonomy": { - "$id": "http://www.w3.org/ns/dcat#themeTaxonomy", "title": "themes", - "description": "A knowledge organization system (KOS) used to classify the resources documented in the catalog (e.g., datasets and services).", - "oneOf": [ + "description": "A knowledge organization system (KOS) used to classify the resources documented in the catalog (e.g., datasets and services)", + "anyOf": [ { "type": "null" }, @@ -194,7 +183,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/ConceptScheme", + "$ref": "/dcat-us/3.0.0/definitions/conceptscheme", "description": "inline description of ConceptScheme" }, { @@ -208,56 +197,45 @@ ] }, "accessRights": { - "$id": "http://purl.org/dc/terms/accessRights", "title": "access rights", - "description": "This property refers to information that indicates whether the Catalog is open data, has access restrictions or is not public.", + "description": "Information that indicates whether the Catalog is open data, has access restrictions or is not public", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of access rights" + }, + { + "type": "string", + "description": "reference iri of the access rights", + "format": "iri" } ] }, "conformsTo": { - "$id": "http://purl.org/dc/terms/conformsTo", "title": "schema version", - "description": "An established standard to which the described catalog conforms.", + "description": "An established standard to which the described catalog conforms", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Standard", - "description": "inline description of Standard" - }, - { - "type": "string", - "description": "reference iri of Standard", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/standard", + "description": "inline description of Standard" + }, + { + "type": "string", + "description": "reference iri of Standard", + "format": "iri" } ] }, "creator": { - "$id": "http://purl.org/dc/terms/creator", "title": "creator", - "description": "The entity responsible for creating the resource.", - "oneOf": [ + "description": "The entity responsible for creating the resource", + "anyOf": [ { "type": "null" }, @@ -266,12 +244,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Agent", - "description": "inline description of Agent" + "$ref": "/dcat-us/3.0.0/definitions/agent", + "description": "inline description of creator" }, { "type": "string", - "description": "reference iri of Agent", + "description": "reference iri of creator", "format": "iri" } ] @@ -280,24 +258,21 @@ ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "Free-text description of the catalog (in the language indicated in the attribute).", + "description": "Free-text description of the catalog (in the language indicated in the language property)", "type": "string" }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "hasPart": { - "$id": "http://purl.org/dc/terms/hasPart", "title": "has part", - "description": "This property refers to a related catalog that is part of the described catalog.", - "oneOf": [ + "description": "A list of related catalogs that are part of the described catalog", + "anyOf": [ { "type": "null" }, @@ -306,12 +281,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Catalog", - "description": "inline description of Catalog" + "$ref": "#", + "description": "inline description of the related catalog" }, { "type": "string", - "description": "reference iri of Catalog", + "description": "reference iri of the related catalog", "format": "iri" } ] @@ -320,10 +295,9 @@ ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains the main identifier for the Catalog, e.g. the URI or other unique identifier.", - "oneOf": [ + "description": "List of identifiers for the Catalog, e.g. the URI or other unique identifier", + "anyOf": [ { "type": "null" }, @@ -336,10 +310,9 @@ ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "release date", - "description": "Date of formal issuance (e.g., publication) of the resource.", - "oneOf": [ + "description": "Date of formal issuance (e.g., publication) of the catalog", + "anyOf": [ { "type": "null" }, @@ -365,10 +338,9 @@ ] }, "language": { - "$id": "http://purl.org/dc/terms/language", "title": "language", - "description": "This property refers to a language used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalog. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", - "oneOf": [ + "description": "Language or languages used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalog. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", + "anyOf": [ { "type": "null" }, @@ -386,33 +358,27 @@ ] }, "license": { - "$id": "http://purl.org/dc/terms/license", "title": "license", - "description": "This property refers to the license under which the Catalog can be used or reused.", + "description": "The license under which the Catalog can be used or reused", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/LicenseDocument", - "description": "inline description of LicenseDocument" - }, - { - "type": "string", - "description": "reference iri of LicenseDocument", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/licensedocument", + "description": "inline description of the license" + }, + { + "type": "string", + "description": "reference iri of the license", + "format": "iri" } ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "update/modification date", - "description": "Most recent date on which the resource was changed, updated or modified.", - "oneOf": [ + "description": "Most recent date on which the catalog was changed, updated or modified", + "anyOf": [ { "type": "null" }, @@ -438,49 +404,42 @@ ] }, "publisher": { - "$id": "http://purl.org/dc/terms/publisher", "title": "publisher", - "description": "Entity responsible for making the catalog available.", + "description": "Agent responsible for making the catalog available", "oneOf": [ { - "$ref": "#/definitions/Agent", - "description": "inline description of Agent" + "$ref": "/dcat-us/3.0.0/definitions/agent", + "description": "inline description of the publisher" }, { "type": "string", - "description": "reference iri of Agent", + "description": "reference iri of the publisher", "format": "iri" } ] }, "rights": { - "$id": "http://purl.org/dc/terms/rights", "title": "rights", - "description": "This property refers to a statement that specifies rights associated with the Catalogue.", + "description": "A statement that specifies rights associated with the catalog", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of rights" + }, + { + "type": "string", + "description": "reference iri of rights", + "format": "iri" } ] }, "rightsHolder": { - "$id": "http://purl.org/dc/terms/rightsHolder", "title": "rights holder", - "description": "This property refers to an organization holding rights on the Catalog.", - "oneOf": [ + "description": "List of organizations holding rights on the catalog", + "anyOf": [ { "type": "null" }, @@ -489,12 +448,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Organization", - "description": "inline description of Organization" + "$ref": "/dcat-us/3.0.0/definitions/organization", + "description": "inline description of rights holder" }, { "type": "string", - "description": "reference iri of Organization", + "description": "reference iri of rights holder", "format": "iri" } ] @@ -503,10 +462,9 @@ ] }, "spatial": { - "$id": "http://purl.org/dc/terms/spatial", "title": "spatial/geographic coverage", - "description": "The geographical area covered by the catalog.", - "oneOf": [ + "description": "The geographical area covered by the catalog", + "anyOf": [ { "type": "null" }, @@ -515,12 +473,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Location", - "description": "inline description of Location" + "$ref": "/dcat-us/3.0.0/definitions/location", + "description": "inline description of geographical coverage" }, { "type": "string", - "description": "reference iri of Location", + "description": "reference iri of geographical coverage", "format": "iri" } ] @@ -529,10 +487,9 @@ ] }, "subject": { - "$id": "http://purl.org/dc/terms/subject", "title": "subject", - "description": "Primary subject of the catalog", - "oneOf": [ + "description": "List of subjects of the catalog", + "anyOf": [ { "type": "null" }, @@ -541,12 +498,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the subject" }, { "type": "string", - "description": "reference iri of Concept", + "description": "reference iri of the subject", "format": "iri" } ] @@ -555,10 +512,9 @@ ] }, "temporal": { - "$id": "http://purl.org/dc/terms/temporal", "title": "temporal coverage", - "description": "A temporal period that the Catalog covers.", - "oneOf": [ + "description": "List of temporal periods that the Catalog covers", + "anyOf": [ { "type": "null" }, @@ -567,12 +523,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/PeriodOfTime", - "description": "inline description of PeriodOfTime" + "$ref": "/dcat-us/3.0.0/definitions/periodoftime", + "description": "inline description of the temporal coverage" }, { "type": "string", - "description": "reference iri of PeriodOfTime", + "description": "reference iri of the temporal coverage", "format": "iri" } ] @@ -581,13 +537,11 @@ ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", "description": "The title of the catalog in the indicated language", "type": "string" }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", @@ -595,56 +549,45 @@ ] }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", - "description": "The category of the Catalog ", + "description": "The category of the Catalog", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the category" + }, + { + "type": "string", + "description": "reference iri of the category", + "format": "iri" } ] }, "homepage": { - "$id": "http://xmlns.com/foaf/0.1/homepage", "title": "homepage", - "description": "A homepage of the catalog (a public Web document usually available in HTML).", + "description": "The home page of the catalog (a public Web document usually available in HTML)", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Document", - "description": "inline description of Document" - }, - { - "type": "string", - "description": "reference iri of Document", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/document", + "description": "inline description of the home page" + }, + { + "type": "string", + "description": "reference iri of the home page", + "format": "iri" } ] }, "qualifiedAttribution": { - "$id": "http://www.w3.org/ns/prov#qualifiedAttribution", "title": "qualified attribution", - "description": "This property refers to a link to an Agent having some form of responsibility for the Catalog.", - "oneOf": [ + "description": "A list of agents having some form of responsibility for the catalog", + "anyOf": [ { "type": "null" }, @@ -653,7 +596,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Attribution", + "$ref": "/dcat-us/3.0.0/definitions/attribution", "description": "inline description of Attribution" }, { diff --git a/jsonschema/dcat_us_3.0.0_schema.json b/jsonschema/dcat_us_3.0.0_schema.json deleted file mode 100644 index 4170053..0000000 --- a/jsonschema/dcat_us_3.0.0_schema.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "Identifier": { - "$ref": "definitions/Identifier.json" - }, - "AccessRestriction": { - "$ref": "definitions/AccessRestriction.json" - }, - "CUIRestriction": { - "$ref": "definitions/CUIRestriction.json" - }, - "GeographicBoundingBox": { - "$ref": "definitions/GeographicBoundingBox.json" - }, - "LiabilityStatement": { - "$ref": "definitions/LiabilityStatement.json" - }, - "UseRestriction": { - "$ref": "definitions/UseRestriction.json" - }, - "Catalog": { - "$ref": "definitions/Catalog.json" - }, - "CatalogRecord": { - "$ref": "definitions/CatalogRecord.json" - }, - "DataService": { - "$ref": "definitions/DataService.json" - }, - "Dataset": { - "$ref": "definitions/Dataset.json" - }, - "DatasetSeries": { - "$ref": "definitions/DatasetSeries.json" - }, - "Distribution": { - "$ref": "definitions/Distribution.json" - }, - "Relationship": { - "$ref": "definitions/Relationship.json" - }, - "LicenseDocument": { - "$ref": "definitions/LicenseDocument.json" - }, - "Location": { - "$ref": "definitions/Location.json" - }, - "MediaType": { - "$ref": "definitions/MediaType.json" - }, - "PeriodOfTime": { - "$ref": "definitions/PeriodOfTime.json" - }, - "ProvenanceStatement": { - "$ref": "definitions/ProvenanceStatement.json" - }, - "RightsStatement": { - "$ref": "definitions/RightsStatement.json" - }, - "Standard": { - "$ref": "definitions/Standard.json" - }, - "Metric": { - "$ref": "definitions/Metric.json" - }, - "QualityMeasurement": { - "$ref": "definitions/QualityMeasurement.json" - }, - "Agent": { - "$ref": "definitions/Agent.json" - }, - "Document": { - "$ref": "definitions/Document.json" - }, - "Person": { - "$ref": "definitions/Person.json" - }, - "Address": { - "$ref": "definitions/Address.json" - }, - "Organization": { - "$ref": "definitions/Organization.json" - }, - "Activity": { - "$ref": "definitions/Activity.json" - }, - "Attribution": { - "$ref": "definitions/Attribution.json" - }, - "Concept": { - "$ref": "definitions/Concept.json" - }, - "ConceptScheme": { - "$ref": "definitions/ConceptScheme.json" - }, - "Checksum": { - "$ref": "definitions/Checksum.json" - }, - "Kind": { - "$ref": "definitions/Kind.json" - } - } -} \ No newline at end of file diff --git a/jsonschema/definitions/AccessRestriction.json b/jsonschema/definitions/AccessRestriction.json index ce33aaf..19ecc8a 100644 --- a/jsonschema/definitions/AccessRestriction.json +++ b/jsonschema/definitions/AccessRestriction.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/accessrestriction", "title": "AccessRestriction", + "description": "A restriction on the permitted access to a resource", "type": "object", "properties": { "@id": { @@ -12,62 +14,50 @@ "default": "AccessRestriction" }, "restrictionNote": { - "$id": "http://data.resources.gov/ontology/dcat-us#restrictionNote", "title": "restriction note", "description": "A note related to the access restriction", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "restrictionNoteMap": { - "$id": "http://data.resources.gov/ontology/dcat-us#restrictionNote_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the restriction note. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "restrictionStatus": { - "$id": "http://data.resources.gov/ontology/dcat-us#restrictionStatus", "title": "restriction status", - "description": "The indication of whether or not there are access restrictions on the data.", + "description": "The indication of whether or not there are access restrictions on the item", "oneOf": [ { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of restriction status" }, { "type": "string", - "description": "reference iri of Concept", + "description": "reference iri of restriction status", "format": "iri" } ] }, "specificRestriction": { - "$id": "http://data.resources.gov/ontology/dcat-us#specificRestriction", "title": "specific restriction", - "description": "The specific NARA restriction associated with the access restriction", + "description": "The specific NARA restriction associated with this restriction", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the specific restriction" + }, + { + "type": "string", + "description": "reference iri of the specific restriction", + "format": "iri" } ] } diff --git a/jsonschema/definitions/Activity.json b/jsonschema/definitions/Activity.json index 0167fcd..de40bf1 100644 --- a/jsonschema/definitions/Activity.json +++ b/jsonschema/definitions/Activity.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/activity", "title": "Activity", + "description": "An activity which a resource could be related to", "type": "object", "properties": { "@id": { @@ -12,44 +14,33 @@ "default": "Activity" }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", - "description": "The category of the Activity ", - "oneOf": [ + "description": "The category of the Activity", + "anyOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the category" + }, + { + "type": "string", + "description": "reference iri of the category", + "format": "iri" } ] }, "label": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label", "title": "label", - "description": "This property is used to give a human-readable label for the activity.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A human-readable label for the activity", + "type": [ + "null", + "string" ] }, "labelMap": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the label. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/Address.json b/jsonschema/definitions/Address.json index 03273ea..ffb4b70 100644 --- a/jsonschema/definitions/Address.json +++ b/jsonschema/definitions/Address.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/address", "title": "Address", + "description": "A single physical address", "type": "object", "properties": { "@id": { @@ -12,68 +14,43 @@ "default": "Address" }, "country-name": { - "$id": "http://www.w3.org/2006/vcard/ns#country-name", "title": "country", - "description": "The country of an Address of the Kind.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The country of the Address", + "type": [ + "null", + "string" ] }, "locality": { - "$id": "http://www.w3.org/2006/vcard/ns#locality", "title": "locality", - "description": "The city of an Address of the Kind.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The city of the Address", + "type": [ + "null", + "string" ] }, "postal-code": { - "$id": "http://www.w3.org/2006/vcard/ns#postal-code", "title": "postal code", - "description": "The postal code of an Address of the Kind.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The postal code of the Address", + "type": [ + "null", + "string" ] }, "region": { - "$id": "http://www.w3.org/2006/vcard/ns#region", "title": "administrative area", - "description": "The administrative area of an Address of the Kind. Depending on the country, this corresponds to a province, a county, a region, or a state.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The administrative area of the Address. Depending on the country, this corresponds to a province, a county, a region, or a state", + "type": [ + "null", + "string" ] }, "street-address": { - "$id": "http://www.w3.org/2006/vcard/ns#street-address", "title": "street address", - "description": "The street name and civic number of an Address of the Kind.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The street name and civic number of an Address", + "type": [ + "null", + "string" ] } }, diff --git a/jsonschema/definitions/Agent.json b/jsonschema/definitions/Agent.json index e2f3b4e..f75f18c 100644 --- a/jsonschema/definitions/Agent.json +++ b/jsonschema/definitions/Agent.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/agent", "title": "Agent", + "description": "An entity that could be involved with a resource", "type": "object", "properties": { "@id": { @@ -12,32 +14,26 @@ "default": "Agent" }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", - "description": "This property refers to a type of the Agent that makes the Catalog, Catalog Record, Data Service, or Dataset available", + "description": "The type of the agent that makes the item available", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the agent type" + }, + { + "type": "string", + "description": "reference iri of the agent type", + "format": "iri" } ] }, "name": { - "$id": "http://xmlns.com/foaf/0.1/name", "title": "name", - "description": "The name of the software agent", + "description": "The name of the agent", "type": "string" } }, diff --git a/jsonschema/definitions/Attribution.json b/jsonschema/definitions/Attribution.json index 2a8195c..f7992ad 100644 --- a/jsonschema/definitions/Attribution.json +++ b/jsonschema/definitions/Attribution.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/attribution", "title": "Attribution", + "description": "An attribution that an agent plays some role", "type": "object", "properties": { "@id": { @@ -12,18 +14,16 @@ "default": "Attribution" }, "hadRole": { - "$id": "http://www.w3.org/ns/dcat#hadRole", "title": "role", - "description": "The function of an entity or agent with respect to another entity or resource.", + "description": "The function of an entity or agent with respect to another entity or resource", "type": "string" }, "agent": { - "$id": "http://www.w3.org/ns/prov#agent", "title": "agent", - "description": "The agent property references an Agent that plays a role in the resource", + "description": "The agent that plays a role in the resource", "oneOf": [ { - "$ref": "#/definitions/Agent", + "$ref": "/dcat-us/3.0.0/definitions/agent", "description": "inline description of Agent" }, { diff --git a/jsonschema/definitions/CUIRestriction.json b/jsonschema/definitions/CUIRestriction.json index c9fb497..ac5dcfd 100644 --- a/jsonschema/definitions/CUIRestriction.json +++ b/jsonschema/definitions/CUIRestriction.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/cuirestriction", "title": "CUIRestriction", + "description": "A specific restriction on handling Controlled Unclassified Information (CUI)", "type": "object", "properties": { "@id": { @@ -12,22 +14,19 @@ "default": "CUIRestriction" }, "cuiBannerMarking": { - "$id": "http://data.resources.gov/ontology/dcat-us#cuiBannerMarking", "title": "CUI banner marking", - "description": "CUI (Controlled Unclassified Information) banner marking is required for any unclassified information that is deemed sensitive and requires protection.", + "description": "CUI (Controlled Unclassified Information) banner marking is required for any unclassified information that is deemed sensitive and requires protection", "type": "string" }, "designationIndicator": { - "$id": "http://data.resources.gov/ontology/dcat-us#designationIndicator", "title": "CUI designation indicator", "description": "Designation Indicator shows which agency made the document CUI", "type": "string" }, "requiredIndicatorPerAuthority": { - "$id": "http://data.resources.gov/ontology/dcat-us#requiredIndicatorPerAuthority", "title": "required indicator per authority", - "description": "free text (e.g., text of the category description or the distribution statement)", - "oneOf": [ + "description": "List of free text of the required indicator", + "anyOf": [ { "type": "null" }, diff --git a/jsonschema/definitions/CatalogRecord.json b/jsonschema/definitions/CatalogRecord.json index c1b0dee..ab264fe 100644 --- a/jsonschema/definitions/CatalogRecord.json +++ b/jsonschema/definitions/CatalogRecord.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/catalogrecord", "title": "CatalogRecord", + "description": "A record in a catalog, describing the registration of a single resource", "type": "object", "properties": { "@id": { @@ -12,56 +14,45 @@ "default": "CatalogRecord" }, "status": { - "$id": "http://www.w3.org/ns/adms#status", "title": "change type", - "description": "The status of the catalog record in the context of editorial flow of the dataset and data service descriptions.", + "description": "The status of the catalog record in the context of editorial flow of the dataset and data service descriptions", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of status" + }, + { + "type": "string", + "description": "reference iri of status", + "format": "iri" } ] }, "conformsTo": { - "$id": "http://purl.org/dc/terms/conformsTo", "title": "application profile", - "description": "An Application Profile that the Catalog Record's metadata conforms to.", + "description": "An Application Profile that the Catalog Record's metadata conforms to", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Standard", - "description": "inline description of Standard" - }, - { - "type": "string", - "description": "reference iri of Standard", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/standard", + "description": "inline description of application profile" + }, + { + "type": "string", + "description": "reference iri of application profile", + "format": "iri" } ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "A free-text account of the Catalog Record. This property can be repeated for parallel language versions of the description.", - "oneOf": [ + "description": "A list of free-text accounts of the catalog record", + "anyOf": [ { "type": "null" }, @@ -74,10 +65,9 @@ ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "listing date", - "description": "The date on which the description of the Dataset was included in the Catalog.", - "oneOf": [ + "description": "List of dates on which the catalog record was included in the catalog", + "anyOf": [ { "type": "null" }, @@ -106,10 +96,9 @@ ] }, "language": { - "$id": "http://purl.org/dc/terms/language", "title": "language", - "description": "A language used in the textual metadata describing titles, descriptions, etc. of the Catalog Record. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", - "oneOf": [ + "description": "A language or languages used in the textual metadata describing titles, descriptions, etc. of the catalog record. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", + "anyOf": [ { "type": "null" }, @@ -127,9 +116,8 @@ ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "update/modification date", - "description": "The most recent date on which the Catalog Record's entry was changed or modified.", + "description": "The most recent date on which the catalog record was changed or modified", "type": "string", "oneOf": [ { @@ -149,43 +137,32 @@ ] }, "source": { - "$id": "http://purl.org/dc/terms/source", "title": "source metadata", - "description": "The original metadata that was used in creating metadata for the datasets, data services, or catalogs in the Catalog Record.", + "description": "The original metadata that was used in creating metadata for the items in the catalog record", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Resource", - "description": "inline description of Resource" - }, - { - "type": "string", - "description": "reference iri of Resource", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/resource", + "description": "inline description of the source" + }, + { + "type": "string", + "description": "reference iri of the source", + "format": "iri" } ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", - "description": "A name given to the Catalog Record.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A name given to the Catalog Record", + "type": [ + "null", + "string" ] }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", @@ -193,9 +170,8 @@ ] }, "primaryTopic": { - "$id": "http://xmlns.com/foaf/0.1/primaryTopic", "title": "primary topic", - "description": "A link to the Dataset, Data service or Catalog described in the Catalog Record.", + "description": "A link to the Dataset, Data service or Catalog described in the Catalog Record", "type": "string" } }, diff --git a/jsonschema/definitions/Checksum.json b/jsonschema/definitions/Checksum.json index 4afe313..d15365b 100644 --- a/jsonschema/definitions/Checksum.json +++ b/jsonschema/definitions/Checksum.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/checksum", "title": "Checksum", + "description": "A mechanism that can be used to verify that the contents of a distribution have not changed", "type": "object", "properties": { "@id": { @@ -12,15 +14,13 @@ "default": "Checksum" }, "algorithm": { - "$id": "http://spdx.org/rdf/terms#algorithm", "title": "algorithm", - "description": "The algorithm used to produce the subject Checksum.", + "description": "The algorithm used to produce the checksum", "type": "string" }, "checksumValue": { - "$id": "http://spdx.org/rdf/terms#checksumValue", "title": "checksum value", - "description": "A lower case hexadecimal encoded digest value produced using a specific algorithm.", + "description": "A lower case hexadecimal encoded digest value produced using a specific algorithm", "type": "string" } }, diff --git a/jsonschema/definitions/Concept.json b/jsonschema/definitions/Concept.json index 25aa0cd..d50a6be 100644 --- a/jsonschema/definitions/Concept.json +++ b/jsonschema/definitions/Concept.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/concept", "title": "Concept", + "description": "A labeled value from a specified concept scheme", "type": "object", "properties": { "@id": { @@ -12,54 +14,41 @@ "default": "Concept" }, "altLabel": { - "$id": "http://www.w3.org/2004/02/skos/core#altLabel", "title": "alternate label", - "description": "Alternative labels for a concept.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "Alternative label for a concept", + "type": [ + "null", + "string" ] }, "altLabelMap": { - "$id": "http://www.w3.org/2004/02/skos/core#altLabel_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for alternate label. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "definition": { - "$id": "http://www.w3.org/2004/02/skos/core#definition", "title": "definition", - "description": "Definition of the controlled vocabulary term.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "Definition of the controlled vocabulary term", + "type": [ + "null", + "string" ] }, "definitionMap": { - "$id": "http://www.w3.org/2004/02/skos/core#definition_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for definition. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "inScheme": { - "$id": "http://www.w3.org/2004/02/skos/core#inScheme", "title": "in scheme", - "description": "\nConcept scheme defining the concept.", + "description": "Concept scheme defining this concept", "oneOf": [ { - "$ref": "#/definitions/ConceptScheme", + "$ref": "/dcat-us/3.0.0/definitions/conceptscheme", "description": "inline description of ConceptScheme" }, { @@ -70,10 +59,9 @@ ] }, "notation": { - "$id": "http://www.w3.org/2004/02/skos/core#notation", "title": "notation", - "description": "abbreviations or codes from code lists for an organization.", - "oneOf": [ + "description": "List of abbreviations or codes from code lists for an organization", + "anyOf": [ { "type": "null" }, @@ -86,14 +74,12 @@ ] }, "prefLabel": { - "$id": "http://www.w3.org/2004/02/skos/core#prefLabel", "title": "preferred label", - "description": "Preferred label for the controlled vocabulary term (one per language).", + "description": "Preferred label for the term", "type": "string" }, "prefLabelMap": { - "$id": "http://www.w3.org/2004/02/skos/core#prefLabel_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for preferred label. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/ConceptScheme.json b/jsonschema/definitions/ConceptScheme.json index 0ffaeda..3308bf1 100644 --- a/jsonschema/definitions/ConceptScheme.json +++ b/jsonschema/definitions/ConceptScheme.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/conceptscheme", "title": "ConceptScheme", + "description": "A system for specifying approved values for a single concept", "type": "object", "properties": { "@id": { @@ -12,23 +14,17 @@ "default": "ConceptScheme" }, "version": { - "$id": "http://www.w3.org/ns/dcat#version", "title": "version info", - "description": "This property contains a version number or other version designation of the Concept Scheme.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A version number or other version designation of the concept scheme", + "type": [ + "null", + "string" ] }, "created": { - "$id": "http://purl.org/dc/terms/created", "title": "creation date", - "description": "This property contains the date on which the Concept Scheme has been first created.", - "oneOf": [ + "description": "The date on which the Concept Scheme was first created", + "anyOf": [ { "type": "null" }, @@ -54,31 +50,24 @@ ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "This property contains a description of the Concept Scheme. ", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A description of the concept scheme", + "type": [ + "null", + "string" ] }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "publication date", - "description": "This property contains the date of formal issuance (e.g., publication) of the Concept Scheme.", - "oneOf": [ + "description": "The date of formal issuance (e.g., publication) of the concept scheme", + "anyOf": [ { "type": "null" }, @@ -104,10 +93,9 @@ ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "update/modification date", - "description": "This property contains the most recent date at which the Concept Scheme was changed or modified.", - "oneOf": [ + "description": "The most recent date at which the concept scheme was changed or modified", + "anyOf": [ { "type": "null" }, @@ -133,13 +121,11 @@ ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", - "description": "The title of the concept scheme in the indicated language.", + "description": "The title of the concept scheme", "type": "string" }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", diff --git a/jsonschema/definitions/DataService.json b/jsonschema/definitions/DataService.json index 265ebd7..d365f48 100644 --- a/jsonschema/definitions/DataService.json +++ b/jsonschema/definitions/DataService.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/dataservice", "title": "DataService", + "description": "A service for providing data at a URL or URLs", "type": "object", "properties": { "@id": { @@ -12,14 +14,13 @@ "default": "DataService" }, "contactPoint": { - "$id": "http://www.w3.org/ns/dcat#contactPoint", "title": "contact point", - "description": "This property contains contact information that can be used for sending comments about the Data Service.", + "description": "Contact information that can be used for sending comments about the Data Service", "type": "array", "items": { "oneOf": [ { - "$ref": "#/definitions/Kind", + "$ref": "/dcat-us/3.0.0/definitions/kind", "description": "inline description of Kind" }, { @@ -31,24 +32,23 @@ } }, "endpointDescription": { - "$id": "http://www.w3.org/ns/dcat#endpointDescription", "title": "endpoint description", - "description": "A description of the services available via the end-points, including their operations, parameters etc.", - "oneOf": [ + "description": "A list of descriptions of the services available via the end-points, including their operations, parameters etc", + "anyOf": [ { "type": "null" }, { "type": "array", "items": { - "oneOf": [ + "anyOf": [ { "type": "string", - "description": "An in-line description of the endpoint description, e.g. a free text description or a machine-readable description such as an OpenAPI specification or similar document." + "description": "An in-line description of the endpoint description" }, { "type": "string", - "description": "reference iri of the endpoint description, ie. an OpenAPI specification or similar document", + "description": "reference iri of the endpoint description", "format": "iri" } ] @@ -57,9 +57,8 @@ ] }, "endpointURL": { - "$id": "http://www.w3.org/ns/dcat#endpointURL", "title": "endpoint URL", - "description": "The root location or primary endpoint of the service (a Web-resolvable IRI)", + "description": "A list of root locations or primary endpoints of the service (a Web-resolvable IRI)", "type": "array", "items": { "type": "string", @@ -68,31 +67,24 @@ } }, "keyword": { - "$id": "http://www.w3.org/ns/dcat#keyword", "title": "keyword/tag", - "description": "This property contains a keyword or tag describing the Data Service.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A keyword or tag describing the Data Service", + "type": [ + "null", + "string" ] }, "keywordMap": { - "$id": "http://www.w3.org/ns/dcat#keyword_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for keyword. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "servesDataset": { - "$id": "http://www.w3.org/ns/dcat#servesDataset", "title": "serves dataset", - "description": "The Dataset that is served by this data service.", - "oneOf": [ + "description": "List of datasets that are served by this data service", + "anyOf": [ { "type": "null" }, @@ -101,7 +93,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", + "$ref": "/dcat-us/3.0.0/definitions/dataset", "description": "inline description of Dataset" }, { @@ -115,10 +107,9 @@ ] }, "spatialResolutionInMeters": { - "$id": "http://www.w3.org/ns/dcat#spatialResolutionInMeters", "title": "spatial resolution in meters", - "description": "This property refers to the minimum spatial separation resolvable in a Data Service, measured in meters.", - "oneOf": [ + "description": "The minimum spatial separation resolvable in a Data Service, measured in meters", + "anyOf": [ { "type": "null" }, @@ -131,10 +122,9 @@ ] }, "temporalResolution": { - "$id": "http://www.w3.org/ns/dcat#temporalResolution", "title": "temporal resolution", - "description": "The minimum time period resolvable by the Data Service.", - "oneOf": [ + "description": "The minimum time period resolvable by the Data Service", + "anyOf": [ { "type": "null" }, @@ -147,10 +137,9 @@ ] }, "theme": { - "$id": "http://www.w3.org/ns/dcat#theme", "title": "theme/category", - "description": "This property refers to a theme of the Data Service. A Data Service may be associated with multiple themes.", - "oneOf": [ + "description": "A list of themes of the Data Service. A Data Service may be associated with multiple themes", + "anyOf": [ { "type": "null" }, @@ -159,7 +148,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Concept", + "$ref": "/dcat-us/3.0.0/definitions/concept", "description": "inline description of Concept" }, { @@ -173,10 +162,9 @@ ] }, "geographicBoundingBox": { - "$id": "http://data.resources.gov/ontology/dcat-us#geographicBoundingBox", "title": "geographic bounding box", - "description": "This property describes the spatial extent of domain of application of an data service and is standardized in WGS 84 Lat/Long coordinate system.", - "oneOf": [ + "description": "The spatial extent of domain of application of an data service and is standardized in WGS 84 Lat/Long coordinate system", + "anyOf": [ { "type": "null" }, @@ -185,7 +173,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/GeographicBoundingBox", + "$ref": "/dcat-us/3.0.0/definitions/geographicboundingbox", "description": "inline description of GeographicBoundingBox" }, { @@ -199,33 +187,27 @@ ] }, "accessRights": { - "$id": "http://purl.org/dc/terms/accessRights", "title": "access rights", - "description": "This property MAY include information regarding access or restrictions based on privacy, security, or other policies.", + "description": "Information regarding access or restrictions based on privacy, security, or other policies", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of access rights" + }, + { + "type": "string", + "description": "reference iri of access rights", + "format": "iri" } ] }, "conformsTo": { - "$id": "http://purl.org/dc/terms/conformsTo", "title": "conforms to", - "description": "This property is used to indicate the general standard or specification that the Data Service endpoints implement.", - "oneOf": [ + "description": "List of general standards or specifications that the Data Service endpoints implement", + "anyOf": [ { "type": "null" }, @@ -234,7 +216,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Standard", + "$ref": "/dcat-us/3.0.0/definitions/standard", "description": "inline description of Standard" }, { @@ -248,10 +230,9 @@ ] }, "created": { - "$id": "http://purl.org/dc/terms/created", "title": "creation date", - "description": "This property contains the date on which the Data Service has been first created.", - "oneOf": [ + "description": "The date on which the Data Service has been first created", + "anyOf": [ { "type": "null" }, @@ -277,10 +258,9 @@ ] }, "creator": { - "$id": "http://purl.org/dc/terms/creator", "title": "creator", - "description": "This property refers to the Agent primarily responsible for producing the Data Service.", - "oneOf": [ + "description": "List of agents primarily responsible for producing the Data Service", + "anyOf": [ { "type": "null" }, @@ -289,7 +269,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Agent", + "$ref": "/dcat-us/3.0.0/definitions/agent", "description": "inline description of Agent" }, { @@ -303,31 +283,24 @@ ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "This property contains a free-text account of the Data Service.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A free-text account of the Data Service", + "type": [ + "null", + "string" ] }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains the main identifier for the Data Service, e.g. the URI or other unique identifier in the context of the Catalog.", - "oneOf": [ + "description": "List of the main identifiers for the Data Service, e.g. the URI or other unique identifier in the context of the Catalog", + "anyOf": [ { "type": "null" }, @@ -340,10 +313,9 @@ ] }, "language": { - "$id": "http://purl.org/dc/terms/language", "title": "language", - "description": "This property refers to a language supported by the Data Service. This property can be repeated if multiple languages are supported in the Data Service. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", - "oneOf": [ + "description": "Language or languages supported by the Data Service. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", + "anyOf": [ { "type": "null" }, @@ -361,33 +333,27 @@ ] }, "license": { - "$id": "http://purl.org/dc/terms/license", "title": "license", - "description": "This property refers to the license under which the Data Service is made available.", + "description": "The license under which the Data Service is made available", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/LicenseDocument", - "description": "inline description of LicenseDocument" - }, - { - "type": "string", - "description": "reference iri of LicenseDocument", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/licensedocument", + "description": "inline description of LicenseDocument" + }, + { + "type": "string", + "description": "reference iri of LicenseDocument", + "format": "iri" } ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "update/modification date", - "description": "This property contains the most recent date on which the Data Service was changed or modified.", - "oneOf": [ + "description": "The most recent date on which the Data Service was changed or modified", + "anyOf": [ { "type": "null" }, @@ -413,12 +379,11 @@ ] }, "publisher": { - "$id": "http://purl.org/dc/terms/publisher", "title": "publisher", - "description": "This property refers to an entity (organization) responsible for making the Data Service available.", + "description": "An entity (organization) responsible for making the Data Service available", "oneOf": [ { - "$ref": "#/definitions/Agent", + "$ref": "/dcat-us/3.0.0/definitions/agent", "description": "inline description of Agent" }, { @@ -429,10 +394,9 @@ ] }, "rights": { - "$id": "http://purl.org/dc/terms/rights", "title": "rights", - "description": "A statement that concerns all rights for the Data Service not addressed with dcterms:license or dcterms:accessRights, such as copyright statements.", - "oneOf": [ + "description": "A list of statements concerning all rights for the Data Service not addressed with license or accessRights, such as copyright statements", + "anyOf": [ { "type": "null" }, @@ -441,7 +405,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/RightsStatement", + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", "description": "inline description of RightsStatement" }, { @@ -455,10 +419,9 @@ ] }, "rightsHolder": { - "$id": "http://purl.org/dc/terms/rightsHolder", "title": "rights holder", - "description": "This property refers to an Agent (organization) holding rights on the Data Service.", - "oneOf": [ + "description": "A list of Agents (organizations) holding rights on the Data Service", + "anyOf": [ { "type": "null" }, @@ -467,7 +430,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Organization", + "$ref": "/dcat-us/3.0.0/definitions/organization", "description": "inline description of Organization" }, { @@ -481,10 +444,9 @@ ] }, "spatial": { - "$id": "http://purl.org/dc/terms/spatial", "title": "spatial/geographic coverage", - "description": "This property refers to a geographic region that is covered by the Data Service.", - "oneOf": [ + "description": "A geographic region that is covered by the Data Service", + "anyOf": [ { "type": "null" }, @@ -493,7 +455,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Location", + "$ref": "/dcat-us/3.0.0/definitions/location", "description": "inline description of Location" }, { @@ -507,10 +469,9 @@ ] }, "temporal": { - "$id": "http://purl.org/dc/terms/temporal", "title": "temporal coverage", - "description": "A temporal period that the DataService covers.", - "oneOf": [ + "description": "A list of temporal periods that the DataService covers", + "anyOf": [ { "type": "null" }, @@ -519,7 +480,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/PeriodOfTime", + "$ref": "/dcat-us/3.0.0/definitions/periodoftime", "description": "inline description of PeriodOfTime" }, { @@ -533,21 +494,18 @@ ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", "description": "The title of the data service in the indicated language", "type": "string" }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", "description": "Category of the data service", "oneOf": [ @@ -555,25 +513,20 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] }, "hasQualityMeasurement": { - "$id": "http://www.w3.org/ns/dqv#hasQualityMeasurement", "title": "quality measurement", - "description": "Refers to the performed quality measurements.", - "oneOf": [ + "description": "Refers to the performed quality measurements", + "anyOf": [ { "type": "null" }, @@ -582,7 +535,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/QualityMeasurement", + "$ref": "/dcat-us/3.0.0/definitions/qualitymeasurement", "description": "inline description of QualityMeasurement" }, { @@ -596,10 +549,9 @@ ] }, "qualifiedAttribution": { - "$id": "http://www.w3.org/ns/prov#qualifiedAttribution", "title": "qualified attribution", - "description": "This property refers to a link to an Agent having some form of responsibility for the DataService.", - "oneOf": [ + "description": "An Agent having some form of responsibility for the DataService", + "anyOf": [ { "type": "null" }, @@ -608,7 +560,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Attribution", + "$ref": "/dcat-us/3.0.0/definitions/attribution", "description": "inline description of Attribution" }, { @@ -622,10 +574,9 @@ ] }, "wasUsedBy": { - "$id": "http://www.w3.org/ns/prov#wasUsedBy", "title": "was used by", - "description": "This property refers to an Activity that used the Data Service.", - "oneOf": [ + "description": "List of activities that used the Data Service", + "anyOf": [ { "type": "null" }, @@ -634,7 +585,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Activity", + "$ref": "/dcat-us/3.0.0/definitions/activity", "description": "inline description of Activity" }, { diff --git a/jsonschema/definitions/Dataset.json b/jsonschema/definitions/Dataset.json index b39bf11..98be02e 100644 --- a/jsonschema/definitions/Dataset.json +++ b/jsonschema/definitions/Dataset.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/dataset", "title": "Dataset", + "description": "Information about a set of data", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "Dataset" }, "otherIdentifier": { - "$id": "http://www.w3.org/ns/adms#identifier", "title": "other identifier", - "description": "reference to a structure identifier.", - "oneOf": [ + "description": "List of structure identifiers", + "anyOf": [ { "type": "null" }, @@ -24,12 +25,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Identifier", - "description": "inline description of Identifier" + "$ref": "/dcat-us/3.0.0/definitions/identifier", + "description": "inline description of other identifier" }, { "type": "string", - "description": "reference iri of Identifier", + "description": "reference iri of other identifier", "format": "iri" } ] @@ -38,10 +39,9 @@ ] }, "sample": { - "$id": "http://www.w3.org/ns/adms#sample", "title": "sample", - "description": "Links to a sample of a Dataset, which is a dcat:Distribution.", - "oneOf": [ + "description": "List of links to samples of a Dataset", + "anyOf": [ { "type": "null" }, @@ -50,7 +50,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Distribution", + "$ref": "/dcat-us/3.0.0/definitions/distribution", "description": "inline description of Distribution" }, { @@ -64,30 +64,24 @@ ] }, "status": { - "$id": "http://www.w3.org/ns/adms#status", "title": "lifecycle status", - "description": "The status of the dataset in the context of maturity lifecycle.", + "description": "The status of the dataset in the context of maturity lifecycle", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] }, "supportedSchema": { - "$id": "http://www.w3.org/ns/adms#supportedSchema", "title": "supported schema", "description": "supported schema for this dataset", "oneOf": [ @@ -95,38 +89,28 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" - }, - { - "type": "string", - "description": "reference iri of Dataset", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of the supported schema" + }, + { + "type": "string", + "description": "reference iri of the supported schema", + "format": "iri" } ] }, "versionNotes": { - "$id": "http://www.w3.org/ns/adms#versionNotes", "title": "version notes", "description": "version notes for this dataset", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "contactPoint": { - "$id": "http://www.w3.org/ns/dcat#contactPoint", "title": "contact point", - "description": "This property contains contact information that can be used for sending comments about the Dataset.", - "oneOf": [ + "description": "List of contact information that can be used for sending comments about the Dataset", + "anyOf": [ { "type": "null" }, @@ -135,7 +119,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Kind", + "$ref": "/dcat-us/3.0.0/definitions/kind", "description": "inline description of Kind" }, { @@ -149,10 +133,9 @@ ] }, "distribution": { - "$id": "http://www.w3.org/ns/dcat#distribution", "title": "dataset distribution", - "description": "This property links the Dataset to an available Distribution.", - "oneOf": [ + "description": "List of available distributions for the Dataset", + "anyOf": [ { "type": "null" }, @@ -161,7 +144,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Distribution", + "$ref": "/dcat-us/3.0.0/definitions/distribution", "description": "inline description of Distribution" }, { @@ -175,7 +158,6 @@ ] }, "first": { - "$id": "http://www.w3.org/ns/dcat#first", "title": "first", "description": "the first item of the sequence the dataset belongs to", "oneOf": [ @@ -183,22 +165,17 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" - }, - { - "type": "string", - "description": "reference iri of Dataset", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of Dataset" + }, + { + "type": "string", + "description": "reference iri of Dataset", + "format": "iri" } ] }, "hasCurrentVersion": { - "$id": "http://www.w3.org/ns/dcat#hasCurrentVersion", "title": "current version", "description": "reference to the current (latest) version of a dataset", "oneOf": [ @@ -206,25 +183,20 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" - }, - { - "type": "string", - "description": "reference iri of Dataset", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of Dataset" + }, + { + "type": "string", + "description": "reference iri of Dataset", + "format": "iri" } ] }, "hasVersion": { - "$id": "http://www.w3.org/ns/dcat#hasVersion", "title": "has version", - "description": "A related Dataset that is a version, edition, or adaptation of the described Dataset. ", - "oneOf": [ + "description": "List of related Datasets that are a version, edition, or adaptation of the described Dataset", + "anyOf": [ { "type": "null" }, @@ -233,7 +205,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", + "$ref": "/dcat-us/3.0.0/definitions/dataset", "description": "inline description of Dataset" }, { @@ -247,10 +219,9 @@ ] }, "inSeries": { - "$id": "http://www.w3.org/ns/dcat#inSeries", "title": "in series", - "description": "Dataset Series this dataset belong to", - "oneOf": [ + "description": "List of Dataset Series this dataset belongs to", + "anyOf": [ { "type": "null" }, @@ -259,7 +230,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/DatasetSeries", + "$ref": "/dcat-us/3.0.0/definitions/datasetseries", "description": "inline description of DatasetSeries" }, { @@ -273,10 +244,9 @@ ] }, "keyword": { - "$id": "http://www.w3.org/ns/dcat#keyword", "title": "keyword/tag", - "description": "This property contains a keyword or tag describing the Dataset.", - "oneOf": [ + "description": "List of keywords or tags describing the Dataset", + "anyOf": [ { "type": "null" }, @@ -290,64 +260,52 @@ ] }, "keywordMap": { - "$id": "http://www.w3.org/ns/dcat#keyword_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for keyword. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "landingPage": { - "$id": "http://www.w3.org/ns/dcat#landingPage", "title": "landing page", - "description": "This property refers to a web page that provides access to the Dataset, its Distributions and/or additional information.", + "description": "A web page that provides access to the Dataset, its Distributions and/or additional information", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Document", - "description": "inline description of Document" - }, - { - "type": "string", - "description": "reference iri of Document", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/document", + "description": "inline description of Document" + }, + { + "type": "string", + "description": "reference iri of Document", + "format": "iri" } ] }, "previousVersion": { - "$id": "http://www.w3.org/ns/dcat#previousVersion", "title": "previous version", - "description": "previous dataset version ", + "description": "reference to the previous dataset version", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" - }, - { - "type": "string", - "description": "reference iri of Dataset", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of Dataset" + }, + { + "type": "string", + "description": "reference iri of Dataset", + "format": "iri" } ] }, "qualifiedRelation": { - "$id": "http://www.w3.org/ns/dcat#qualifiedRelation", "title": "qualified relation", "description": "Qualified relationship with role of the dataset with another resource", - "oneOf": [ + "anyOf": [ { "type": "null" }, @@ -356,7 +314,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Relationship", + "$ref": "/dcat-us/3.0.0/definitions/relationship", "description": "inline description of Relationship" }, { @@ -370,36 +328,25 @@ ] }, "spatialResolutionInMeters": { - "$id": "http://www.w3.org/ns/dcat#spatialResolutionInMeters", "title": "Spatial resolution (meters)", "description": "Spatial resolution in meters", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "temporalResolution": { - "$id": "http://www.w3.org/ns/dcat#temporalResolution", "title": "temporal resolution", "description": "Temporal resolution using xsd:duration syntax", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "theme": { - "$id": "http://www.w3.org/ns/dcat#theme", "title": "theme/category", - "description": "A theme of the dataset", - "oneOf": [ + "description": "List of themes of the dataset", + "anyOf": [ { "type": "null" }, @@ -408,7 +355,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Concept", + "$ref": "/dcat-us/3.0.0.0/definitions/concept", "description": "inline description of Concept" }, { @@ -422,46 +369,35 @@ ] }, "version": { - "$id": "http://www.w3.org/ns/dcat#version", "title": "version", "description": "The version indicator (name or identifier) of a resource", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "describedBy": { - "$id": "http://data.resources.gov/ontology/dcat-us#describedBy", "title": "data dictionary", - "description": "This property refers to a distribution describing the Data Dictionary.", + "description": "A distribution describing the Data Dictionary for this dataset", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Distribution", - "description": "inline description of Distribution" - }, - { - "type": "string", - "description": "reference iri of Distribution", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/distribution", + "description": "inline description of Distribution" + }, + { + "type": "string", + "description": "reference iri of Distribution", + "format": "iri" } ] }, "geographicBoundingBox": { - "$id": "http://data.resources.gov/ontology/dcat-us#geographicBoundingBox", "title": "geographic bounding box", - "description": "WGS84 Geographic Bounding Box for this dataset", - "oneOf": [ + "description": "List of WGS84 Geographic Bounding Boxes for this dataset", + "anyOf": [ { "type": "null" }, @@ -470,7 +406,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/GeographicBoundingBox", + "$ref": "/dcat-us/3.0.0/definitions/geographicboundingbox", "description": "inline description of GeographicBoundingBox" }, { @@ -484,7 +420,6 @@ ] }, "liabilityStatement": { - "$id": "http://data.resources.gov/ontology/dcat-us#liabilityStatement", "title": "liability statement", "description": "A liability statement about the dataset", "oneOf": [ @@ -492,25 +427,20 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/LiabilityStatement", - "description": "inline description of LiabilityStatement" - }, - { - "type": "string", - "description": "reference iri of LiabilityStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/liabilitystatement", + "description": "inline description of LiabilityStatement" + }, + { + "type": "string", + "description": "reference iri of LiabilityStatement", + "format": "iri" } ] }, "metadataDistribution": { - "$id": "http://data.resources.gov/ontology/dcat-us#metadataDistribution", "title": "metadata distribution", "description": "Distribution to \"original\" metadata document", - "oneOf": [ + "anyOf": [ { "type": "null" }, @@ -519,7 +449,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Distribution", + "$ref": "/dcat-us/3.0.0/definitions/distribution", "description": "inline description of Distribution" }, { @@ -533,77 +463,60 @@ ] }, "purpose": { - "$id": "http://data.resources.gov/ontology/dcat-us#purpose", "title": "purpose", "description": "The purpose of the dataset", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "purposeMap": { - "$id": "http://data.resources.gov/ontology/dcat-us#purpose_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for purpose. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "accessRights": { - "$id": "http://purl.org/dc/terms/accessRights", "title": "access rights", - "description": "Information that indicates whether the Dataset is open data, has access restrictions or is public.", + "description": "Information that indicates whether the Dataset is open data, has access restrictions or is public", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of RightsStatement" + }, + { + "type": "string", + "description": "reference iri of RightsStatement", + "format": "iri" } ] }, "accrualPeriodicity": { - "$id": "http://purl.org/dc/terms/accrualPeriodicity", "title": "frequency", - "description": "This property refers to the frequency at which the Dataset is updated.", + "description": "The frequency at which the Dataset is updated", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Frequency", - "description": "inline description of Frequency" - }, - { - "type": "string", - "description": "reference iri of Frequency", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/frequency", + "description": "inline description of Frequency" + }, + { + "type": "string", + "description": "reference iri of Frequency", + "format": "iri" } ] }, "conformsTo": { - "$id": "http://purl.org/dc/terms/conformsTo", "title": "conforms to", - "description": "This property refers to an standard which the described Dataset conforms.", - "oneOf": [ + "description": "List of standards to which the described Dataset conforms", + "anyOf": [ { "type": "null" }, @@ -612,7 +525,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Standard", + "$ref": "/dcat-us/3.0.0/definitions/standard", "description": "inline description of Standard" }, { @@ -626,10 +539,9 @@ ] }, "contributor": { - "$id": "http://purl.org/dc/terms/contributor", "title": "contributor", - "description": "This property refers to an agent contributing to the Dataset.", - "oneOf": [ + "description": "List of agents contributing to the Dataset", + "anyOf": [ { "type": "null" }, @@ -638,7 +550,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Agent", + "$ref": "/dcat-us/3.0.0/definitions/agent", "description": "inline description of Agent" }, { @@ -652,10 +564,9 @@ ] }, "created": { - "$id": "http://purl.org/dc/terms/created", "title": "creation date", - "description": "This property contains the date on which the Dataset has been first created.", - "oneOf": [ + "description": "The date on which the Dataset was first created", + "anyOf": [ { "type": "null" }, @@ -681,47 +592,39 @@ ] }, "creator": { - "$id": "http://purl.org/dc/terms/creator", "title": "creator", - "description": "This property refers to an entity responsible for producing the dataset.", + "description": "An entity responsible for producing the dataset", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Agent", - "description": "inline description of Agent" - }, - { - "type": "string", - "description": "reference iri of Agent", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/agent", + "description": "inline description of Agent" + }, + { + "type": "string", + "description": "reference iri of Agent", + "format": "iri" } ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "This property contains a free-text account of the Dataset. ", + "description": "A free-text account of the Dataset", "type": "string" }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "hasPart": { - "$id": "http://purl.org/dc/terms/hasPart", "title": "has part", - "description": "This property refers to a related dataset that is part of the described dataset.", - "oneOf": [ + "description": "List of related datasets that are part of the described dataset", + "anyOf": [ { "type": "null" }, @@ -730,7 +633,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", + "$ref": "/dcat-us/3.0.0/definitions/dataset", "description": "inline description of Dataset" }, { @@ -744,23 +647,17 @@ ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains the unique identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalog.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The unique identifier for the Dataset, e.g. the URI or other unique identifier in the context of the Catalog", + "type": [ + "null", + "string" ] }, "isReferencedBy": { - "$id": "http://purl.org/dc/terms/isReferencedBy", "title": "is referenced by", - "description": "This property is about a related resource, such as a publication, that references, cites, or otherwise points to the Dataset.", - "oneOf": [ + "description": "List of links to related resources, such as publications, that reference, cite, or otherwise point to the Dataset", + "anyOf": [ { "type": "null" }, @@ -775,10 +672,9 @@ ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "release date", - "description": "Date of formal issuance (e.g., publication) of the dataset.", - "oneOf": [ + "description": "Date of formal issuance (e.g., publication) of the dataset", + "anyOf": [ { "type": "null" }, @@ -804,10 +700,9 @@ ] }, "language": { - "$id": "http://purl.org/dc/terms/language", "title": "language", - "description": "A language used in the Dataset. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", - "oneOf": [ + "description": "Language or languages used in the Dataset. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", + "anyOf": [ { "type": "null" }, @@ -825,10 +720,9 @@ ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "last modified", - "description": "The most recent date on which the Dataset was changed or modified.", - "oneOf": [ + "description": "The most recent date on which the Dataset was changed or modified", + "anyOf": [ { "type": "null" }, @@ -854,10 +748,9 @@ ] }, "provenance": { - "$id": "http://purl.org/dc/terms/provenance", "title": "provenance", - "description": "A statement about the lineage of a Dataset", - "oneOf": [ + "description": "List of statements about the lineage of a Dataset", + "anyOf": [ { "type": "null" }, @@ -866,7 +759,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/ProvenanceStatement", + "$ref": "/dcat-us/3.0.0/definitions/provenancestatement", "description": "inline description of ProvenanceStatement" }, { @@ -880,12 +773,11 @@ ] }, "publisher": { - "$id": "http://purl.org/dc/terms/publisher", "title": "publisher", - "description": "This property refers to an organisation responsible for making the Dataset available.", + "description": "An organization responsible for making the Dataset available", "oneOf": [ { - "$ref": "#/definitions/Organization", + "$ref": "/dcat-us/3.0.0/definitions/organization", "description": "inline description of Organization" }, { @@ -896,10 +788,9 @@ ] }, "relation": { - "$id": "http://purl.org/dc/terms/relation", "title": "related resource", - "description": "Reference to a related resource", - "oneOf": [ + "description": "List of references to a related resource", + "anyOf": [ { "type": "null" }, @@ -914,10 +805,9 @@ ] }, "replaces": { - "$id": "http://purl.org/dc/terms/replaces", "title": "replaces", - "description": "Reference to the replaced Dataset", - "oneOf": [ + "description": "List of Datasets replaced by this Dataset", + "anyOf": [ { "type": "null" }, @@ -926,7 +816,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", + "$ref": "/dcat-us/3.0.0/definitions/dataset", "description": "inline description of Dataset" }, { @@ -940,33 +830,27 @@ ] }, "rights": { - "$id": "http://purl.org/dc/terms/rights", "title": "rights", - "description": "A statement that concerns all rights for the Dataset not addressed with dcterms:license or dcterms:accessRights, such as copyright statements.", + "description": "List of statements concerning all rights for the Dataset not addressed with license or accessRights, such as copyright statements", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of RightsStatement" + }, + { + "type": "string", + "description": "reference iri of RightsStatement", + "format": "iri" } ] }, "rightsHolder": { - "$id": "http://purl.org/dc/terms/rightsHolder", "title": "rights holder", - "description": "This property refers to an Agent (organization) holding rights on the Dataset.", - "oneOf": [ + "description": "List of agents (organizations) holding rights on the Dataset", + "anyOf": [ { "type": "null" }, @@ -975,7 +859,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Organization", + "$ref": "/dcat-us/3.0.0/definitions/organization", "description": "inline description of Organization" }, { @@ -989,10 +873,9 @@ ] }, "source": { - "$id": "http://purl.org/dc/terms/source", "title": "data source", - "description": "A related Dataset from which the described Dataset is derived", - "oneOf": [ + "description": "List of related Datasets from which the described Dataset is derived", + "anyOf": [ { "type": "null" }, @@ -1001,7 +884,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", + "$ref": "/dcat-us/3.0.0/definitions/dataset", "description": "inline description of Dataset" }, { @@ -1015,15 +898,14 @@ ] }, "spatial": { - "$id": "http://purl.org/dc/terms/spatial", "title": "spatial/geographic coverage", - "description": "This property refers to a geographic region that is covered by the Dataset.", + "description": "A geographic region or regions that are covered by the Dataset", "oneOf": [ { "type": "null" }, { - "$ref": "#/definitions/Location", + "$ref": "/dcat-us/3.0.0/definitions/location", "description": "inline description of Location" }, { @@ -1036,7 +918,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Location", + "$ref": "/dcat-us/3.0.0/definitions/location", "description": "inline description of Location" }, { @@ -1050,10 +932,9 @@ ] }, "subject": { - "$id": "http://purl.org/dc/terms/subject", "title": "subject", - "description": "Primary subject of the dataset", - "oneOf": [ + "description": "List of primary subjects of the dataset", + "anyOf": [ { "type": "null" }, @@ -1062,7 +943,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Concept", + "$ref": "/dcat-us/3.0.0/definitions/concept", "description": "inline description of Concept" }, { @@ -1076,10 +957,9 @@ ] }, "temporal": { - "$id": "http://purl.org/dc/terms/temporal", "title": "temporal coverage", - "description": "A temporal period that the dataset covers.", - "oneOf": [ + "description": "List of temporal periods that the dataset covers", + "anyOf": [ { "type": "null" }, @@ -1088,7 +968,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/PeriodOfTime", + "$ref": "/dcat-us/3.0.0/definitions/periodoftime", "description": "inline description of PeriodOfTime" }, { @@ -1102,13 +982,11 @@ ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", - "description": "This property contains a name given to the Dataset. This property can be repeated for parallel language versions of the name", + "description": "A name given to the Dataset", "type": "string" }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", @@ -1116,10 +994,9 @@ ] }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", - "description": "Category of the dataset", - "oneOf": [ + "description": "List of categories of the dataset", + "anyOf": [ { "type": "null" }, @@ -1128,7 +1005,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Concept", + "$ref": "/dcat-us/3.0.0/definitions/concept", "description": "inline description of Concept" }, { @@ -1142,10 +1019,9 @@ ] }, "hasQualityMeasurement": { - "$id": "http://www.w3.org/ns/dqv#hasQualityMeasurement", "title": "quality measurement", - "description": "property referring to a quality measurement for the dataset", - "oneOf": [ + "description": "List of quality measurements for the dataset", + "anyOf": [ { "type": "null" }, @@ -1154,7 +1030,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/QualityMeasurement", + "$ref": "/dcat-us/3.0.0/definitions/qualitymeasurement", "description": "inline description of QualityMeasurement" }, { @@ -1168,10 +1044,9 @@ ] }, "page": { - "$id": "http://xmlns.com/foaf/0.1/page", "title": "documentation", - "description": "A page or document about this dataset", - "oneOf": [ + "description": "List of pages or documents about this dataset", + "anyOf": [ { "type": "null" }, @@ -1180,7 +1055,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Document", + "$ref": "/dcat-us/3.0.0/definitions/document", "description": "inline description of Document" }, { @@ -1194,10 +1069,9 @@ ] }, "qualifiedAttribution": { - "$id": "http://www.w3.org/ns/prov#qualifiedAttribution", "title": "qualified attribution", - "description": "An agent having some form of responsibility for the dataset", - "oneOf": [ + "description": "List of agents having some form of responsibility for the dataset", + "anyOf": [ { "type": "null" }, @@ -1206,7 +1080,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Attribution", + "$ref": "/dcat-us/3.0.0/definitions/attribution", "description": "inline description of Attribution" }, { @@ -1220,10 +1094,9 @@ ] }, "wasAttributedTo": { - "$id": "http://www.w3.org/ns/prov#wasAttributedTo", "title": "attribution", - "description": "Agent attributed to this dataset", - "oneOf": [ + "description": "List of agents attributed to this dataset", + "anyOf": [ { "type": "null" }, @@ -1232,7 +1105,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Agent", + "$ref": "/dcat-us/3.0.0/definitions/agent", "description": "inline description of Agent" }, { @@ -1246,10 +1119,9 @@ ] }, "wasGeneratedBy": { - "$id": "http://www.w3.org/ns/prov#wasGeneratedBy", "title": "was generated by", - "description": "An activity that generated, or provides the business context for, the creation of the dataset", - "oneOf": [ + "description": "List of activities that generated, or provide the business context for the creation of the dataset", + "anyOf": [ { "type": "null" }, @@ -1258,7 +1130,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Activity", + "$ref": "/dcat-us/3.0.0/definitions/activity", "description": "inline description of Activity" }, { @@ -1272,10 +1144,9 @@ ] }, "wasUsedBy": { - "$id": "http://www.w3.org/ns/prov#wasUsedBy", "title": "used by", - "description": "This property refers to an Activity that used the Dataset", - "oneOf": [ + "description": "List of activities that used the Dataset", + "anyOf": [ { "type": "null" }, @@ -1284,7 +1155,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Activity", + "$ref": "/dcat-us/3.0.0/definitions/activity", "description": "inline description of Activity" }, { @@ -1298,10 +1169,9 @@ ] }, "image": { - "$id": "https://schema.org/image", "title": "image", - "description": "A thumbnail picture illustrating the content of the dataset.", - "oneOf": [ + "description": "Link to a thumbnail picture illustrating the content of the dataset", + "anyOf": [ { "type": "null" }, @@ -1313,21 +1183,15 @@ ] }, "scopeNote": { - "$id": "http://www.w3.org/2004/02/skos/core#scopeNote", "title": "usage note", "description": "usage note for the dataset", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "scopeNoteMap": { - "$id": "http://www.w3.org/2004/02/skos/core#scopeNote_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the scope note. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" @@ -1339,4 +1203,4 @@ "publisher", "title" ] -} \ No newline at end of file +} diff --git a/jsonschema/definitions/DatasetSeries.json b/jsonschema/definitions/DatasetSeries.json index 9503fd7..3d6c022 100644 --- a/jsonschema/definitions/DatasetSeries.json +++ b/jsonschema/definitions/DatasetSeries.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/datasetseries", "title": "DatasetSeries", + "description": "An ordered series of datasets", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "DatasetSeries" }, "contactPoint": { - "$id": "http://www.w3.org/ns/dcat#contactPoint", "title": "contact point", - "description": "This property contains contact information that can be used for sending comments about the Dataset Series.", - "oneOf": [ + "description": "List of contacts that can be used for sending comments about the Dataset Series", + "anyOf": [ { "type": "null" }, @@ -24,12 +25,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Kind", - "description": "inline description of Kind" + "$ref": "/dcat-us/3.0.0/definitions/kind", + "description": "inline description of the contact" }, { "type": "string", - "description": "reference iri of Kind", + "description": "reference iri of the contact", "format": "iri" } ] @@ -38,56 +39,45 @@ ] }, "first": { - "$id": "http://www.w3.org/ns/dcat#first", "title": "first", - "description": "The first dataset in an ordered dataset series, to which the current dataset belongs.", + "description": "The first dataset in an ordered dataset series", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" - }, - { - "type": "string", - "description": "reference iri of Dataset", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of the first dataset" + }, + { + "type": "string", + "description": "reference iri of the first dataset", + "format": "iri" } ] }, "last": { - "$id": "http://www.w3.org/ns/dcat#last", "title": "last", - "description": "The last resource in an ordered dataset series", + "description": "The last dataset in an ordered dataset series", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" - }, - { - "type": "string", - "description": "reference iri of Dataset", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of the last dataset" + }, + { + "type": "string", + "description": "reference iri of the last dataset", + "format": "iri" } ] }, "seriesMember": { - "$id": "http://www.w3.org/ns/dcat#seriesMember", "title": "series member", - "description": "A member of the Dataset Series.", - "oneOf": [ + "description": "List of members of the Dataset Series", + "anyOf": [ { "type": "null" }, @@ -96,12 +86,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Dataset", - "description": "inline description of Dataset" + "$ref": "/dcat-us/3.0.0/definitions/dataset", + "description": "inline description of the member dataset" }, { "type": "string", - "description": "reference iri of Dataset", + "description": "reference iri of the member dataset", "format": "iri" } ] @@ -110,47 +100,39 @@ ] }, "accrualPeriodicity": { - "$id": "http://purl.org/dc/terms/accrualPeriodicity", "title": "frequency", - "description": "This property refers to the frequency at which the Dataset Series is updated.", + "description": "The frequency at which the Dataset Series is updated", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Frequency", - "description": "inline description of Frequency" - }, - { - "type": "string", - "description": "reference iri of Frequency", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/frequency", + "description": "inline description of Frequency" + }, + { + "type": "string", + "description": "reference iri of Frequency", + "format": "iri" } ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "A free-text account of the Dataset Series.", + "description": "A free-text account of the Dataset Series", "type": "string" }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "release date", - "description": "The date of formal issuance (e.g.,publication) of the Dataset Series.", - "oneOf": [ + "description": "The date of formal issuance (e.g.,publication) of the Dataset Series", + "anyOf": [ { "type": "null" }, @@ -176,10 +158,9 @@ ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "update/modification date", - "description": "This property contains the most recent date on which the Dataset Series was changed or modified.", - "oneOf": [ + "description": "The most recent date on which the Dataset Series was changed or modified", + "anyOf": [ { "type": "null" }, @@ -205,33 +186,27 @@ ] }, "publisher": { - "$id": "http://purl.org/dc/terms/publisher", "title": "publisher", - "description": "An entity (organization) responsible for ensuring the coherency of the Dataset Series.", + "description": "An entity (organization) responsible for ensuring the coherency of the Dataset Series", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Agent", - "description": "inline description of Agent" - }, - { - "type": "string", - "description": "reference iri of Agent", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/agent", + "description": "inline description of publisher" + }, + { + "type": "string", + "description": "reference iri of publisher", + "format": "iri" } ] }, "spatial": { - "$id": "http://purl.org/dc/terms/spatial", "title": "spatial/geographic coverage", - "description": "This property refers to a geographic region that is covered by the Dataset Series.", - "oneOf": [ + "description": "A geographic region that is covered by the Dataset Series", + "anyOf": [ { "type": "null" }, @@ -240,7 +215,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Location", + "$ref": "/dcat-us/3.0.0/definitions/location", "description": "inline description of Location" }, { @@ -254,10 +229,9 @@ ] }, "temporal": { - "$id": "http://purl.org/dc/terms/temporal", "title": "temporal coverage", - "description": "A temporal period that the Dataset Series covers.", - "oneOf": [ + "description": "A list of temporal periods that the Dataset Series covers", + "anyOf": [ { "type": "null" }, @@ -266,7 +240,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/PeriodOfTime", + "$ref": "/dcat-us/3.0.0/definitions/periodoftime", "description": "inline description of PeriodOfTime" }, { @@ -280,13 +254,11 @@ ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", - "description": "A name given to the Dataset Series.", + "description": "A name given to the Dataset Series", "type": "string" }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", diff --git a/jsonschema/definitions/Distribution.json b/jsonschema/definitions/Distribution.json index 496a0f0..7eb9ab4 100644 --- a/jsonschema/definitions/Distribution.json +++ b/jsonschema/definitions/Distribution.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/distribution", "title": "Distribution", + "description": "A file that distributes the dataset", "type": "object", "properties": { "@id": { @@ -12,56 +14,45 @@ "default": "Distribution" }, "representationTechnique": { - "$id": "http://www.w3.org/ns/adms#representationTechnique", "title": "representation technique", - "description": "This property MAY be used to provide more information about the format in which an Distribution is released. This is different from the file format as, for example, a ZIP file (file format) could contain an XML schema (representation technique). In DCAT-US profile, this property SHOULD be used to express the spatial representation type (grid, vector, tin), by using the URIs of the corresponding code list operated by an approved registry. ", + "description": "The format in which an Distribution is released. This is different from the file format as, for example, a ZIP file (file format) could contain an XML schema (representation technique). In DCAT-US profile, this property SHOULD be used to express the spatial representation type (grid, vector, tin), by using the URIs of the corresponding code list operated by an approved registry", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] }, "status": { - "$id": "http://www.w3.org/ns/adms#status", "title": "lifecycle status", - "description": "The status of the distribution in the context of maturity lifecycle.", + "description": "The status of the distribution in the context of maturity lifecycle", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] }, "characterEncoding": { - "$id": "http://www.w3.org/2011/content#characterEncoding", "title": "character encoding", - "description": "This property SHOULD be used to specify the character encoding of the Distribution, by using as value the character set names in the IANA register ", - "oneOf": [ + "description": "The list of character encodings of the Distribution, by using as value the character set names in the IANA register ", + "anyOf": [ { "type": "null" }, @@ -74,10 +65,9 @@ ] }, "accessService": { - "$id": "http://www.w3.org/ns/dcat#accessService", "title": "access service", - "description": "A data service that gives access to the distribution of the dataset.", - "oneOf": [ + "description": "A data service that gives access to the distribution of the dataset", + "anyOf": [ { "type": "null" }, @@ -86,7 +76,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/DataService", + "$ref": "/dcat-us/3.0.0/definitions/dataservice", "description": "inline description of DataService" }, { @@ -100,10 +90,9 @@ ] }, "accessURL": { - "$id": "http://www.w3.org/ns/dcat#accessURL", "title": "access URL", - "description": "A URL that gives access to a Distribution of the Dataset.", - "oneOf": [ + "description": "A URL that gives access to a Distribution of the Dataset", + "anyOf": [ { "type": "null" }, @@ -115,20 +104,14 @@ ] }, "byteSize": { - "$id": "http://www.w3.org/ns/dcat#byteSize", "title": "byte size", - "description": "The size of a Distribution in bytes.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The size of a Distribution in bytes", + "type": [ + "null", + "string" ] }, "compressFormat": { - "$id": "http://www.w3.org/ns/dcat#compressFormat", "title": "compression format", "description": "The format of the file in which the data is contained in a compressed form, e.g. to reduce the size of the downloadable file", "oneOf": [ @@ -136,25 +119,20 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/MediaType", - "description": "inline description of MediaType" - }, - { - "type": "string", - "description": "reference iri of MediaType", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/mediatype", + "description": "inline description of MediaType" + }, + { + "type": "string", + "description": "reference iri of MediaType", + "format": "iri" } ] }, "downloadURL": { - "$id": "http://www.w3.org/ns/dcat#downloadURL", "title": "download URL", - "description": "A URL that is a direct link to a downloadable file of the Distribution in a given format.", - "oneOf": [ + "description": "A URL that is a direct link to a downloadable file of the Distribution in a given format", + "anyOf": [ { "type": "null" }, @@ -166,105 +144,79 @@ ] }, "mediaType": { - "$id": "http://www.w3.org/ns/dcat#mediaType", "title": "media type", - "description": "The media type of the Distribution as defined in the official register of media types managed by IANA.", + "description": "The media type of the Distribution as defined in the official register of media types managed by IANA", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/MediaType", - "description": "inline description of MediaType" - }, - { - "type": "string", - "description": "reference iri of MediaType", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/mediatype", + "description": "inline description of MediaType" + }, + { + "type": "string", + "description": "reference iri of MediaType", + "format": "iri" } ] }, "packageFormat": { - "$id": "http://www.w3.org/ns/dcat#packageFormat", "title": "packaging format", - "description": "The format of the file in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together.", + "description": "The format of the file in which one or more data files are grouped together, e.g. to enable a set of related files to be downloaded together", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/MediaType", - "description": "inline description of MediaType" - }, - { - "type": "string", - "description": "reference iri of MediaType", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/mediatype", + "description": "inline description of MediaType" + }, + { + "type": "string", + "description": "reference iri of MediaType", + "format": "iri" } ] }, "spatialResolutionInMeters": { - "$id": "http://www.w3.org/ns/dcat#spatialResolutionInMeters", "title": "Spatial resolution (meters)", - "description": "The minimum spatial separation resolvable in a dataset distribution, measured in meters.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The minimum spatial separation resolvable in a dataset distribution, measured in meters", + "type": [ + "null", + "string" ] }, "temporalResolution": { - "$id": "http://www.w3.org/ns/dcat#temporalResolution", "title": "termporal resolution", - "description": "The minimum time period resolvable in the dataset distribution.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The minimum time period resolvable in the dataset distribution", + "type": [ + "null", + "string" ] }, "availability": { - "$id": "http://data.europa.eu/r5r/availability", "title": "availability", - "description": "An indication how long it is planned to keep the Distribution of the Dataset available.", + "description": "An indication how long it is planned to keep the Distribution of the Dataset available", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] }, "accessRestriction": { - "$id": "http://data.resources.gov/ontology/dcat-us#accessRestriction", "title": "access restriction", - "description": "Access restriction related to the distribution", - "oneOf": [ + "description": "List of access restrictions related to the distribution", + "anyOf": [ { "type": "null" }, @@ -273,7 +225,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/AccessRestriction", + "$ref": "/dcat-us/3.0.0/definitions/accessrestriction", "description": "inline description of AccessRestriction" }, { @@ -287,7 +239,6 @@ ] }, "cuiRestriction": { - "$id": "http://data.resources.gov/ontology/dcat-us#cuiRestriction", "title": "CUI restriction", "description": "Controlled Unclassified Information restriction related to the distribution", "oneOf": [ @@ -295,48 +246,38 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/CUIRestriction", - "description": "inline description of CUIRestriction" - }, - { - "type": "string", - "description": "reference iri of CUIRestriction", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/cuirestriction", + "description": "inline description of CUIRestriction" + }, + { + "type": "string", + "description": "reference iri of CUIRestriction", + "format": "iri" } ] }, "describedBy": { - "$id": "http://data.resources.gov/ontology/dcat-us#describedBy", "title": "data dictionary", - "description": "This property refers to a distribution describing the Data Dictionary.", + "description": "A distribution containing the Data Dictionary for this distribution", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Distribution", - "description": "inline description of Distribution" - }, - { - "type": "string", - "description": "reference iri of Distribution", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/distribution", + "description": "inline description of the data dictionary" + }, + { + "type": "string", + "description": "reference iri of the data dictionary", + "format": "iri" } ] }, "useRestriction": { - "$id": "http://data.resources.gov/ontology/dcat-us#useRestriction", "title": "use restriction", "description": "Use restriction related to the distribution", - "oneOf": [ + "anyOf": [ { "type": "null" }, @@ -345,7 +286,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/UseRestriction", + "$ref": "/dcat-us/3.0.0/definitions/userestriction", "description": "inline description of UseRestriction" }, { @@ -359,33 +300,27 @@ ] }, "accessRights": { - "$id": "http://purl.org/dc/terms/accessRights", "title": "access rights", - "description": "This property MAY include information regarding access or restrictions based on privacy, security, or other policies.", + "description": "Information regarding access or restrictions based on privacy, security, or other policies", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of RightsStatement" + }, + { + "type": "string", + "description": "reference iri of RightsStatement", + "format": "iri" } ] }, "conformsTo": { - "$id": "http://purl.org/dc/terms/conformsTo", "title": "linked schemas", - "description": "This property refers to an established schema or reference systems which the described Distribution conforms.", - "oneOf": [ + "description": "List of established schemas or reference systems to which the described Distribution conforms", + "anyOf": [ { "type": "null" }, @@ -394,7 +329,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Standard", + "$ref": "/dcat-us/3.0.0/definitions/standard", "description": "inline description of Standard" }, { @@ -408,54 +343,42 @@ ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "A free-text account of the Distribution.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A free-text account of the Distribution", + "type": [ + "null", + "string" ] }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "format": { - "$id": "http://purl.org/dc/terms/format", "title": "format", - "description": "The file format of the Distribution.", + "description": "The file format of the Distribution", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/MediaType", - "description": "inline description of MediaType" - }, - { - "type": "string", - "description": "reference iri of MediaType", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/mediatype", + "description": "inline description of the format" + }, + { + "type": "string", + "description": "reference iri of the format", + "format": "iri" } ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains a unique identifier for the Distribution (e.g. DOI, ISBN)", - "oneOf": [ + "description": "A list of unique identifiers for the Distribution (e.g. DOI, ISBN)", + "anyOf": [ { "type": "null" }, @@ -468,10 +391,9 @@ ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "release date", - "description": "The date of formal issuance (e.g., publication) of the Distribution.", - "oneOf": [ + "description": "The date of formal issuance (e.g., publication) of the Distribution", + "anyOf": [ { "type": "null" }, @@ -497,10 +419,9 @@ ] }, "language": { - "$id": "http://purl.org/dc/terms/language", "title": "language", - "description": "A language used in the Distribution. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", - "oneOf": [ + "description": "A language or languages used in the Distribution. This should be provided as an ISO 639-1 language code, which can be seen at https://id.loc.gov/vocabulary/iso639-1.html", + "anyOf": [ { "type": "null" }, @@ -518,33 +439,27 @@ ] }, "license": { - "$id": "http://purl.org/dc/terms/license", "title": "license", - "description": "A licence under which the Distribution is made available.", + "description": "A license under which the Distribution is made available", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/LicenseDocument", - "description": "inline description of LicenseDocument" - }, - { - "type": "string", - "description": "reference iri of LicenseDocument", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/licensedocument", + "description": "inline description of LicenseDocument" + }, + { + "type": "string", + "description": "reference iri of LicenseDocument", + "format": "iri" } ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "last modified", - "description": "The most recent date on which the Distribution was changed or modified.", - "oneOf": [ + "description": "The most recent date on which the Distribution was changed or modified", + "anyOf": [ { "type": "null" }, @@ -570,43 +485,32 @@ ] }, "rights": { - "$id": "http://purl.org/dc/terms/rights", "title": "rights", - "description": "A statement that specifies rights associated with the Distribution.", + "description": "A statement that specifies rights associated with the Distribution", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/RightsStatement", - "description": "inline description of RightsStatement" - }, - { - "type": "string", - "description": "reference iri of RightsStatement", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/rightsstatement", + "description": "inline description of RightsStatement" + }, + { + "type": "string", + "description": "reference iri of RightsStatement", + "format": "iri" } ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", - "description": "A name given to the Distribution.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A name given to the Distribution", + "type": [ + "null", + "string" ] }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", @@ -614,10 +518,9 @@ ] }, "hasQualityMeasurement": { - "$id": "http://www.w3.org/ns/dqv#hasQualityMeasurement", "title": "quality measurement", - "description": "property referring to a quality measurement for the distribution", - "oneOf": [ + "description": "A list of quality measurements for the distribution", + "anyOf": [ { "type": "null" }, @@ -626,7 +529,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/QualityMeasurement", + "$ref": "/dcat-us/3.0.0/definitions/qualitymeasurement", "description": "inline description of QualityMeasurement" }, { @@ -640,10 +543,9 @@ ] }, "page": { - "$id": "http://xmlns.com/foaf/0.1/page", "title": "documentation", - "description": "A page or document about this Distribution.", - "oneOf": [ + "description": "A page or document about this Distribution", + "anyOf": [ { "type": "null" }, @@ -652,7 +554,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Document", + "$ref": "/dcat-us/3.0.0/definitions/document", "description": "inline description of Document" }, { @@ -666,10 +568,9 @@ ] }, "image": { - "$id": "https://schema.org/image", "title": "image", - "description": "A thumbnail picture illustrating the content of the distribution", - "oneOf": [ + "description": "A link to a thumbnail picture illustrating the content of the distribution", + "anyOf": [ { "type": "null" }, @@ -681,25 +582,20 @@ ] }, "checksum": { - "$id": "http://spdx.org/rdf/terms#checksum", "title": "checksum", - "description": "A mechanism that can be used to verify that the contents of a distribution have not changed.", + "description": "A mechanism that can be used to verify that the contents of a distribution have not changed", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Checksum", - "description": "inline description of Checksum" - }, - { - "type": "string", - "description": "reference iri of Checksum", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/checksum", + "description": "inline description of Checksum" + }, + { + "type": "string", + "description": "reference iri of Checksum", + "format": "iri" } ] } diff --git a/jsonschema/definitions/Document.json b/jsonschema/definitions/Document.json index 3ee284a..60defa3 100644 --- a/jsonschema/definitions/Document.json +++ b/jsonschema/definitions/Document.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/document", "title": "Document", + "description": "Information about a text document", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "Document" }, "creators": { - "$id": "http://purl.org/dc/elements/1.1/creator", - "title": "author(s) as literal", - "description": "list of authors as a literal", - "oneOf": [ + "title": "authors", + "description": "List of authors", + "anyOf": [ { "type": "null" }, @@ -28,23 +29,17 @@ ] }, "publishers": { - "$id": "http://purl.org/dc/elements/1.1/publisher", - "title": "publisher(s) as literal", - "description": "list of publishers as a literal", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "title": "publisher", + "description": "Publisher", + "type": [ + "null", + "string" ] }, "mediaType": { - "$id": "http://www.w3.org/ns/dcat#mediaType", "title": "media type", - "description": "The file format of the Document.", - "oneOf": [ + "description": "List of file formats of the Document", + "anyOf": [ { "type": "null" }, @@ -53,7 +48,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/MediaType", + "$ref": "/dcat-us/3.0.0/definitions/mediatype", "description": "inline description of MediaType" }, { @@ -67,44 +62,32 @@ ] }, "abstract": { - "$id": "http://purl.org/dc/terms/abstract", "title": "abstract", "description": "Text abstract of the document", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "abstractMap": { - "$id": "http://purl.org/dc/terms/abstract_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for abstract. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "bibliographicCitation": { - "$id": "http://purl.org/dc/terms/bibliographicCitation", "title": "bibliographic citation", "description": "Bibliographic citation as text", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "conformsTo": { - "$id": "http://purl.org/dc/terms/conformsTo", "title": "conforms to standard", - "description": "This property refers to an standard which the described Document conforms.", - "oneOf": [ + "description": "A standard to which the document conforms", + "anyOf": [ { "type": "null" }, @@ -113,7 +96,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Standard", + "$ref": "/dcat-us/3.0.0/definitions/standard", "description": "inline description of Standard" }, { @@ -127,10 +110,9 @@ ] }, "creator": { - "$id": "http://purl.org/dc/terms/creator", "title": "corporate author", - "description": "The organization responsible for creating the resource.", - "oneOf": [ + "description": "The organization responsible for creating the resource", + "anyOf": [ { "type": "null" }, @@ -139,12 +121,12 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Organization", - "description": "inline description of Organization" + "$ref": "/dcat-us/3.0.0/definitions/organization", + "description": "inline description of corporate author" }, { "type": "string", - "description": "reference iri of Organization", + "description": "reference iri of corporate author", "format": "iri" } ] @@ -153,31 +135,24 @@ ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", "description": "A free-text account of the Document", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains a unique identifier for the Document (e.g. DOI, ISBN)", - "oneOf": [ + "description": "List of unique identifiers for the Document (e.g. DOI, ISBN)", + "anyOf": [ { "type": "null" }, @@ -190,10 +165,9 @@ ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "publication date", - "description": "publication date of the document", - "oneOf": [ + "description": "Publication date of the document", + "anyOf": [ { "type": "null" }, @@ -219,7 +193,6 @@ ] }, "publisher": { - "$id": "http://purl.org/dc/terms/publisher", "title": "publisher", "description": "publisher organization of the document", "oneOf": [ @@ -227,28 +200,22 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Organization", - "description": "inline description of Organization" - }, - { - "type": "string", - "description": "reference iri of Organization", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/organization", + "description": "inline description of publisher organization" + }, + { + "type": "string", + "description": "reference iri of publisher organization", + "format": "iri" } ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", "description": "The title of the document in the indicated language", "type": "string" }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", @@ -256,7 +223,6 @@ ] }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", "description": "Category of the document", "oneOf": [ @@ -264,17 +230,13 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] } diff --git a/jsonschema/definitions/GeographicBoundingBox.json b/jsonschema/definitions/GeographicBoundingBox.json index 8da538e..156b352 100644 --- a/jsonschema/definitions/GeographicBoundingBox.json +++ b/jsonschema/definitions/GeographicBoundingBox.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/geographicboundingbox", "title": "GeographicBoundingBox", + "description": "A bounding box in latitude and longitude", "type": "object", "properties": { "@id": { @@ -12,25 +14,21 @@ "default": "GeographicBoundingBox" }, "eastBoundingLongitude": { - "$id": "http://data.resources.gov/ontology/dcat-us#eastBoundingLongitude", "title": "east bounding longitude", "description": "East bound longitude in decimal degrees", "type": "string" }, "northBoundingLatitude": { - "$id": "http://data.resources.gov/ontology/dcat-us#northBoundingLatitude", "title": "north bounding latitude", "description": "North bound latitude in decimal degrees", "type": "string" }, "southBoundingLatitude": { - "$id": "http://data.resources.gov/ontology/dcat-us#southBoundingLatitude", "title": "south bouding latitude", "description": "South bound latitude in decimal degrees", "type": "string" }, "westBoundingLongitude": { - "$id": "http://data.resources.gov/ontology/dcat-us#westBoundingLongitude", "title": "west bounding longitude", "description": "West bound longitude in decimal degrees", "type": "string" diff --git a/jsonschema/definitions/Identifier.json b/jsonschema/definitions/Identifier.json index 413dda7..89733aa 100644 --- a/jsonschema/definitions/Identifier.json +++ b/jsonschema/definitions/Identifier.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/identifier", "title": "Identifier", + "description": "Information about an identifier scheme", "type": "object", "properties": { "@id": { @@ -12,20 +14,14 @@ "default": "Identifier" }, "schemaAgency": { - "$id": "http://www.w3.org/ns/adms#schemaAgency", "title": "schema agency", - "description": "The name of the agency that issued the identifier.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The name of the agency that issued the identifier", + "type": [ + "null", + "string" ] }, "creator": { - "$id": "http://purl.org/dc/terms/creator", "title": "creator", "description": "the agency that manages the identifier scheme", "oneOf": [ @@ -33,25 +29,20 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Organization", - "description": "inline description of Organization" - }, - { - "type": "string", - "description": "reference iri of Organization", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/organization", + "description": "inline description of the creator" + }, + { + "type": "string", + "description": "reference iri of the creator", + "format": "iri" } ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "issued", - "description": "The date of formal issuance (e.g., publication) of the Identiifer.", - "oneOf": [ + "description": "The date of formal issuance (e.g., publication) of the Identifier", + "anyOf": [ { "type": "null" }, @@ -77,31 +68,21 @@ ] }, "version": { - "$id": "http://purl.org/dc/terms/version", "title": "version", "description": "version of the identifier scheme", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "notation": { - "$id": "http://www.w3.org/2004/02/skos/core#notation", "title": "notation", - "description": "abbreviations or codes from code lists for an identifier", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "abbreviation or code from code lists for an identifier", + "type": [ + "null", + "string" ] } }, "required": [] -} \ No newline at end of file +} diff --git a/jsonschema/definitions/Kind.json b/jsonschema/definitions/Kind.json index 3a99dfc..1345d13 100644 --- a/jsonschema/definitions/Kind.json +++ b/jsonschema/definitions/Kind.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/kind", "title": "Kind", + "description": "Contact information for an individual or entity", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "Kind" }, "address": { - "$id": "http://www.w3.org/2006/vcard/ns#address", "title": "address", - "description": "This property specifies the address of the contact", - "oneOf": [ + "description": "The address of the contact", + "anyOf": [ { "type": "null" }, @@ -24,8 +25,8 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Address", - "description": "inline description of Address" + "$ref": "/dcat-us/3.0.0/definitions/address", + "description": "inline address information" }, { "type": "string", @@ -38,81 +39,54 @@ ] }, "hasEmail": { - "$id": "http://www.w3.org/2006/vcard/ns#hasEmail", "title": "Email", "description": "Email address for the contact", "pattern": "^mailto:[\\w\\_\\~\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=\\:.-]+@[\\w.-]+\\.[\\w.-]+?$", "type": "string" }, "family-name": { - "$id": "http://www.w3.org/2006/vcard/ns#family-name", "title": "family name", - "description": "This property specifies the family name of the person to contact", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The family name of the contact", + "type": [ + "null", + "string" ] }, "fn": { - "$id": "http://www.w3.org/2006/vcard/ns#fn", "title": "formatted name", - "description": "The formatted text corresponding to the name of the contact", + "description": "The formatted text of the name of the contact", "type": "string" }, "given-name": { - "$id": "http://www.w3.org/2006/vcard/ns#given-name", "title": "given name", - "description": "This property specifies the given name of the person to contact", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The given name of the contact", + "type": [ + "null", + "string" ] }, "organization-name": { - "$id": "http://www.w3.org/2006/vcard/ns#organization-name", "title": "organization name", - "description": "This property specifies the name of the organization to contact", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The name of the organization to contact", + "type": [ + "null", + "string" ] }, "tel": { - "$id": "http://www.w3.org/2006/vcard/ns#tel", "title": "telephone", - "description": "This property specifies the telephone number for telephony communication with the person or organization.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The telephone number for the contact", + "type": [ + "null", + "string" ] }, "title": { - "$id": "http://www.w3.org/2006/vcard/ns#title", "title": "position title", - "description": "This property specifies the position role of the person to contact", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The position role of the person to contact", + "type": [ + "null", + "string" ] } }, diff --git a/jsonschema/definitions/LiabilityStatement.json b/jsonschema/definitions/LiabilityStatement.json index 9fd8c88..281eff5 100644 --- a/jsonschema/definitions/LiabilityStatement.json +++ b/jsonschema/definitions/LiabilityStatement.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/liabilitystatement", "title": "LiabilityStatement", + "description": "A statement of liability for a dataset", "type": "object", "properties": { "@id": { @@ -12,21 +14,15 @@ "default": "LiabilityStatement" }, "label": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label", "title": "liability statement text", "description": "Full text of the liability statement", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] }, "labelMap": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the liability text. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/LicenseDocument.json b/jsonschema/definitions/LicenseDocument.json index 8e13c48..288491f 100644 --- a/jsonschema/definitions/LicenseDocument.json +++ b/jsonschema/definitions/LicenseDocument.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/licensedocument", "title": "LicenseDocument", + "description": "Text of the license for an item", "type": "object", "properties": { "@id": { @@ -12,16 +14,11 @@ "default": "LicenseDocument" }, "licenseText": { - "$id": "http://spdx.org/rdf/terms#licenseText", "title": "license text", - "description": "Full text of the license.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "Full text of the license", + "type": [ + "null", + "string" ] } }, diff --git a/jsonschema/definitions/Location.json b/jsonschema/definitions/Location.json index 32913ba..8b59268 100644 --- a/jsonschema/definitions/Location.json +++ b/jsonschema/definitions/Location.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/location", "title": "Location", + "description": "Information about a specific geographic location", "type": "object", "properties": { "@id": { @@ -12,48 +14,38 @@ "default": "Location" }, "bbox": { - "$id": "http://www.w3.org/ns/dcat#bbox", "title": "bounding box", - "description": "bounding box associated location (in any coordinate system)", - "oneOf": [ + "description": "bounding box of a location (in any coordinate system)", + "anyOf": [ { "type": "null" }, { - "oneOf": [ - { - "type": "string", - "format": "iri", - "description": "This can be one of the following: " - } - ] + "type": "string", + "format": "iri", + "description": "Bounding box represented in some string format" } + ] }, "centroid": { - "$id": "http://www.w3.org/ns/dcat#centroid", "title": "centroid", - "description": "The geographic center (centroid) of a spatial thing", - "oneOf": [ + "description": "The geographic center (centroid) of a location", + "anyOf": [ { "type": "null" }, { - "oneOf": [ - { - "type": "string", - "format": "iri", - "description": "This can be one of the following: " - } - ] + "type": "string", + "format": "iri", + "description": "Center point in some string format" } ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains the geographic identifier for the Location, e.g., the URI or other unique identifier in the context of the relevant gazetteer.", - "oneOf": [ + "description": "A list of geographic identifiers for the location, e.g., the URI or other unique identifier in the context of the relevant gazetteer", + "anyOf": [ { "type": "null" }, @@ -66,84 +58,62 @@ ] }, "geometry": { - "$id": "http://www.w3.org/ns/locn#geometry", "title": "geometry", - "description": "Associates a location with a corresponding geometry.", - "oneOf": [ + "description": "Associates a location with a corresponding geometry", + "anyOf": [ { "type": "null" }, { - "oneOf": [ - { - "type": "string", - "format": "iri", - "description": "This can be one of the following: " - } - ] + "type": "string", + "format": "iri", + "description": "String format of the full geometry of the location" } ] }, "inScheme": { - "$id": "http://www.w3.org/2004/02/skos/core#inScheme", "title": "gazetteer", - "description": "This property MAY be used to specify the gazetteer to which the Location belongs.", + "description": "The gazetteer to which the location belongs", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/ConceptScheme", - "description": "inline description of ConceptScheme" - }, - { - "type": "string", - "description": "reference iri of ConceptScheme", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/conceptscheme", + "description": "inline description of the gazetteer" + }, + { + "type": "string", + "description": "reference iri of the gazetteer", + "format": "iri" } ] }, "altLabel": { - "$id": "http://www.w3.org/2004/02/skos/core#altLabel", - "title": "alternative names", - "description": "This property provides alternative names for a location", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "title": "alternative name", + "description": "An alternative name for a location", + "type": [ + "null", + "string" ] }, "altLabelMap": { - "$id": "http://www.w3.org/2004/02/skos/core#altLabel_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the alternative name. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "prefLabel": { - "$id": "http://www.w3.org/2004/02/skos/core#prefLabel", "title": "geographic name", - "description": "This property contains a preferred label of the Location.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "Preferred label of the Location", + "type": [ + "null", + "string" ] }, "prefLabelMap": { - "$id": "http://www.w3.org/2004/02/skos/core#prefLabel_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for geographic name. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/MediaType.json b/jsonschema/definitions/MediaType.json index 921ef1f..032f65a 100644 --- a/jsonschema/definitions/MediaType.json +++ b/jsonschema/definitions/MediaType.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/mediatype", "title": "MediaType", + "description": "Information about a specific file format", "type": "object", "properties": { "@id": { @@ -12,21 +14,15 @@ "default": "MediaType" }, "label": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label", "title": "label", - "description": "This property contains the denomination of the Media Type.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The denomination of the Media Type", + "type": [ + "null", + "string" ] }, "labelMap": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for label. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/Metric.json b/jsonschema/definitions/Metric.json index f0a2a30..536dba2 100644 --- a/jsonschema/definitions/Metric.json +++ b/jsonschema/definitions/Metric.json @@ -1,5 +1,6 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/metric", "title": "Metric", "type": "object", "properties": { @@ -12,29 +13,22 @@ "default": "Metric" }, "expectedDataType": { - "$id": "http://www.w3.org/ns/dqv#expectedDataType", "title": "expected datatype", "description": "Represents the expected data type for the metric's observed value (e.g., xsd:boolean, xsd:double etc...)", "type": "string" }, "inDimension": { - "$id": "http://www.w3.org/ns/dqv#inDimension", "title": "in dimension", "description": "Represents the dimensions a quality metric, certificate and annotation allow a measurement of.", "type": "string", "format": "iri" }, "definition": { - "$id": "https://www.w3.org/ns/dqv#definition", "title": "definition", "description": "Definition of the metric.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] } }, @@ -42,4 +36,4 @@ "expectedDataType", "inDimension" ] -} \ No newline at end of file +} diff --git a/jsonschema/definitions/Organization.json b/jsonschema/definitions/Organization.json index 1196bd1..d950b62 100644 --- a/jsonschema/definitions/Organization.json +++ b/jsonschema/definitions/Organization.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/organization", "title": "Organization", + "description": "Information about an organization, including other organizations that it is part of", "type": "object", "properties": { "@id": { @@ -12,16 +14,14 @@ "default": "Organization" }, "name": { - "$id": "http://xmlns.com/foaf/0.1/name", "title": "name", "description": "The full name of the Organization", "type": "string" }, "subOrganizationOf": { - "$id": "http://www.w3.org/ns/org#subOrganizationOf", "title": "suborganization of", - "description": "Represents hierarchical containment of Organizations or OrganizationalUnits; indicates an Organization which contains this Organization.", - "oneOf": [ + "description": "Represents hierarchical containment of Organizations or OrganizationalUnits; indicates an Organization which contains this Organization", + "anyOf": [ { "type": "null" }, @@ -30,7 +30,7 @@ "items": { "oneOf": [ { - "$ref": "#/definitions/Organization", + "$ref": "#", "description": "inline description of Organization" }, { @@ -44,31 +44,24 @@ ] }, "altLabel": { - "$id": "http://www.w3.org/2004/02/skos/core#altLabel", "title": "alternative label", - "description": "alternative names (trading names, colloquial names) for an organization", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "alternative name (trading name, colloquial name) for an organization", + "type": [ + "null", + "string" ] }, "altLabelMap": { - "$id": "http://www.w3.org/2004/02/skos/core#altLabel_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for alternative label. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "notation": { - "$id": "http://www.w3.org/2004/02/skos/core#notation", "title": "notation", - "description": "abbreviations or codes from code lists for an organization (e.g. DOI, DOD)", - "oneOf": [ + "description": "List of abbreviations or codes from code lists for an organization (e.g. DOI, DOD)", + "anyOf": [ { "type": "null" }, @@ -81,14 +74,12 @@ ] }, "prefLabel": { - "$id": "http://www.w3.org/2004/02/skos/core#prefLabel", "title": "preferred label", "description": "Preferred or legal name of the organization", "type": "string" }, "prefLabelMap": { - "$id": "http://www.w3.org/2004/02/skos/core#prefLabel_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for preferred label. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" @@ -99,4 +90,4 @@ "name", "prefLabel" ] -} \ No newline at end of file +} diff --git a/jsonschema/definitions/PeriodOfTime.json b/jsonschema/definitions/PeriodOfTime.json index 4e23051..c2ae4dd 100644 --- a/jsonschema/definitions/PeriodOfTime.json +++ b/jsonschema/definitions/PeriodOfTime.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/periodoftime", "title": "PeriodOfTime", + "description": "Information about a specific time period with a start- and/or end-time", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "PeriodOfTime" }, "endDate": { - "$id": "http://www.w3.org/ns/dcat#endDate", "title": "end date", "description": "The end date of the period of time", - "oneOf": [ + "anyOf": [ { "type": "null" }, @@ -41,10 +42,9 @@ ] }, "startDate": { - "$id": "http://www.w3.org/ns/dcat#startDate", "title": "start date", "description": "The start date of the period of time", - "oneOf": [ + "anyOf": [ { "type": "null" }, diff --git a/jsonschema/definitions/Person.json b/jsonschema/definitions/Person.json deleted file mode 100644 index d80677d..0000000 --- a/jsonschema/definitions/Person.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "title": "Person", - "type": "object", - "properties": { - "@id": { - "type": "string", - "format": "iri" - }, - "@type": { - "type": "string", - "default": "Person" - }, - "familyName": { - "$id": "http://xmlns.com/foaf/0.1/familyName", - "title": "family name", - "description": "The family name of the Person", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - }, - "givenName": { - "$id": "http://xmlns.com/foaf/0.1/givenName", - "title": "given name", - "description": "The given name of the Person", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } - ] - }, - "name": { - "$id": "http://xmlns.com/foaf/0.1/name", - "title": "name", - "description": "The full name of the Person", - "type": "string" - }, - "memberOf": { - "$id": "http://www.w3.org/ns/org#memberOf", - "title": "member of", - "description": "This property MAY be used to specify the affiliation of the Person to an organization.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Organization", - "description": "inline description of Organization" - }, - { - "type": "string", - "description": "reference iri of Organization", - "format": "iri" - } - ] - } - } - ] - } - }, - "required": [ - "name" - ] -} \ No newline at end of file diff --git a/jsonschema/definitions/ProvenanceStatement.json b/jsonschema/definitions/ProvenanceStatement.json index 0d27e85..a24302d 100644 --- a/jsonschema/definitions/ProvenanceStatement.json +++ b/jsonschema/definitions/ProvenanceStatement.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/provenancestatement", "title": "ProvenanceStatement", + "description": "A single statement about the provenance of a dataset", "type": "object", "properties": { "@id": { @@ -12,21 +14,15 @@ "default": "ProvenanceStatement" }, "label": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label", "title": "provenance statement text", - "description": "This property contains the text of the Provenance Statement. This property can be repeated for parallel language versions of the name", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The text of the Provenance Statement", + "type": [ + "null", + "string" ] }, "labelMap": { - "$id": "http://www.w3.org/2000/01/rdf-schema#label_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for provenance statement text. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/QualityMeasurement.json b/jsonschema/definitions/QualityMeasurement.json index e30c59b..9702708 100644 --- a/jsonschema/definitions/QualityMeasurement.json +++ b/jsonschema/definitions/QualityMeasurement.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/qualitymeasurement", "title": "QualityMeasurement", + "description": "A single measurement of one metric", "type": "object", "properties": { "@id": { @@ -12,12 +14,11 @@ "default": "QualityMeasurement" }, "isMeasurementOf": { - "$id": "http://www.w3.org/ns/dqv#isMeasurementOf", "title": "is measurement of", - "description": "Indicates the metric being observed.", + "description": "The metric being observed", "oneOf": [ { - "$ref": "#/definitions/Metric", + "$ref": "/dcat-us/3.0.0/definitions/metric", "description": "inline description of Metric" }, { @@ -28,22 +29,16 @@ ] }, "value": { - "$id": "http://www.w3.org/ns/dqv#value", "title": "value", - "description": "Refers to values computed by metric.", + "description": "The value computed by metric", "type": "string" }, "unitMeasure": { - "$id": "http://purl.org/linked-data/sdmx/2009/attribute#unitMeasure", "title": "unit of measure", "description": "Unit of measure associated with the value", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "type": [ + "null", + "string" ] } }, diff --git a/jsonschema/definitions/Relationship.json b/jsonschema/definitions/Relationship.json index 268b903..251fa79 100644 --- a/jsonschema/definitions/Relationship.json +++ b/jsonschema/definitions/Relationship.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/relationship", "title": "Relationship", + "description": "Information about an item or entity that has some relationship to a dataset and the nature of the relationship", "type": "object", "properties": { "@id": { @@ -12,15 +14,13 @@ "default": "Relationship" }, "hadRole": { - "$id": "http://www.w3.org/ns/dcat#hadRole", "title": "role", - "description": "The function of an entity or agent with respect to another entity or resource.", + "description": "The function of an entity or agent with respect to a dataset", "type": "string" }, "relation": { - "$id": "http://purl.org/dc/terms/relation", "title": "relation", - "description": "The resource related to the source resource.", + "description": "Link to the entity related to the dataset", "type": "string", "format": "iri" } diff --git a/jsonschema/definitions/RightsStatement.json b/jsonschema/definitions/RightsStatement.json index a7f55a2..ac98163 100644 --- a/jsonschema/definitions/RightsStatement.json +++ b/jsonschema/definitions/RightsStatement.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/rightsstatement", "title": "RightsStatement", + "description": "A statement about rights held with respect to another item", "type": "object", "properties": { "@id": { @@ -12,21 +14,15 @@ "default": "RightsStatement" }, "attributionText": { - "$id": "http://schema.theodi.org/odrs#attributionText", "title": "attribution text", - "description": "The custom attribution text for the right statement", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "The custom attribution text for the rights statement", + "type": [ + "null", + "string" ] }, "attributionTextMap": { - "$id": "http://schema.theodi.org/odrs#attributionText_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for attribution text. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" diff --git a/jsonschema/definitions/Standard.json b/jsonschema/definitions/Standard.json index fb1ebae..f86045d 100644 --- a/jsonschema/definitions/Standard.json +++ b/jsonschema/definitions/Standard.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/standard", "title": "Standard", + "description": "Information about a particular standard that another item conforms to", "type": "object", "properties": { "@id": { @@ -12,10 +14,9 @@ "default": "Standard" }, "created": { - "$id": "http://purl.org/dc/terms/created", "title": "creation date", - "description": "This property contains the date on which the Standard has been first created.", - "oneOf": [ + "description": "The date on which the Standard has been first created", + "anyOf": [ { "type": "null" }, @@ -41,31 +42,24 @@ ] }, "description": { - "$id": "http://purl.org/dc/terms/description", "title": "description", - "description": "This property contains a free-text account of the Standard. This property can be repeated for parallel language versions of the description", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A free-text account of the Standard", + "type": [ + "null", + "string" ] }, "descriptionMap": { - "$id": "http://purl.org/dc/terms/description_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for description. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "identifier": { - "$id": "http://purl.org/dc/terms/identifier", "title": "identifier", - "description": "This property contains the main identifier for the Standard, e.g. the URI or other unique identifier in the context of the Catalogue, or of a reference register", - "oneOf": [ + "description": "The main identifier for the Standard, e.g. the URI or other unique identifier in the context of the Catalogue, or of a reference register", + "anyOf": [ { "type": "null" }, @@ -78,10 +72,9 @@ ] }, "issued": { - "$id": "http://purl.org/dc/terms/issued", "title": "issued", - "description": "This property contains the date of formal issuance (e.g., publication) of the Standard.", - "oneOf": [ + "description": "The date of formal issuance (e.g., publication) of the Standard", + "anyOf": [ { "type": "null" }, @@ -107,10 +100,9 @@ ] }, "modified": { - "$id": "http://purl.org/dc/terms/modified", "title": "last modified", - "description": "This property contains the most recent date on which the Standard was changed or modified.", - "oneOf": [ + "description": "The most recent date on which the Standard was changed or modified", + "anyOf": [ { "type": "null" }, @@ -136,69 +128,53 @@ ] }, "title": { - "$id": "http://purl.org/dc/terms/title", "title": "title", - "description": "This property contains a name given to the Standard. This property can be repeated for parallel language versions of the name", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "A name given to the Standard", + "type": [ + "null", + "string" ] }, "titleMap": { - "$id": "http://purl.org/dc/terms/title_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for title. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "category": { - "$id": "http://purl.org/dc/terms/type", "title": "category", - "description": "This property refers to the type of the Standard. A controlled vocabulary for the values has not been established.", + "description": "The type of the Standard. A controlled vocabulary for the values has not been established", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of Concept" + }, + { + "type": "string", + "description": "reference iri of Concept", + "format": "iri" } ] }, "inScheme": { - "$id": "http://www.w3.org/2004/02/skos/core#inScheme", "title": "in scheme", - "description": "This property MAY be used to specify the reference register to which the Standard belongs.", + "description": "The reference register to which the Standard belongs", "oneOf": [ { "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/ConceptScheme", - "description": "inline description of ConceptScheme" - }, - { - "type": "string", - "description": "reference iri of ConceptScheme", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/conceptscheme", + "description": "inline description of ConceptScheme" + }, + { + "type": "string", + "description": "reference iri of ConceptScheme", + "format": "iri" } ] } diff --git a/jsonschema/definitions/UseRestriction.json b/jsonschema/definitions/UseRestriction.json index 2f5c266..d352228 100644 --- a/jsonschema/definitions/UseRestriction.json +++ b/jsonschema/definitions/UseRestriction.json @@ -1,6 +1,8 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://resources.data.gov/dcat-us/3.0.0/definitions/userestriction", "title": "UseRestriction", + "description": "A restriction on usage of another item", "type": "object", "properties": { "@id": { @@ -12,44 +14,36 @@ "default": "UseRestriction" }, "restrictionNote": { - "$id": "http://data.resources.gov/ontology/dcat-us#restrictionNote", "title": "restriction note", - "description": "Significant information pertaining to the use or reproduction of the data.", - "oneOf": [ - { - "type": "null" - }, - { - "type": "string" - } + "description": "Significant information pertaining to the use or reproduction of the data", + "type": [ + "null", + "string" ] }, "restrictionNoteMap": { - "$id": "http://data.resources.gov/ontology/dcat-us#restrictionNote_lang_map", - "description": "Language map for property title. E.g. {'es': 'spanish words', 'fr': 'french words'}", + "description": "Language map for the restriction note. E.g. {'es': 'spanish words', 'fr': 'french words'}", "type": [ "null", "object" ] }, "restrictionStatus": { - "$id": "http://data.resources.gov/ontology/dcat-us#restrictionStatus", "title": "restriction status", "description": "Indication of whether or not there are use restrictions on the archival materials", "oneOf": [ { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of restriction status" }, { "type": "string", - "description": "reference iri of Concept", + "description": "reference iri of restriction status", "format": "iri" } ] }, "specificRestriction": { - "$id": "http://data.resources.gov/ontology/dcat-us#specificRestriction", "title": "specific restriction", "description": "The specific NARA restriction associated with the use restriction", "oneOf": [ @@ -57,17 +51,13 @@ "type": "null" }, { - "oneOf": [ - { - "$ref": "#/definitions/Concept", - "description": "inline description of Concept" - }, - { - "type": "string", - "description": "reference iri of Concept", - "format": "iri" - } - ] + "$ref": "/dcat-us/3.0.0/definitions/concept", + "description": "inline description of the specific restriction" + }, + { + "type": "string", + "description": "reference iri of the specific restriction", + "format": "iri" } ] } diff --git a/jsonschema/test_json_schema.py b/jsonschema/test_json_schema.py index e360b81..b22149b 100644 --- a/jsonschema/test_json_schema.py +++ b/jsonschema/test_json_schema.py @@ -2,75 +2,66 @@ import sys from pathlib import Path from jsonschema import Draft202012Validator +from referencing import Registry, Resource +from referencing.exceptions import NoSuchResource -def remove_nested_ids(obj, is_root=True): - """Remove $id from nested properties and rewrite $ref paths for Draft 2020-12.""" - if isinstance(obj, dict): - result = {} - for key, value in obj.items(): - if key == "$id" and not is_root: - continue - if key == "$ref" and isinstance(value, str) and value.startswith("#/definitions/"): - result[key] = value.replace("#/definitions/", "#/$defs/") - else: - result[key] = remove_nested_ids(value, is_root=False) - return result - elif isinstance(obj, list): - return [remove_nested_ids(item, is_root=False) for item in obj] - return obj - -def load_schema_with_definitions(script_dir): +def load_schema_registry(script_dir): + registry = Registry() + + # the top-level schema is in script_dir/Catalog.json + with open(script_dir / "Catalog.json") as f: + schema_dict = json.load(f) + resource = Resource.from_contents(schema_dict) + registry = resource @ registry + + # lower-level schemas are in all the files in script_dir/definitions definitions_dir = script_dir / "definitions" - definitions = {} - + for schema_file in definitions_dir.glob("*.json"): with open(schema_file) as f: - schema = json.load(f) - schema = remove_nested_ids(schema) - schema_name = schema_file.stem - definitions[schema_name] = schema - - return definitions + schema_dict = json.load(f) + resource = Resource.from_contents(schema_dict) + registry = resource @ registry + + return registry def main(): script_dir = Path(__file__).parent examples_dir = script_dir / "examples" - - definitions = load_schema_with_definitions(script_dir) - + + registry = load_schema_registry(script_dir) + failures = [] - + + # check every JSON in the examples directory for example_file in examples_dir.rglob("*.json"): rel_path = example_file.relative_to(examples_dir) parts = rel_path.parts - + if len(parts) < 3: continue - + schema_name = parts[0] expected_result = parts[1] # "good" or "bad" - + if expected_result not in ("good", "bad"): continue - - if schema_name not in definitions: - print(f"SKIP: No schema found for {rel_path}") + + # TODO: Catalog has an id with a different structure + schema_id = f"https://resources.data.gov/dcat-us/3.0.0/definitions/{schema_name.lower()}" + try: + schema_resource = registry[schema_id] + except NoSuchResource: + print(f"SKIP: No schema found for {schema_id} from {rel_path}") continue - - # Create a schema that references the specific definition - test_schema = { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$defs": definitions, - "$ref": f"#/$defs/{schema_name}" - } + validator = Draft202012Validator({"$ref": schema_id}, registry=registry) with open(example_file) as f: example = json.load(f) - validator = Draft202012Validator(test_schema) errors = list(validator.iter_errors(example)) validation_passed = len(errors) == 0 - + if expected_result == "good" and validation_passed: print(f"PASS: {rel_path}") elif expected_result == "bad" and not validation_passed: @@ -79,7 +70,7 @@ def main(): outcome = "passed" if validation_passed else "failed" print(f"FAIL: {rel_path} (expected {expected_result}, but validation {outcome})") failures.append(str(rel_path)) - + if failures: print(f"\n{len(failures)} test(s) failed") sys.exit(1)