Skip to content

Commit 71fad6f

Browse files
feat: add Dataset JSON-LD metadata to data page and update sitemap lastmod timestamps
1 parent 5591edc commit 71fad6f

2 files changed

Lines changed: 93 additions & 28 deletions

File tree

‎public/sitemap.xml‎

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://yourselftoscience.org/</loc>
5-
<lastmod>2026-04-14</lastmod>
5+
<lastmod>2026-04-15</lastmod>
66
<changefreq>weekly</changefreq>
77
<priority>1.0</priority>
88
</url>
@@ -32,7 +32,7 @@
3232
</url>
3333
<url>
3434
<loc>https://yourselftoscience.org/stats</loc>
35-
<lastmod>2026-04-14</lastmod>
35+
<lastmod>2026-04-15</lastmod>
3636
<changefreq>weekly</changefreq>
3737
<priority>0.8</priority>
3838
</url>
@@ -68,127 +68,127 @@
6868
</url>
6969
<url>
7070
<loc>https://yourselftoscience.org/index.html.md</loc>
71-
<lastmod>2026-04-14</lastmod>
71+
<lastmod>2026-04-15</lastmod>
7272
<changefreq>weekly</changefreq>
7373
<priority>0.4</priority>
7474
</url>
7575
<url>
7676
<loc>https://yourselftoscience.org/stats.md</loc>
77-
<lastmod>2026-04-14</lastmod>
77+
<lastmod>2026-04-15</lastmod>
7878
<changefreq>weekly</changefreq>
7979
<priority>0.4</priority>
8080
</url>
8181
<url>
8282
<loc>https://yourselftoscience.org/get-involved.md</loc>
83-
<lastmod>2026-04-14</lastmod>
83+
<lastmod>2026-04-15</lastmod>
8484
<changefreq>weekly</changefreq>
8585
<priority>0.4</priority>
8686
</url>
8787
<url>
8888
<loc>https://yourselftoscience.org/clinical-trials.md</loc>
89-
<lastmod>2026-04-14</lastmod>
89+
<lastmod>2026-04-15</lastmod>
9090
<changefreq>weekly</changefreq>
9191
<priority>0.4</priority>
9292
</url>
9393
<url>
9494
<loc>https://yourselftoscience.org/organ-body-tissue-donation.md</loc>
95-
<lastmod>2026-04-14</lastmod>
95+
<lastmod>2026-04-15</lastmod>
9696
<changefreq>weekly</changefreq>
9797
<priority>0.4</priority>
9898
</url>
9999
<url>
100100
<loc>https://yourselftoscience.org/clinical-trials?countries=Belgium</loc>
101-
<lastmod>2026-04-14</lastmod>
101+
<lastmod>2026-04-15</lastmod>
102102
<changefreq>weekly</changefreq>
103103
<priority>0.5</priority>
104104
</url>
105105
<url>
106106
<loc>https://yourselftoscience.org/clinical-trials?countries=Canada</loc>
107-
<lastmod>2026-04-14</lastmod>
107+
<lastmod>2026-04-15</lastmod>
108108
<changefreq>weekly</changefreq>
109109
<priority>0.5</priority>
110110
</url>
111111
<url>
112112
<loc>https://yourselftoscience.org/clinical-trials?countries=European%20Union</loc>
113-
<lastmod>2026-04-14</lastmod>
113+
<lastmod>2026-04-15</lastmod>
114114
<changefreq>weekly</changefreq>
115115
<priority>0.5</priority>
116116
</url>
117117
<url>
118118
<loc>https://yourselftoscience.org/clinical-trials?countries=Germany</loc>
119-
<lastmod>2026-04-14</lastmod>
119+
<lastmod>2026-04-15</lastmod>
120120
<changefreq>weekly</changefreq>
121121
<priority>0.5</priority>
122122
</url>
123123
<url>
124124
<loc>https://yourselftoscience.org/clinical-trials?countries=Iceland</loc>
125-
<lastmod>2026-04-14</lastmod>
125+
<lastmod>2026-04-15</lastmod>
126126
<changefreq>weekly</changefreq>
127127
<priority>0.5</priority>
128128
</url>
129129
<url>
130130
<loc>https://yourselftoscience.org/clinical-trials?countries=Italy</loc>
131-
<lastmod>2026-04-14</lastmod>
131+
<lastmod>2026-04-15</lastmod>
132132
<changefreq>weekly</changefreq>
133133
<priority>0.5</priority>
134134
</url>
135135
<url>
136136
<loc>https://yourselftoscience.org/clinical-trials?countries=Liechtenstein</loc>
137-
<lastmod>2026-04-14</lastmod>
137+
<lastmod>2026-04-15</lastmod>
138138
<changefreq>weekly</changefreq>
139139
<priority>0.5</priority>
140140
</url>
141141
<url>
142142
<loc>https://yourselftoscience.org/clinical-trials?countries=Norway</loc>
143-
<lastmod>2026-04-14</lastmod>
143+
<lastmod>2026-04-15</lastmod>
144144
<changefreq>weekly</changefreq>
145145
<priority>0.5</priority>
146146
</url>
147147
<url>
148148
<loc>https://yourselftoscience.org/clinical-trials?countries=United%20Kingdom</loc>
149-
<lastmod>2026-04-14</lastmod>
149+
<lastmod>2026-04-15</lastmod>
150150
<changefreq>weekly</changefreq>
151151
<priority>0.5</priority>
152152
</url>
153153
<url>
154154
<loc>https://yourselftoscience.org/clinical-trials?countries=United%20States</loc>
155-
<lastmod>2026-04-14</lastmod>
155+
<lastmod>2026-04-15</lastmod>
156156
<changefreq>weekly</changefreq>
157157
<priority>0.5</priority>
158158
</url>
159159
<url>
160160
<loc>https://yourselftoscience.org/organ-body-tissue-donation?countries=Canada</loc>
161-
<lastmod>2026-04-14</lastmod>
161+
<lastmod>2026-04-15</lastmod>
162162
<changefreq>weekly</changefreq>
163163
<priority>0.5</priority>
164164
</url>
165165
<url>
166166
<loc>https://yourselftoscience.org/organ-body-tissue-donation?countries=France</loc>
167-
<lastmod>2026-04-14</lastmod>
167+
<lastmod>2026-04-15</lastmod>
168168
<changefreq>weekly</changefreq>
169169
<priority>0.5</priority>
170170
</url>
171171
<url>
172172
<loc>https://yourselftoscience.org/organ-body-tissue-donation?countries=Germany</loc>
173-
<lastmod>2026-04-14</lastmod>
173+
<lastmod>2026-04-15</lastmod>
174174
<changefreq>weekly</changefreq>
175175
<priority>0.5</priority>
176176
</url>
177177
<url>
178178
<loc>https://yourselftoscience.org/organ-body-tissue-donation?countries=Italy</loc>
179-
<lastmod>2026-04-14</lastmod>
179+
<lastmod>2026-04-15</lastmod>
180180
<changefreq>weekly</changefreq>
181181
<priority>0.5</priority>
182182
</url>
183183
<url>
184184
<loc>https://yourselftoscience.org/organ-body-tissue-donation?countries=United%20Kingdom</loc>
185-
<lastmod>2026-04-14</lastmod>
185+
<lastmod>2026-04-15</lastmod>
186186
<changefreq>weekly</changefreq>
187187
<priority>0.5</priority>
188188
</url>
189189
<url>
190190
<loc>https://yourselftoscience.org/organ-body-tissue-donation?countries=United%20States</loc>
191-
<lastmod>2026-04-14</lastmod>
191+
<lastmod>2026-04-15</lastmod>
192192
<changefreq>weekly</changefreq>
193193
<priority>0.5</priority>
194194
</url>

