Changeset 35047
- Timestamp:
- 2021-04-10T17:47:02+12:00 (3 years ago)
- Location:
- main/trunk/model-sites-dev/eurovision-lod/collect/eurovision/transform/pages
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/model-sites-dev/eurovision-lod/collect/eurovision/transform/pages/about.xsl
r35045 r35047 98 98 99 99 <p> 100 This (unoffic al) website has been developed by a small100 This (unofficial) website has been developed by a small 101 101 team of dedicated Digital Library researchers who also 102 102 happen to be <i>huge</i> fans of Eurovision. We wish to … … 122 122 the browsing tabs, such as 123 123 <a href="{$library_name}/collection/{$collName}/browse/CL3">browse by countries</a> 124 if you want (for instance) to reminis e about songs your country have entered in the past, or124 if you want (for instance) to reminisce about songs your country have entered in the past, or 125 125 <a href="{$library_name}/collection/{$collName}/browse/CL4">browse by years</a> if 126 126 you are curious about who were the countries competing in that inaugural year of 1956. … … 143 143 <ul> 144 144 <li><a href="{$library_name}/collection/{$collName}/browse/CL3">Browse by countries</a> 145 if you want (for instance) to reminis e about songs your country have entered in the past; or</li>145 if you want (for instance) to reminisce about songs your country have entered in the past; or</li> 146 146 <li><a href="{$library_name}/collection/{$collName}/browse/CL4">Browse by years</a> if 147 147 you are curious about who were the countries competing in that inaugural year of 1956.</li> … … 149 149 </p> 150 150 <p> 151 Alternatively, use the quick-search box to query the DL collection for a term that yousparks152 interest. For example:151 Alternatively, use the quick-search box to query the DL collection for a term that sparks 152 your interest. For example: 153 153 <ul> 154 154 <li> … … 163 163 164 164 165 <h 3>Data Analysis and Visualization</h3>165 <h2>Data Analysis and Visualization</h2> 166 166 167 167 <gsf:script src="ext/jena/sgvizler2/sgvizler2.js"/> … … 204 204 <p style="padding-top: 10px;"> 205 205 All the metadata in the digital library is simultaneously 206 published a nlinked data, meaning it is possible to206 published as linked data, meaning it is possible to 207 207 extract and analyze the data contained here in a variety 208 of ways. To aid in such analysis we have also we have208 of ways. To aid in such analysis we have 209 209 added in a data visualization layer to the digital 210 210 library. This is how the bar-graph above has been … … 216 216 <ul> 217 217 <li> 218 <a href="{$library_name}/collection/{$collName}/page/sgvizler">Vi zualizer page</a>218 <a href="{$library_name}/collection/{$collName}/page/sgvizler">Visualizer page</a> 219 219 </li> 220 220 </ul> 221 221 </p> 222 222 <p> 223 we provide samples you rcan try out to give you an idea of223 we provide samples you can try out to give you an idea of 224 224 the sorts of visualization that can be produced. More 225 225 importantly, these samples are editable so you are free to … … 231 231 the last decade, which makes for interesting viewing! 232 232 Adjust the values used to discover how this compares 233 with other time periods.233 with other time periods. 234 234 </p> 235 235 … … 244 244 </ul> 245 245 you will find a set of samples you can test-drive to give you an idea of the 246 sorts of raw data analysis that can be done. The syntax used is call 246 sorts of raw data analysis that can be done. The syntax used is called 247 247 <a href="https://en.wikipedia.org/wiki/SPARQL" target="_blank">SPARQL</a> (pronounced "sparkle"). If you are unfamiliar 248 248 with this syntax, there are a variety of tutorials available online where you can learn about query language, such as 249 249 the one done by <a href="https://jena.apache.org/tutorials/sparql.html" target="_blank">Apache Jena</a>, an Open Source 250 initiative that provides a var eity of Semantic Web and Linked Data tools.250 initiative that provides a variety of Semantic Web and Linked Data tools. 251 251 As before, these samples are editable so you are free to 252 change them however you wish adjust the analysis undertaken, or once you're mastered the252 change them however you wish to adjust the analysis undertaken, or once you're mastered the 253 253 query syntax, develop completely original forms of 254 ana ysis.254 analysis. 255 255 </p> 256 256 … … 330 330 only possible due to the Herculean efforts of the 331 331 contributors to the Wikipedia pages about 332 the Eurovision Song Conte nt, and following on from332 the Eurovision Song Contest, and following on from 333 333 that the endeavors of the DBPedia project to 334 334 transform a substantial portion of that information … … 337 337 338 338 <p> 339 Continuing the technical develo ment of the DL,340 to the DBpedia extra xcted content, we then added in voting metadataâagain339 Continuing the technical development of the DL, 340 to the DBpedia extracted content, we then added in voting metadataâagain 341 341 using the Greenstone document- and metadata- processing 342 342 pipelineâthis time in the form of CSV-based spreadsheet derived from the … … 365 365 The information retrieved includes the country, year, 366 366 title of the song, and name of the entrant (the 367 act/artist), am gonst other things. All useful core367 act/artist), amongst other things. All useful core 368 368 information to seed the digital library collection. As 369 369 the 2020 Eurovision event did not run due to the … … 405 405 Next visit the DBPedia SPARQL Endpoint given below, and in the main text box of the page 406 406 that appears, press <i>Control-V</i> 407 to past in your SPARQL query. Finally, click on the <i>Execute Query</i> button407 to paste in your SPARQL query. Finally, click on the <i>Execute Query</i> button 408 408 to initiate the search. 409 409 <ul> … … 423 423 </p> 424 424 425 <h 3>Triplestore Errata</h3>425 <h2>Triplestore Errata</h2> 426 426 427 427 <p> … … 430 430 however a more careful study of the returned results 431 431 revealed a few complications that needed to be 432 ad ressed. One issue stems from the fact that in its432 addressed. One issue stems from the fact that in its 433 433 inaugural year, countries were allowed to send two 434 434 entries each. For 1956, for every URI representing a … … 436 436 entrants represented. As initially expressed, the 437 437 SPARQL query does not cater for this circumstance and 438 results in 2 x 2 = 4 combin tations of artist and title438 results in 2 x 2 = 4 combinations of artist and title 439 439 per song. 440 440 </p> … … 455 455 processing work by DBPedia to turn the manually curated 456 456 information in Wikipedia into machine-readable form 457 err enouesly handled the formation of some of the song457 erroneously handled the formation of some of the song 458 458 titles and artists. 459 459 </p> … … 478 478 <p> 479 479 The generation of these lists also provided the key to 480 the approach we used to compensate for the compli ations480 the approach we used to compensate for the complications 481 481 these issues introduced. Skipping ahead slightly to the 482 482 formation of the Digital Library collection with 483 483 Greenstone3, we make use of this software architecture's 484 484 Triplestore Extension, which means that in addition to 485 the main DL and Open Archive Initi tiave (OAI) server486 endpoints, there is also a ntriplestore backend. While485 the main DL and Open Archive Initiative (OAI) server 486 endpoints, there is also a triplestore backend. While 487 487 the triplestore extension was designed to provide SPARQL 488 488 access to the metadata and document content of the DL … … 495 495 <p> 496 496 This does admittedly complicate the expression of the 497 query, but the additions are manag ible. The expanded497 query, but the additions are manageable. The expanded 498 498 query makes use of SPARQL's federated search feature: 499 499 the query starts as before with the retrieval of triples … … 502 502 it then optionally retrieves matching items from the DL 503 503 SPARQL endpoint. The final step is to use a conditional 504 clause (if-stat ment) to test to see if the DBpedia504 clause (if-statement) to test to see if the DBpedia 505 505 version of the song is a literal, and if it is and if 506 506 there is a bound value for the DL retrieved one, then it … … 526 526 527 527 To fulfill our vision of developing this DL collection as a rich resource to 528 through which people can explore the pheno nomon528 through which people can explore the phenomenon. 529 529 530 530 </p> … … 534 534 535 535 <p> 536 Despite our best intentions to work sole y with ....536 Despite our best intentions to work solely with .... 537 537 .. missing categories ... 538 538 … … 561 561 562 562 <div> 563 <h 3>The Gory Details</h3>563 <h2>The Gory Details</h2> 564 564 <!-- 565 565 <p> … … 586 586 href="sites/{$site_name}/collect/{$collName}/etc/collectionConfig.xml">collection 587 587 configuration file</a> provides a good insight into how 588 all of these technical aspect cs are brought together.588 all of these technical aspects are brought together. 589 589 </p> 590 590 -
main/trunk/model-sites-dev/eurovision-lod/collect/eurovision/transform/pages/sgvizler.xsl
r35045 r35047 54 54 <style> 55 55 div.page { margin-left: 12px; margin-right: 12px; margin-top: 6px; margin-bottom: 6px;} 56 p { padding-bottom: 12px;} 57 a { text-decoration: underline; } 58 li { padding-bottom: 6px; } 56 57 p { padding-top: 6px; padding-bottom: 6px;} 58 a { text-decoration: underline; } 59 li { padding-bottom: 6px; margin-bottom: 6px; } 59 60 </style> 60 61 … … 76 77 77 78 <p> 78 In terms of the user interface, this is achi ved by79 In terms of the user interface, this is achieved by 79 80 pressing the <i>Load query above</i> button for a sample 80 visualization that has piqued your interest ed(listed81 visualization that has piqued your interest (listed 81 82 below). This causes a <i>Visualize Results</i> button 82 appear alongside the load button you have just pressed,83 which when clicked runs the loaded 83 to appear alongside the load button you have just pressed, 84 which when clicked runs the loaded-in query and visualizes the result. 84 85 </p> 85 86 … … 180 181 <p> 181 182 The samples provided below show a range 182 of vi zisualizations related to the183 of visualizations related to the 183 184 Eurovision Song Contest, sourced from the raw 184 185 data in the triple-store, and converted into 185 186 a visualization using SGVizler. 186 187 187 Click on one of <i>Load query above</i> buttons to load188 Click on one of the <i>Load query above</i> buttons 188 189 to load the relevant query syntax into the SPARQL 189 190 Query textbox above, accompanied with SGVizler … … 247 248 <ul class="ssq"> 248 249 <li> 249 Number of times entered, sorted by frequency:<br/>250 <b>Number of times entered, sorted by frequency:</b><br/> 250 251 <button type="button" class="load-ssq" id="load-ssv-orig" onclick="ssv_load('ssv-orig')">Load query above</button> 251 252 <button type="button" class="exec-ssq" id="exec-ssv-orig" onclick="ssv_execute()">Visualize Results</button><br/> 252 Plot as a bar graph the number of times each country has completed in the 253 Eurovision Song Contest, sorted by frequency. 254 </li> 255 256 <li> 257 Made the Finals:<br/> 253 <p> 254 Plot as a bar graph the number of times each country has competed in the 255 Eurovision Song Contest, sorted by frequency. 256 </p> 257 </li> 258 259 <li> 260 <b>Made the Finals:</b><br/> 258 261 <button type="button" class="load-ssq" id="load-ssv-made-the-final" onclick="ssv_load('ssv-made-the-final')">Load query above</button> 259 262 <button type="button" class="exec-ssq" id="exec-ssv-made-the-final" onclick="ssv_execute()">Visualize Results</button><br/> 260 Plot as a bar graph the number of times each country has made it to the finals.261 </li> 262 263 <li> 264 List of Winners:<br/>263 <p>Plot as a bar graph the number of times each country has made it to the finals.</p> 264 </li> 265 266 <li> 267 <b>List of Winners:</b><br/> 265 268 <button type="button" class="load-ssq" id="load-ssv-list-of-winners" onclick="ssv_load('ssv-list-of-winners')">Load query above</button> 266 269 <button type="button" class="exec-ssq" id="exec-ssv-list-of-winners" onclick="ssv_execute()">Visualize Tabulated Results</button><br/> 267 The songs that have won through the ages.268 </li> 269 270 <li> 271 The ignominy of "nul point":<br/>270 <p>The songs that have won through the ages.</p> 271 </li> 272 273 <li> 274 <b>The ignominy of "nul point":</b><br/> 272 275 <button type="button" class="load-ssq" id="load-ssv-got-nul-point" onclick="ssv_load('ssv-got-nul-point')">Load query above</button> 273 276 <button type="button" class="exec-ssq" id="exec-ssv-got-nul-point" onclick="ssv_execute()">Visualize Results</button><br/> 274 Plot a bar graph showing which countries, and how often they have, competed in the final but received zero points as their final total score. 275 </li> 276 277 <li> 278 The even more galling circumstance of getting "nul point" having won the previous year:<br/> 277 <p> 278 Plot a bar graph showing which countries, and how 279 often they have, competed in the final but received 280 zero points as their final total score. 281 </p> 282 </li> 283 284 <li> 285 <b>The even more galling circumstance of getting "nul point" having won the previous year:</b><br/> 279 286 <button type="button" class="load-ssq" id="load-ssv-got-nul-point-after-winning" onclick="ssv_load('ssv-got-nul-point-after-winning')">Load query above</button> 280 287 <button type="button" class="exec-ssq" id="exec-ssv-got-nul-point-after-winning" onclick="ssv_execute()">Visualize Results</button><br/> 281 Have any countries been ever been in the situation of going from Hero (i.e., winning) to Zero (nul point) in back to back years in 282 the contest. 283 </li> 284 285 286 <li> 287 Dataflow Voting Patterns of Juries:<br/> 288 <p> 289 Have any countries ever been in the situation of going from Hero (i.e., winning) to Zero (nul point) in back to back years in 290 the contest. 291 </p> 292 </li> 293 294 295 <li> 296 <b>Dataflow Voting Patterns of Juries:</b><br/> 288 297 <div> 289 298 <button type="button" class="load-ssq" id="load-ssv-voting-dataflow-jury" onclick="ssv_load('ssv-voting-dataflow-jury')">Load query above</button> … … 296 305 <button type="button" class="exec-ssq" id="exec-ssv-voting-dataflow-jury" onclick="ssv_execute('ssv-voting-dataflow-jury')">Visualize Results</button> 297 306 </div> 298 Plot as a Sankey Dataflow Graph how juries allocate 299 their votes to countries over the years 2010-2019. 300 Note: to help emphaisze the voting patterns, we plot 301 the <i>square</i> of the voting totals. 302 303 304 Experiment with editing the date range specified in 305 the <i>Start Year</i> and <i>End Year</i> text-input 306 boxes. Alternatively, the the SPARQL query itself 307 edit 308 the <tt>FILTER(xsd:integer(?year) > 2010 309 && xsd:integer(?year) <= 2019)</tt> clause 310 in the above text box and then press <i>Show 311 Visualization</i> to see how the voting by jury has 312 changed over the decades. 313 </li> 314 315 316 <li> 317 Dataflow Voting Patterns in Televoting:<br/> 307 <p> 308 Plot as a Sankey Dataflow Graph how juries allocate 309 their votes to countries over the years 2010-2019. 310 Note: to help emphasize the voting patterns, we plot 311 the <i>square</i> of the voting totals. 312 </p> 313 314 <p> 315 Experiment with editing the date range specified in 316 the <i>Start Year</i> and <i>End Year</i> text-input 317 boxes. Alternatively, the the SPARQL query itself 318 edit 319 the <tt>FILTER(xsd:integer(?year) > 2010 320 && xsd:integer(?year) <= 2019)</tt> clause 321 in the above text box and then press <i>Show 322 Visualization</i> to see how the voting by jury has 323 changed over the decades. 324 </p> 325 </li> 326 327 328 <li> 329 <b>Dataflow Voting Patterns in Televoting:</b><br/> 318 330 <div> 319 331 <button type="button" class="load-ssq" id="load-ssv-voting-dataflow-tele" onclick="ssv_load('ssv-voting-dataflow-tele')">Load query above</button> … … 325 337 <button type="button" class="exec-ssq" id="exec-ssv-voting-dataflow-tele" onclick="ssv_execute('ssv-voting-dataflow-tele')">Visualize Results</button><br/> 326 338 </div> 327 Plot as a Sankey Dataflow Graph of the televoting 328 data by coutnry. Years plotted are 2018-2019 329 as these are the only years the data has been 330 published separate to jury voting. As with 331 the Jury Sankey visual above, we plot 332 the <i>square</i> of the voting totals to 333 help emphasize where differences occur. 339 <p> 340 Plot as a Sankey Dataflow Graph of the televoting 341 data by country. Years plotted are 2018-2019 342 as these are the only years the data has been 343 published separate to jury voting. As with 344 the Jury Sankey visual above, we plot 345 the <i>square</i> of the voting totals to 346 help emphasize where differences occur. 347 </p> 334 348 </li> 335 349 336 350 337 351 <li> 338 The Curse of Being the Second Performer in the Lineup?<br/>352 <b>The Curse of Being the Second Performer in the Lineup?</b><br/> 339 353 <button type="button" class="load-ssq" id="load-ssv-draw-bias" onclick="ssv_load('ssv-draw-bias')">Load query above</button> 340 354 <button type="button" class="exec-ssq" id="exec-ssv-draw-bias" onclick="ssv_execute()">Visualize Results</button><br/> 341 Plot as a bar graph how many times an entrant performing in a given position in the lineup has gone on to win the competition. 342 </li> 343 344 <li> 345 Normalized Plot of ... The Curse of Being the Second Performer in the Lineup?<br/> 355 <p> 356 Plot as a bar graph how many times an entrant performing in a given position in the lineup has gone on to win the competition. 357 </p> 358 </li> 359 360 <li> 361 <b>Normalized Plot of ... The Curse of Being the Second Performer in the Lineup?</b><br/> 346 362 <button type="button" class="load-ssq" id="load-ssv-draw-bias-normalized" onclick="ssv_load('ssv-draw-bias-normalized')">Load query above</button> 347 363 <button type="button" class="exec-ssq" id="exec-ssv-draw-bias-normalized" onclick="ssv_execute()">Visualize Results</button><br/> 348 Same as the above, only to better take account of the fact that an increasing number of countries have been taking part in the 349 final, in this version of the plot the values have normalized to express as a percentage the number of times 350 an entrant has won in that position of the draw, as a percentage of the totoal number of times there has been an entrant 351 performing at that position of the draw. 364 <p> 365 Same as the above, only to better take account of 366 the fact that an increasing number of countries have 367 been taking part in the final, in this version of 368 the plot the values have normalized to express as a 369 percentage the number of times an entrant has won in 370 that position of the draw, as a percentage of the 371 total number of times there has been an entrant 372 performing at that position of the draw. 373 </p> 352 374 </li> 353 375 -
main/trunk/model-sites-dev/eurovision-lod/collect/eurovision/transform/pages/sparql.xsl
r35045 r35047 69 69 <p> 70 70 Use the default query to get a feel for the data that is 71 stored. Feel free to experiment with the syntax to v ery71 stored. Feel free to experiment with the syntax to vary 72 72 what is returned. For example, to view other "slices" 73 73 of the rows of data returned, change the values of … … 95 95 </li> 96 96 <li> 97 <a href="/greenstone3-lod3/greenstone/data" download="greenstone3-eurovision-lod.ttl">Full Export in Tur le Syntax</a>97 <a href="/greenstone3-lod3/greenstone/data" download="greenstone3-eurovision-lod.ttl">Full Export in Turtle Syntax</a> 98 98 </li> 99 99 </ul> … … 101 101 102 102 </div> 103 <!-- show mroe -->104 103 <gsf:script> 105 104 $('#sparql-show-more').showMore({ … … 183 182 primarily for illustrative purposes, to introduce a user 184 183 unfamiliar to various aspects of SPARQL query syntax. 185 Click on one of <i>Load query above</i> buttons to load184 Click on one of the <i>Load query above</i> buttons to load 186 185 the relevant query syntax into the SPARQL Query textbox 187 186 above, then press <i>Get Results</i> to initiate the … … 457 456 </li> 458 457 459 <li> 460 <b>Year Restricted (raw data rows) then filter out <i>gsdlextracted:JSON</i> entries:</b><br/> 461 <button type="button" class="load-ssq" id="load-ssq-restrict-year-then-filter" onclick="ssq_load('ssq-restrict-year-then-filter')">Load query above</button> 462 <button type="button" class="exec-ssq" id="exec-ssq-restrict-year-then-filter" onclick="ssq_execute()">Get Results</button><br/> 463 <p> 464 Similar to the previous query (restricted to results from 2000) but filtering out the voluminous, but not very interesting to look at, 465 <i>gsdlextracted:JSON</i>. 466 </p> 467 <p> 468 This field is formed by Greenstone at ingest-time: it represents all the metadata fields for a particular couuntry 469 stored in the JSON format. It is a handy item for the Greenstone3 runtime-system to access, but in the context of viewing the output 470 of SPARQL queries at HTML only serves to pollute the generated result set with large text items. 471 </p> 472 </li> 473 474 <li> 475 <b>Country and Year Restricted (raw data rows):</b><br/> 476 <button type="button" class="load-ssq" id="load-ssq-restrict-country-and-year" onclick="ssq_load('ssq-restrict-country-and-year')">Load query above</button> 477 <button type="button" class="exec-ssq" id="exec-ssq-restrict-country-and-year" onclick="ssq_execute()">Get Results</button><br/> 478 479 <p>Similar to the previous query, but restricted to entries about the country France, in the years 1996-2000.</p> 480 </li> 481 482 <li> 483 <b>Eurovison Song Contest (ESC) entrants:</b><br/> 458 <div id="raw-sparql-show-more" class="showmore"> 459 <style> 460 #showmore-button-raw-sparql-show-more { width: 260px; } 461 </style> 462 463 <li> 464 <b>Year Restricted (raw data rows) then filter out <i>gsdlextracted:JSON</i> entries:</b><br/> 465 <button type="button" class="load-ssq" id="load-ssq-restrict-year-then-filter" onclick="ssq_load('ssq-restrict-year-then-filter')">Load query above</button> 466 <button type="button" class="exec-ssq" id="exec-ssq-restrict-year-then-filter" onclick="ssq_execute()">Get Results</button><br/> 467 <p> 468 Similar to the previous query (restricted to results from 2000) but filtering out the voluminous, but not very interesting to look at, 469 <i>gsdlextracted:JSON</i>. 470 </p> 471 <p> 472 This field is formed by Greenstone at ingest-time: it represents all the metadata fields for a particular country 473 stored in the JSON format. It is a handy item for the Greenstone3 runtime-system to access, but in the context of viewing the output 474 of SPARQL queries at HTML only serves to pollute the generated result set with large text items. 475 </p> 476 </li> 477 478 <li> 479 <b>Country and Year Restricted (raw data rows):</b><br/> 480 <button type="button" class="load-ssq" id="load-ssq-restrict-country-and-year" onclick="ssq_load('ssq-restrict-country-and-year')">Load query above</button> 481 <button type="button" class="exec-ssq" id="exec-ssq-restrict-country-and-year" onclick="ssq_execute()">Get Results</button><br/> 482 483 <p>Similar to the previous query, but restricted to entries about the country France, in the years 1996-2000.</p> 484 </li> 485 </div> 486 <gsf:script> 487 $('#raw-sparql-show-more').showMore({ 488 minheight: 0, 489 buttontxtmore:"show further raw-data queries ...", 490 buttontxtless:"... show less" 491 }); 492 </gsf:script> 493 494 <li> 495 <b>Eurovision Song Contest (ESC) entrants:</b><br/> 484 496 <button type="button" class="load-ssq" id="load-ssq-esc-entrants" onclick="ssq_load('ssq-esc-entrants')">Load query above</button> 485 497 <button type="button" class="exec-ssq" id="exec-ssq-esc-entrants" onclick="ssq_execute()">Get Results</button><br/> … … 511 523 <button type="button" class="exec-ssq" id="exec-ssq-winning-totals" onclick="ssq_execute()">Get Results</button><br/> 512 524 513 <p>List the cou tries which won and their voting totals, sorted by total score.</p>525 <p>List the countries which won and their voting totals, sorted by total score.</p> 514 526 </li> 515 527 … … 535 547 <button type="button" class="exec-ssq" id="exec-ssq-country-info" onclick="ssq_execute()">Get Results</button><br/> 536 548 537 <p>Demographics about other related information about the countries the song con stest entries are from.</p>549 <p>Demographics about other related information about the countries the song contest entries are from.</p> 538 550 </li> 539 551
Note:
See TracChangeset
for help on using the changeset viewer.