Skip to content

Commit 87b06e1

Browse files
smrgeoinfoclaude
andcommitted
Update ECRR examples to pass CDIF Discovery validation
- Convert @context from array to object with schema: http://schema.org/ - Add schema:Dataset to @type arrays - Add schema:dateModified and schema:identifier where missing - Fix schema:subjectOf: add @id, schema:about, use @type schema:Dataset - Wrap schema:creator arrays in @list object - Add root-level schema:url to satisfy CDIF anyOf requirement - Convert array subjectOf to single catalog record object - Fix schema:relatedLink items to use schema:LinkRole pattern - Fix schema:keywords from string to array (Pyleoclim) - Remove non-conformant variableMeasured (ECRRDataset) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent fc9c708 commit 87b06e1

11 files changed

Lines changed: 385 additions & 313 deletions

File tree

_sources/profiles/ecrrProfiles/ECRRCatalog/exampleECRRCatalog.json

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
{
2-
"@context": [
3-
"https://schema.org/",
4-
{
5-
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
6-
"ecrr": "https://n2t.net/ark:/23942/g2",
7-
"dct": "http://purl.org/dc/terms/",
8-
"dcterms": "http://purl.org/dc/terms/",
9-
"dcat": "http://www.w3.org/ns/dcat#"
10-
}
11-
],
2+
"@context": {
3+
"schema": "http://schema.org/",
4+
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
5+
"ecrr": "https://n2t.net/ark:/23942/g2",
6+
"dcterms": "http://purl.org/dc/terms/",
7+
"dcat": "http://www.w3.org/ns/dcat#"
8+
},
129
"@id": "http://n2t.net/ark:/23942/g2example-catalog",
1310
"@type": [
1411
"schema:CreativeWork",
15-
"schema:DataCatalog"
12+
"schema:DataCatalog",
13+
"schema:Dataset"
1614
],
1715
"schema:name": "EarthCube GeoCodes Metadata Catalog",
1816
"schema:additionalType": [
1917
"EC CatalogRegistry"
2018
],
2119
"schema:description": "A metadata catalog indexing geoscience datasets, tools, and services registered through the EarthCube GeoCodes system.",
20+
"schema:identifier": "http://n2t.net/ark:/23942/g2example-catalog",
21+
"schema:url": "https://www.earthcube.org/datasets",
22+
"schema:dateModified": "2026-03-03",
2223
"schema:mainEntity": {
2324
"@type": "schema:CreativeWork",
2425
"schema:url": "http://cor.esipfed.org/ont/earthcube/ECRRO_0000212",
@@ -32,8 +33,9 @@
3233
}
3334
],
3435
"schema:subjectOf": {
36+
"@id": "urn:uuid:ecrr-catalog-catalog-record",
3537
"@type": [
36-
"schema:CreativeWork"
38+
"schema:Dataset"
3739
],
3840
"schema:additionalType": [
3941
"dcat:CatalogRecord"
@@ -52,14 +54,19 @@
5254
"@id": "https://w3id.org/cdif/bbr/metadata/profiles/ecrrProfiles/ECRRCatalog"
5355
}
5456
],
55-
"schema:sdDatePublished": "2026-03-03"
56-
},
57-
"schema:creator": [
58-
{
59-
"@type": "schema:Organization",
60-
"schema:name": "EarthCube"
57+
"schema:sdDatePublished": "2026-03-03",
58+
"schema:about": {
59+
"@id": "http://n2t.net/ark:/23942/g2example-catalog"
6160
}
62-
],
61+
},
62+
"schema:creator": {
63+
"@list": [
64+
{
65+
"@type": "schema:Organization",
66+
"schema:name": "EarthCube"
67+
}
68+
]
69+
},
6370
"schema:about": [
6471
{
6572
"@type": "schema:DefinedTerm",

_sources/profiles/ecrrProfiles/ECRRCollection/exampleECRRCollection.json

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
{
2-
"@context": [
3-
"https://schema.org/",
4-
{
5-
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
6-
"ecrr": "https://n2t.net/ark:/23942/g2",
7-
"dct": "http://purl.org/dc/terms/",
8-
"dcterms": "http://purl.org/dc/terms/",
9-
"dcat": "http://www.w3.org/ns/dcat#"
10-
}
11-
],
2+
"@context": {
3+
"schema": "http://schema.org/",
4+
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
5+
"ecrr": "https://n2t.net/ark:/23942/g2",
6+
"dcterms": "http://purl.org/dc/terms/",
7+
"dcat": "http://www.w3.org/ns/dcat#"
8+
},
129
"@id": "http://n2t.net/ark:/23942/g2example-collection",
1310
"@type": [
1411
"schema:CreativeWork",
15-
"schema:Product"
12+
"schema:Product",
13+
"schema:Dataset"
1614
],
1715
"schema:name": "Geochemical Reference Standards Bundle",
1816
"schema:additionalType": [
1917
"EC Bundled Object"
2018
],
2119
"schema:description": "A curated collection of geochemical reference standard datasets, software tools, and documentation for analytical laboratory calibration.",
20+
"schema:identifier": "http://n2t.net/ark:/23942/g2example-collection",
21+
"schema:url": "http://n2t.net/ark:/23942/g2example-collection",
22+
"schema:dateModified": "2026-03-03",
2223
"schema:mainEntity": {
2324
"@type": "schema:CreativeWork",
2425
"schema:url": "http://cor.esipfed.org/ont/earthcube/SFO_0000075",
@@ -32,8 +33,9 @@
3233
}
3334
],
3435
"schema:subjectOf": {
36+
"@id": "urn:uuid:ecrr-collection-catalog-record",
3537
"@type": [
36-
"schema:CreativeWork"
38+
"schema:Dataset"
3739
],
3840
"schema:additionalType": [
3941
"dcat:CatalogRecord"
@@ -52,14 +54,19 @@
5254
"@id": "https://w3id.org/cdif/bbr/metadata/profiles/ecrrProfiles/ECRRCollection"
5355
}
5456
],
55-
"schema:sdDatePublished": "2026-03-03"
56-
},
57-
"schema:creator": [
58-
{
59-
"@type": "schema:Organization",
60-
"schema:name": "USGS Geochemistry Lab"
57+
"schema:sdDatePublished": "2026-03-03",
58+
"schema:about": {
59+
"@id": "http://n2t.net/ark:/23942/g2example-collection"
6160
}
62-
],
61+
},
62+
"schema:creator": {
63+
"@list": [
64+
{
65+
"@type": "schema:Organization",
66+
"schema:name": "USGS Geochemistry Lab"
67+
}
68+
]
69+
},
6370
"schema:about": [
6471
{
6572
"@type": "schema:DefinedTerm",

_sources/profiles/ecrrProfiles/ECRRDataset/exampleECRRDataset.json

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
{
2-
"@context": [
3-
"https://schema.org/",
4-
{
5-
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
6-
"ecrr": "https://n2t.net/ark:/23942/g2",
7-
"dct": "http://purl.org/dc/terms/",
8-
"dcterms": "http://purl.org/dc/terms/",
9-
"dcat": "http://www.w3.org/ns/dcat#"
10-
}
11-
],
2+
"@context": {
3+
"schema": "http://schema.org/",
4+
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
5+
"ecrr": "https://n2t.net/ark:/23942/g2",
6+
"dcterms": "http://purl.org/dc/terms/",
7+
"dcat": "http://www.w3.org/ns/dcat#"
8+
},
129
"@id": "http://n2t.net/ark:/23942/g2example-dataset",
1310
"@type": [
1411
"schema:CreativeWork",
@@ -19,6 +16,9 @@
1916
"EC Dataset"
2017
],
2118
"schema:description": "Monthly global surface temperature anomaly data relative to the 1951-1980 base period, derived from meteorological station and ocean observations.",
19+
"schema:identifier": "http://n2t.net/ark:/23942/g2example-dataset",
20+
"schema:url": "https://example.org/data/global-surface-temperature-anomalies",
21+
"schema:dateModified": "2026-03-03",
2222
"schema:mainEntity": {
2323
"@type": "schema:CreativeWork",
2424
"schema:url": "http://cor.esipfed.org/ont/earthcube/ECRRO_0000214",
@@ -32,8 +32,9 @@
3232
}
3333
],
3434
"schema:subjectOf": {
35+
"@id": "urn:uuid:ecrr-dataset-catalog-record",
3536
"@type": [
36-
"schema:CreativeWork"
37+
"schema:Dataset"
3738
],
3839
"schema:additionalType": [
3940
"dcat:CatalogRecord"
@@ -52,14 +53,19 @@
5253
"@id": "https://w3id.org/cdif/bbr/metadata/profiles/ecrrProfiles/ECRRDataset"
5354
}
5455
],
55-
"schema:sdDatePublished": "2026-03-03"
56-
},
57-
"schema:creator": [
58-
{
59-
"@type": "schema:Organization",
60-
"schema:name": "Example Climate Institute"
56+
"schema:sdDatePublished": "2026-03-03",
57+
"schema:about": {
58+
"@id": "http://n2t.net/ark:/23942/g2example-dataset"
6159
}
62-
],
60+
},
61+
"schema:creator": {
62+
"@list": [
63+
{
64+
"@type": "schema:Organization",
65+
"schema:name": "Example Climate Institute"
66+
}
67+
]
68+
},
6369
"schema:about": [
6470
{
6571
"@type": "schema:DefinedTerm",
@@ -94,16 +100,6 @@
94100
"schema:temporalCoverage": [
95101
"1880-01-01/2023-12-31"
96102
],
97-
"schema:variableMeasured": [
98-
{
99-
"@type": [
100-
"schema:PropertyValue"
101-
],
102-
"schema:name": "Surface Temperature Anomaly",
103-
"schema:description": "Deviation of monthly surface temperature from 1951-1980 average",
104-
"schema:unitText": "degrees Celsius"
105-
}
106-
],
107103
"schema:includedInDataCatalog": {
108104
"@type": "schema:DataCatalog",
109105
"schema:name": "EarthCube Data Catalog",

_sources/profiles/ecrrProfiles/ECRRInterchangeFormat/exampleECRRInterchangeFormat.json

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
{
2-
"@context": [
3-
"https://schema.org/",
4-
{
5-
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
6-
"ecrr": "https://n2t.net/ark:/23942/g2",
7-
"dct": "http://purl.org/dc/terms/",
8-
"dcterms": "http://purl.org/dc/terms/",
9-
"dcat": "http://www.w3.org/ns/dcat#"
10-
}
11-
],
2+
"@context": {
3+
"schema": "http://schema.org/",
4+
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
5+
"ecrr": "https://n2t.net/ark:/23942/g2",
6+
"dcterms": "http://purl.org/dc/terms/",
7+
"dcat": "http://www.w3.org/ns/dcat#"
8+
},
129
"@id": "http://n2t.net/ark:/23942/g2example-interchange",
1310
"@type": [
1411
"schema:CreativeWork",
15-
"schema:Product"
12+
"schema:Product",
13+
"schema:Dataset"
1614
],
1715
"schema:name": "NetCDF (Network Common Data Form)",
1816
"schema:additionalType": [
1917
"EC Interchange Format"
2018
],
2119
"schema:description": "NetCDF is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. It is widely used in atmospheric and ocean sciences for gridded data interchange.",
20+
"schema:identifier": "http://n2t.net/ark:/23942/g2example-interchange",
21+
"schema:url": "https://www.unidata.ucar.edu/software/netcdf/",
22+
"schema:dateModified": "2026-03-03",
2223
"schema:mainEntity": {
2324
"@type": "schema:CreativeWork",
2425
"schema:url": "http://cor.esipfed.org/ont/earthcube/ECRRO_0000208",
@@ -31,8 +32,9 @@
3132
}
3233
],
3334
"schema:subjectOf": {
35+
"@id": "urn:uuid:ecrr-interchangeformat-catalog-record",
3436
"@type": [
35-
"schema:CreativeWork"
37+
"schema:Dataset"
3638
],
3739
"schema:additionalType": [
3840
"dcat:CatalogRecord"
@@ -51,14 +53,19 @@
5153
"@id": "https://w3id.org/cdif/bbr/metadata/profiles/ecrrProfiles/ECRRInterchangeFormat"
5254
}
5355
],
54-
"schema:sdDatePublished": "2026-03-03"
55-
},
56-
"schema:creator": [
57-
{
58-
"@type": "schema:Organization",
59-
"schema:name": "Unidata/UCAR"
56+
"schema:sdDatePublished": "2026-03-03",
57+
"schema:about": {
58+
"@id": "http://n2t.net/ark:/23942/g2example-interchange"
6059
}
61-
],
60+
},
61+
"schema:creator": {
62+
"@list": [
63+
{
64+
"@type": "schema:Organization",
65+
"schema:name": "Unidata/UCAR"
66+
}
67+
]
68+
},
6269
"schema:about": [
6370
{
6471
"@type": "schema:DefinedTerm",

_sources/profiles/ecrrProfiles/ECRRInterface/exampleECRRInterface.json

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
{
2-
"@context": [
3-
"https://schema.org/",
4-
{
5-
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
6-
"ecrr": "https://n2t.net/ark:/23942/g2",
7-
"dct": "http://purl.org/dc/terms/",
8-
"dcterms": "http://purl.org/dc/terms/",
9-
"dcat": "http://www.w3.org/ns/dcat#"
10-
}
11-
],
2+
"@context": {
3+
"schema": "http://schema.org/",
4+
"ecrro": "http://cor.esipfed.org/ont/earthcube/",
5+
"ecrr": "https://n2t.net/ark:/23942/g2",
6+
"dcterms": "http://purl.org/dc/terms/",
7+
"dcat": "http://www.w3.org/ns/dcat#"
8+
},
129
"@id": "http://n2t.net/ark:/23942/g2example-interface",
1310
"@type": [
1411
"schema:CreativeWork",
15-
"schema:Product"
12+
"schema:Product",
13+
"schema:Dataset"
1614
],
1715
"schema:name": "OGC Web Map Service (WMS) Interface Standard",
1816
"schema:additionalType": [
1917
"EC Interface_API"
2018
],
2119
"schema:description": "The OpenGIS Web Map Service Interface Standard (WMS) provides a simple HTTP interface for requesting geo-registered map images from one or more distributed geospatial databases.",
20+
"schema:identifier": "http://n2t.net/ark:/23942/g2example-interface",
21+
"schema:url": "https://www.ogc.org/standard/wms/",
22+
"schema:dateModified": "2026-03-03",
2223
"schema:mainEntity": {
2324
"@type": "schema:CreativeWork",
2425
"schema:url": "http://cor.esipfed.org/ont/earthcube/ECRRO_0000207",
@@ -31,8 +32,9 @@
3132
}
3233
],
3334
"schema:subjectOf": {
35+
"@id": "urn:uuid:ecrr-interface-catalog-record",
3436
"@type": [
35-
"schema:CreativeWork"
37+
"schema:Dataset"
3638
],
3739
"schema:additionalType": [
3840
"dcat:CatalogRecord"
@@ -51,14 +53,19 @@
5153
"@id": "https://w3id.org/cdif/bbr/metadata/profiles/ecrrProfiles/ECRRInterface"
5254
}
5355
],
54-
"schema:sdDatePublished": "2026-03-03"
55-
},
56-
"schema:creator": [
57-
{
58-
"@type": "schema:Organization",
59-
"schema:name": "Open Geospatial Consortium (OGC)"
56+
"schema:sdDatePublished": "2026-03-03",
57+
"schema:about": {
58+
"@id": "http://n2t.net/ark:/23942/g2example-interface"
6059
}
61-
],
60+
},
61+
"schema:creator": {
62+
"@list": [
63+
{
64+
"@type": "schema:Organization",
65+
"schema:name": "Open Geospatial Consortium (OGC)"
66+
}
67+
]
68+
},
6269
"schema:about": [
6370
{
6471
"@type": "schema:DefinedTerm",

0 commit comments

Comments
 (0)