‎src/app/data/page.js‎

Lines changed: 70 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
import { resources } from '@/data/resources';
55
import wikidataStats from '@/data/wikidataStats.json';
6+
import lastUpdatedMeta from '@/data/lastUpdated.json';
7+
import { permanentDoi } from '@/data/config';
68
import WikidataIcon from '@/components/WikidataIcon';
79

810
import { FaDownload, FaCode, FaCopy, FaCheck, FaChartBar, FaTable, FaDatabase, FaRobot, FaNetworkWired, FaBook } from 'react-icons/fa';
@@ -34,8 +36,71 @@ export default function DataPage() {
3436
setTimeout(() => setCopiedUrl(null), 2500);
3537
};
3638

39+
const jsonLd = {
40+
"@context": "https://schema.org/",
41+
"@type": "Dataset",
42+
"name": "Yourself to Science Open Dataset",
43+
"description": "A curated, open-access catalog of services, platforms, and programs that allow individuals to securely contribute to scientific research with their biological and digital selves.",
44+
"url": "https://yourselftoscience.org/data",
45+
"sameAs": "https://yourselftoscience.org/resources.ttl#dataset",
46+
"identifier": [
47+
"https://yourselftoscience.org/resources.ttl#dataset",
48+
`https://doi.org/${permanentDoi}`
49+
],
50+
"keywords": [
51+
"open dataset",
52+
"CC0 dataset",
53+
"public domain data",
54+
"science data",
55+
"clinical trials data",
56+
"citizen science dataset",
57+
"JSON API",
58+
"CSV download",
59+
"linked data",
60+
"research opportunities"
61+
],
62+
"alternateName": [
63+
"Yourself to Science Catalogue",
64+
"Yourself to Science Database"
65+
],
66+
"creator": {
67+
"@type": "Organization",
68+
"name": "Yourself to Science",
69+
"url": "https://yourselftoscience.org",
70+
"contactPoint": {
71+
"@type": "ContactPoint",
72+
"contactType": "public engagement",
73+
"email": "hello@yourselftoscience.org"
74+
}
75+
},
76+
"license": "https://creativecommons.org/publicdomain/zero/1.0/",
77+
"isAccessibleForFree": true,
78+
"dateModified": lastUpdatedMeta.dateModified,
79+
"distribution": [
80+
{
81+
"@type": "DataDownload",
82+
"encodingFormat": "text/csv",
83+
"contentUrl": "https://yourselftoscience.org/resources.csv"
84+
},
85+
{
86+
"@type": "DataDownload",
87+
"encodingFormat": "application/json",
88+
"contentUrl": "https://yourselftoscience.org/resources.json"
89+
},
90+
{
91+
"@type": "DataDownload",
92+
"encodingFormat": "text/turtle",
93+
"contentUrl": "https://yourselftoscience.org/resources.ttl"
94+
}
95+
]
96+
};
97+
3798
return (
3899
<main className="flex-grow w-full max-w-screen-xl mx-auto px-4 py-12 md:py-16">
100+
<script
101+
type="application/ld+json"
102+
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
103+
/>
39104
<motion.div
40105
initial={{ opacity: 0, y: -20 }}
41106
animate={{ opacity: 1, y: 0 }}
@@ -86,7 +151,7 @@ export default function DataPage() {
86151
</motion.div>
87152
</div>
88153

89-
<section id="data" className="scroll-mt-32 space-y-24">
154+
<section id="data" className="scroll-mt-40 space-y-24">
90155
<div className="text-center mb-12">
91156
<h2 className="text-3xl font-bold text-apple-primary-text mb-4">Data Infrastructure</h2>
92157
<p className="text-apple-secondary-text max-w-3xl mx-auto leading-relaxed">
@@ -98,7 +163,7 @@ export default function DataPage() {
98163

99164

100165
{/* Tier 1: Enterprise */}
101-
<motion.div id="enterprise" className="scroll-mt-24" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
166+
<motion.div id="enterprise" className="scroll-mt-40" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
102167
<div className="flex items-center gap-3 mb-6">
103168
<FaDatabase className="text-blue-600 text-2xl" />
104169
<h3 className="text-xl font-bold text-gray-900 border-b border-gray-200 pb-2 flex-grow">Relational & Structured Data</h3>
@@ -124,7 +189,7 @@ export default function DataPage() {
124189
</motion.div>
125190

126191
{/* Tier 2: AI & LLM Data Feeds */}
127-
<motion.div id="ai-feeds" className="scroll-mt-24" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
192+
<motion.div id="ai-feeds" className="scroll-mt-40" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
128193
<div className="flex items-center gap-3 mb-6">
129194
<FaRobot className="text-purple-600 text-2xl" />
130195
<h3 className="text-xl font-bold text-gray-900 border-b border-gray-200 pb-2 flex-grow">Machine-Readable Context (AI & LLM Modeling)</h3>
@@ -163,7 +228,7 @@ export default function DataPage() {
163228
</motion.div>
164229

165230
{/* Tier 3: Quantitative & Tabular Analysts */}
166-
<motion.div id="quantitative" className="scroll-mt-24" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
231+
<motion.div id="quantitative" className="scroll-mt-40" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
167232
<div className="flex items-center gap-3 mb-6">
168233
<FaTable className="text-green-600 text-2xl" />
169234
<h3 className="text-xl font-bold text-gray-900 border-b border-gray-200 pb-2 flex-grow">Tabular Datasets & JSON Endpoints</h3>
@@ -200,7 +265,7 @@ export default function DataPage() {
200265
</motion.div>
201266

202267
{/* Tier 4: Semantic Web & Knowledge Graphs */}
203-
<motion.div id="semantic" className="scroll-mt-24" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
268+
<motion.div id="semantic" className="scroll-mt-40" initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}>
204269
<div className="flex items-center gap-3 mb-6">
205270
<FaNetworkWired className="text-orange-600 text-2xl" />
206271
<h3 className="text-xl font-bold text-gray-900 border-b border-gray-200 pb-2 flex-grow">Linked Data & Semantic Mapping</h3>

0 commit comments

Comments
 (0)