source: main/trunk/model-sites-dev/eurovision-lod/collect/eurovision/transform/pages/about.xsl@ 35043

Last change on this file since 35043 was 35043, checked in by davidb, 3 years ago

Some additional work on the text for the about page

  • Property svn:executable set to *
File size: 25.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE videocollection [
3 <!ENTITY ndash "&#8211;">
4 <!ENTITY mdash "&#8212;">
5]>
6<xsl:stylesheet version="1.0"
7 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8 xmlns:java="http://xml.apache.org/xslt/java"
9 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
10 xmlns:gslib="http://www.greenstone.org/skinning"
11 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
12 extension-element-prefixes="java util"
13 exclude-result-prefixes="java util">
14
15
16 <xsl:template name="coll-description">
17 <gsf:style src="sites/{$site_name}/collect/{$collName}/css/eurovision.css"/>
18 <gsf:script src="sites/{$site_name}/collect/{$collName}/js/jquery.show-more.js"/>
19
20 <div id="about-desc">
21 <h2>Introduction</h2>
22 <!--
23 <p style="padding-bottom: 10px;">
24 The <a href="https://eurovision.tv">Eurovision Song
25 Content</a> is a live-broadcast televised event that
26 was first held in 1956 featuring artists singing original songs from
27 7 countries. Since then it has grown into an event involving
28 over 40 countries, and streamed all around the world. ...
29
30 </p>
31 -->
32
33 <p style="padding-bottom: 10px;">
34 <i style="padding-right:6px;">A help to shore up a post war Europe in 1956 it
35 all began, where there were only seven countries and one
36 camera man!</i>
37 </p>
38 <p>
39 The <a href="https://eurovision.tv">Eurovision Song
40 Contest</a> is a long-running, live-broadcast televised multi-national
41 competition with a collaborative mission, not dissimilar
42 in spirit to the Olympics.
43 The contest has grown significantly from
44 that modest start with 7 countries (and one cameraman),
45 with over 40 countries competing these days—even
46 Australia takes part now, through a specially
47 arranged invitation. It's an annual celebration of
48 European culture and the highlight of many people's
49 year.
50 </p>
51
52 <div id="about-show-more">
53 <p>
54 At Eurovision there is no division because wherever
55 you come from Eurovision is home. The Eurovision song
56 contest is widely known as a safe space for LGBTQIA+
57 people and a platform for free expression. For example
58 trans-woman
59 <a href="https://en.wikipedia.org/wiki/Dana_International">Dana International</a>
60 won as far back as 1998.
61 There have been songs in many different languages over the
62 years, although most are in English these days. This
63 doesn't matter, however, because music is a language we all
64 know how to speak.
65 </p>
66 <p>
67 In its latest incarnation, after
68 all the performances are over, artists wait
69 nervously as via live television link-ups the show's hosts visit each
70 of the 40+ countries in turn collecting all points cast
71 by the country appointed juries. This includes
72 the all important top score that can be cast, 12 points
73 (douze points!), a double-increment up from the
74 10 points awarded to the song a country ranks second,
75 followed by 8, 7, 6 
 1 points awarded.
76 With over 20 countries competing in a final, this means
77 that not all performers gets points from that country.
78 Next comes the &quot;the popular vote&quot;
79 where fans, still grouped by country, have
80 the votes they cast by phone, SMS or the Eurovision app
81 tallied and mapped into the same format of 12 points for 1st
82 place, and so on.
83 This all culminates in a new winner being crowned, with
84 the competition typically being hosted the following year
85 in that country.
86 </p>
87 </div>
88 <gsf:script>
89 $('#about-show-more').showMore({
90 minheight: 0,
91 buttontxtmore:"show more ...",
92 buttontxtless:"... show less"
93 });
94 </gsf:script>
95
96
97 <h2>Features of this Website</h2>
98
99 <p>
100 This (unoffical) website has been developed by a small
101 team of dedicated Digital Library researchers who also
102 happen to be <i>huge</i> fans of Eurovision. We wish to
103 share our love for the competition, and at the same time
104 demonstrate what is possible when—harnessing some of that
105 passion!—the techniques of
106 <a href="https://en.wikipedia.org/wiki/Linked_data">Linked
107 Open Data</a> are applied
108 to the Open Source
109 <a href="https://www.greenstone.org">Greenstone3</a>
110 Digital Library platform. For the technically interested
111 see the
112 <a href="{$library_name}/collection/{$collName}/page/about#it-all-started-with">
113 <i style="padding-right: 6px;">It All Started with a Little <strike>Sparkle</strike>SPARQL</i></a>
114 below for details about how the digital library was formed.
115 </p>
116
117 <!--
118 <p>
119 For those who want to jump right in and access information about, as well as see and hear some of the past performances,
120 we suggest you
121 start by exploring the assembled information through
122 the browsing tabs, such as
123 <a href="{$library_name}/collection/{$collName}/browse/CL3">browse by countries</a>
124 if you want (for instance) to reminise about songs your country have entered in the past, or
125 <a href="{$library_name}/collection/{$collName}/browse/CL4">browse by years</a> if
126 you are curious about who were the countries competing in that inaugural year of 1956.
127 Alternatively, use the quick-search box to query the DL collection for a term that you sparks
128 interest, such as
129 <a href="{$library_name}/collection/{$collName}/search/TextQuery?qs=1&amp;rt=rd&amp;s1.level=Doc&amp;startPage=1&amp;s1.query=love&amp;s1.index=ZZ">love</a>
130 and
131 <a href="{$library_name}/collection/{$collName}/search/TextQuery?qs=1&amp;rt=rd&amp;s1.level=Doc&amp;startPage=1&amp;s1.query=amore&amp;s1.index=ZZ">amore</a>,
132 or maybe something more frivolous such as
133 <a href="{$library_name}/collection/{$collName}/search/TextQuery?qs=1&amp;rt=rd&amp;s1.level=Doc&amp;startPage=1&amp;s1.query=la&amp;s1.index=ZZ">la</a>.
134
135 </p>
136-->
137
138 <p>
139 For those who want to jump right in and access information about, as well as see and hear some of the past performances,
140 we suggest you
141 start by exploring the assembled information through
142 the browsing tabs. For example:
143 <ul>
144 <li><a href="{$library_name}/collection/{$collName}/browse/CL3">Browse by countries</a>
145 if you want (for instance) to reminise about songs your country have entered in the past; or</li>
146 <li><a href="{$library_name}/collection/{$collName}/browse/CL4">Browse by years</a> if
147 you are curious about who were the countries competing in that inaugural year of 1956.</li>
148 </ul>
149 </p>
150 <p>
151 Alternatively, use the quick-search box to query the DL collection for a term that you sparks
152 interest. For example:
153 <ul>
154 <li>
155 <a href="{$library_name}/collection/{$collName}/search/TextQuery?qs=1&amp;rt=rd&amp;s1.level=Doc&amp;startPage=1&amp;s1.query=love&amp;s1.index=ZZ">love</a>
156 and
157 <a href="{$library_name}/collection/{$collName}/search/TextQuery?qs=1&amp;rt=rd&amp;s1.level=Doc&amp;startPage=1&amp;s1.query=amore&amp;s1.index=ZZ">amore</a>,
158 or maybe something more frivolous such as
159 <a href="{$library_name}/collection/{$collName}/search/TextQuery?qs=1&amp;rt=rd&amp;s1.level=Doc&amp;startPage=1&amp;s1.query=la&amp;s1.index=ZZ">la</a>.
160 </li>
161 </ul>
162 </p>
163
164
165 <h3>Data Analysis and Visualization</h3>
166
167 <gsf:script src="ext/jena/sgvizler2/sgvizler2.js"/>
168
169 <gsf:script>
170 $(document).ready(
171 function() {
172
173 // Exaple triple
174 // "s": { "type": "uri" , "value": "http://127.0.0.1:8383/greenstone3/library/collection/eurovision/document/HASH0191e9cc7bfdf14743472257s10" } ,
175 // "p": { "type": "uri" , "value": "gsdlextracted:Country" } ,
176 // "o": { "type": "literal" , "value": "United Kingdom" }
177
178 sgvizler2.containerDraw('sgvizler2-country-count');
179 }
180 );
181 </gsf:script>
182
183 <div id="sgvizler2-country-count"
184 data-sgvizler-endpoint="//sowemustthink.space/greenstone3-lod3/greenstone/query"
185 data-sgvizler-chart="google.visualization.BarChart"
186 data-sgvizler-chart-options="title=Number of Songs from each Country|legend.position=none|height=900|chartArea.height=840|fontSize=11"
187 data-sgvizler-log="2"
188 style="width:900px; height:300px; margin-left: auto; margin-right: auto; overflow-y: scroll; overflow-x: hidden;">
189 <xsl:attribute name="data-sgvizler-query">
190 PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
191 PREFIX gsdlextracted: &lt;http://greenstone.org/gsdlextracted#&gt;
192 SELECT (?country) (COUNT(?country) AS ?freqCount)
193 WHERE {
194 GRAPH &lt;http://localhost:4040/greenstone/data/<xsl:value-of select="$collName"/>&gt; {
195 ?s gsdlextracted:Country ?country
196 }
197 }
198 GROUP BY ?country ORDER BY asc(?country)
199 </xsl:attribute>
200 <xsl:text> Loading ...</xsl:text>
201 </div>
202
203
204 <p style="padding-top: 10px;">
205 All the metadata in the digital library is simultaneously
206 published an linked data, meaning it is possible to
207 extract and analyze the data contained here in a variety
208 of ways. To aid in such analysis we have also we have
209 added in a data visualization layer to the digital
210 library. This is how the bar-graph above has been
211 created, which shows how many times each country has
212 competed, alphabetically sorted.
213 </p>
214 <p>
215 Through our:
216 <ul>
217 <li>
218 <a href="{$library_name}/collection/{$collName}/page/sgvizler">Vizualizer page</a>
219 </li>
220 </ul>
221 </p>
222 <p>
223 we provide samples your can try out to give you an idea of
224 the sorts of visualization that can be produced. More
225 importantly, these samples are editable so you are free to
226 change them however you wish. On the visualization page
227 you'll find a sample that shows you how often different
228 countries have won Eurovision, but perhaps you'd like to
229 find out who has lost the most often? We also provide a
230 sample dataflow visualization of jury voting patterns over
231 the last decade, which makes for interesting viewing!
232 Adjust the values used to discover how this compares
233 withother time periods.
234 </p>
235
236 <div id="viz-show-more" style="margin-bottom: 10px;">
237
238 <p>
239 In addition to the visualizer, through the:
240 <ul>
241 <li>
242 <a href="{$library_name}/collection/{$collName}/page/sparql">Data Analysis page</a>
243 </li>
244 </ul>
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
247 <a href="https://en.wikipedia.org/wiki/SPARQL" target="_blank">SPARQL</a> (pronounced &quot;sparkle&quot;). If you are unfamiliar
248 with this syntax, there are a variety of tutorials available online where you can learn about query language, such as
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 vareity of Semantic Web and Linked Data tools.
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 the
253 query syntax, develop completely original forms of
254 anaysis.
255 </p>
256
257
258 <p>
259 We suggest starting with viewing <a href="{$library_name}/collection/{$collName}/page/sgvizler">sample visualizations</a> to see what's possible,
260 and making minor edits to that to adjust what is visualized.
261 Then, if you want to start visualizing the data in a more substantially different way
262 or else export the data for more detailed analysis under your own control,
263 switch to the <a href="{$library_name}/collection/{$collName}/page/sparql">SPARQL-based data analysis</a> page to ensure the underlying
264 data retrieved is as you intended. Then take the newly developed SPARQL query back to the visualizer page, and through the
265 additional text-input fields provided there, develop the visualization.
266
267 <!--
268 This is a good place to go to see what sort of data is being stored, and we provide some sample
269 queries to get you going. But if you like to see the data presented more visually, we suggest
270 you try out the
271
272 <li><a href="{$library_name}/collection/{$collName}/page/sgvizler">SGVizler page</a></li>
273-->
274 </p>
275
276 </div>
277
278 <gsf:script>
279 $('#viz-show-more').showMore({
280 minheight: 0,
281 buttontxtmore:"show more ...",
282 buttontxtless:"... show less"
283 });
284 </gsf:script>
285
286
287<!--
288 <p>
289 If you'd like to dig into the data behind this Digital Library collection, this can be done directly
290 using the <a href="{$library_name}/collection/{$collName}/page/sparql">SPARQL Query interface</a>.
291 This is a good place to go to see what sort of data is being stored, and we provide some sample
292 queries to get you going. But if you like to see the data presented more visually, we suggest
293 you try out the <a href="{$library_name}/collection/{$collName}/page/sgvizler">SGVizler page</a>,
294 which takes things to the next level, using pie-charts, histograms and other forms of
295 visualization to present the data.
296 </p>
297
298-->
299
300
301<!--
302 <div style="padding-top: 6px;">
303 So the above visualization show how many times each country has entered, over the years, but what about how
304 many times countries have won? And what about how many times countries have won per head of population?
305 <ul>
306 <li>
307 <a href="{$library_name}/collection/{$collName}/page/sgvizler"><i>Show me more visualizations ...</i></a>
308 </li>
309 </ul>
310 </div>
311-->
312
313 <h2 id="it-all-started-with">It All Started with a Little <strike>Sparkle</strike>SPARQL</h2>
314
315
316 <p>
317 In terms of how this collection was developed using the
318 Greenstone3 Digital Library (DL) architecture, we are
319 being a touch irreverent to say <i>it all started with a
320 little SPARQL</i>.
321 It is certainly true to say that, operationally, the DL
322 was created using SPARQL query that draws down JSON
323 records from
324 <a href="https://dbpedia.org" target="_blank">DBPedia</a>
325 about all the different entrants in the Eurovision. This
326 is then ingested into Greenstone using its document- and
327 metadata-processing pipeline: expand through the <i>show
328 more ...</i> button below to see the actual query.
329 But in truth, our starting point of the SPARQL query is
330 only possible due to the Herculean efforts of the
331 contributors to the Wikipedia pages about
332 the Eurovision Song Content, and following on from
333 that the endeavors of the DBPedia project to
334 transform a substantial portion of that information
335 into machine-readable linked data.
336 </p>
337
338 <p>
339 Continuing the technical develoment of the DL,
340 to the DBpedia extraxcted content, we then added in voting metadata—again
341 using the Greenstone document- and metadata- processing
342 pipeline—this time in the form of CSV-based spreadsheet derived from the
343 <a href="https://www.kaggle.com/datagraver/eurovision-song-contest-scores-19752019" target="_blank">Kaggle Eurovision Voting dataset 1975-2019</a>.
344 </p>
345
346 <!--
347 The resulting SPARQL query result set (JSON format
348 selected for output) is then ingested into a Greenstone
349 DL collection, and used in a variety of ways.
350
351
352
353 the starting point is the
354 formulation of a SPARQL query to retrieve from DBpedia
355 entries about all the entrants in the contest over the
356 years:
357 -->
358
359
360 <div id="dl-tech-show-more">
361 <p>
362 Here's the SPARQL query that retrieves, for every year
363 Eurovision has been held, the countries that took part.
364 At under 20 lines of code, we think it's pretty awesome!
365 The information retrieved includes the country, year,
366 title of the song, and name of the entrant (the
367 act/artist), amgonst other things. All useful core
368 information to seed the digital library collection. As
369 the 2020 Eurovision event did not run due to the
370 Covid-19 Pandemic, and (at the time of writing the 2021
371 is yet to occur), we have opted to filter the matches
372 returned to be prior to 2020.
373 </p>
374
375 <pre style="background-color: #fff; color: #000; padding: 12px; margin-right: 6px;">
376SELECT ?countries_in_esc_by_year ?country_in_year ?year as ?Year ?country as ?Country ?entrant ?entrant_label as ?Creator ?song ?song_label as ?Title ?was_derived_from as ?WikipediaURL
377WHERE {
378 ?countries_in_esc_by_year skos:broader dbc:Countries_in_the_Eurovision_Song_Contest_by_year.
379
380 ?country_in_year dct:subject ?countries_in_esc_by_year.
381 bind( REPLACE(str(?country_in_year), ".*(\\d{4})", "$1") as ?year).
382 FILTER ( xsd:integer(?year) &lt; 2020).
383
384 ?country_in_year dbp:country ?country.
385
386 ?country_in_year dbp:entrant ?entrant.
387 ?entrant rdfs:label ?entrant_label
388 FILTER (lang(?entrant_label) = 'en').
389
390 ?country_in_year dbp:song ?song.
391 ?song rdfs:label ?song_label
392 FILTER (lang(?song_label) = 'en').
393
394 OPTIONAL {
395 ?song prov:wasDerivedFrom ?was_derived_from
396 }
397}
398ORDER BY DESC(?countries_in_esc_by_year)
399 </pre>
400
401 <p>
402 You can try this query out yourself if you like. Select the entirety of the SPARQL query
403 in the above text box, and press <i>Control-C</i> to place it in your Copy-buffer.
404 Next visit the DBPedia SPARQL Endpoint given below, and in the main text box of the page
405 that appears, press <i>Control-V</i>
406 to past in your SPARQL query. Finally, click on the <i>Execute Query</i> button
407 to initiate the search.
408 <ul>
409 <li>
410 <a href="https://dbpedia.org/sparql/" target="_blank">DBpedia's SPARQL endpoint</a>
411 </li>
412 </ul>
413 </p>
414 <p>
415 Through the SPARQL Endpoint you can change the output format that is used to, for example, JSON or Turtle.
416 For convenience, if you are just interested in seeing what the outcome of running the query is, displayed as a web page:
417 <ul>
418 <li>
419 <a href="https://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&amp;query=SELECT+%3Fcountries_in_esc_by_year+%3Fcountry_in_year+%3Fyear+as+%3FYear+%3Fcountry+as+%3FCountry+%3Fentrant+%3Fentrant_label+as+%3FCreator+%3Fsong+%3Fsong_label+as+%3FTitle+%3Fwas_derived_from+as+%3FWikipediaURL%0D%0AWHERE+%7B%0D%0A++++%3Fcountries_in_esc_by_year+skos%3Abroader+dbc%3ACountries_in_the_Eurovision_Song_Contest_by_year.%0D%0A%0D%0A++++%3Fcountry_in_year+dct%3Asubject+%3Fcountries_in_esc_by_year.%0D%0A++++bind%28+REPLACE%28str%28%3Fcountry_in_year%29%2C+%22.*%28%5C%5Cd%7B4%7D%29%22%2C+%22%241%22%29+as+%3Fyear%29.%0D%0A++++FILTER+%28+xsd%3Ainteger%28%3Fyear%29+%3C+2020%29.%0D%0A%0D%0A++++%3Fcountry_in_year+dbp%3Acountry+%3Fcountry.%0D%0A%0D%0A++++%3Fcountry_in_year+dbp%3Aentrant+%3Fentrant.%0D%0A++++%3Fentrant+rdfs%3Alabel+%3Fentrant_label%0D%0A++++++FILTER+%28lang%28%3Fentrant_label%29+%3D+%27en%27%29.%0D%0A%0D%0A++++%3Fcountry_in_year+dbp%3Asong+%3Fsong.%0D%0A++++%3Fsong+rdfs%3Alabel+%3Fsong_label%0D%0A++++++FILTER+%28lang%28%3Fsong_label%29+%3D+%27en%27%29.%0D%0A%0D%0A++++OPTIONAL+%7B%0D%0A++++++%3Fsong+prov%3AwasDerivedFrom+%3Fwas_derived_from%0D%0A++++%7D%0D%0A%7D%0D%0AORDER+BY+DESC%28%3Fcountries_in_esc_by_year%29&amp;format=text%2Fhtml&amp;timeout=30000&amp;signal_void=on&amp;signal_unconnected=on" target="_blank">Click here to run the query directly</a>
420 </li>
421 </ul>
422 </p>
423
424 <h3>Triplestore Errata</h3>
425
426 <h3>Adding in Voting Metadata</h3>
427
428 <h3>Page Scraping</h3>
429
430
431 <h3>The Gory Details</h3>
432<!--
433 <p>
434 The resulting SPARQL query result set (JSON format
435 selected for output) is then ingested into a Greenstone
436 DL collection, and used in a variety of ways. For now
437 an (admittedly cryptic) list of technical steps that
438 were developed and/or deployed to provide the
439 functionality encountered in interacting with this site.
440
441 <ul>
442 <li>New SPARQL plugin for <i>download_from.pl</i> developed, used in GLI to enter the above query</li>
443 <li>New SPARQL <i>Document Processing</i> plugin developed</li>
444 <li>Greenstone3 Apache Jena Triple Store Extension activated</li>
445 <li>SGVizler used to display Google Visualizations such as the pie-chart above.</li>
446 <li>Metadata in document view enhanced through Greenstone Format Statements micro-data</li>
447 <li>Custom <i>interface</i> developed</li>
448 </ul>
449 </p>
450-->
451 <p>
452 Viewing the
453 <a download="collectionConfig.xml"
454 href="sites/{$site_name}/collect/{$collName}/etc/collectionConfig.xml">collection
455 configuration file</a> provides a good insight into how
456 all of these technical aspectcs are brought together.
457 </p>
458
459 <p>
460 Full disclosure as to how the collection all ticks is
461 provided through our Subversion repository. Topping up
462 our
463 <a href="https//trac.greenstone.org/browser/main/trunk/greenstone3">Greenstone3
464 code base</a> we have:
465
466 <ul>
467 <li>The site: <a href="https://trac.greenstone.org/browser/main/trunk/model-sites-dev/eurovision-lod">eurovision-lod</a></li>
468 <li>The interface: <a href="https://trac.greenstone.org/browser/main/trunk/model-interfaces-dev/eurovision-lod">eurovision-lod</a></li>
469 <li>The triplestore extension: <a href="https://trac.greenstone.org/browser/gs2-extensions/apache-jena/trunk/src">apache-jena</a></li>
470 </ul>
471
472 </p>
473
474
475 </div>
476 <gsf:script>
477 $('#dl-tech-show-more').showMore({
478 minheight: 0,
479 buttontxtmore:"show more ...",
480 buttontxtless:"... show less"
481 });
482 </gsf:script>
483
484
485 <div id="technicaldev-turnstyle" style="margin-top: 12px;">
486 <div class="turnstyle-header" style="background-image: none; background-color: hsl(195, 47%, 35%);">
487 DL Technical Development
488 </div>
489
490 <div style="display: none; padding-left: 6px; padding-top: 6px; margin-left: 2px; margin-right: 2px; border-left: white solid 1px; border-right: white solid 1px; border-bottom: white solid 1px;">
491 <p>
492 In terms of how this collection was developed using the
493 Greenstone DL architecture, the starting point is the
494 formulation of a SPARQL query to retrieve from DBpedia
495 entries about all the entrants in the contest over the
496 years:
497
498 </p>
499
500
501 <p>
502 Bullet points above to be expanded upon!
503 </p>
504
505 </div>
506 </div>
507
508 <script>
509 <xsl:text disable-output-escaping="yes">
510 $(function(){
511 transformToTurnstyleBlock("technicaldev");
512 });
513 </xsl:text>
514 </script>
515
516 <div id="LOD-turnstyle" style="margin-top: 12px;">
517 <div class="turnstyle-header" style="background-image: none; background-color: hsl(195, 47%, 35%);">
518 Linked Open Data
519 </div>
520
521 <div style="display: none; padding-left: 6px; padding-top: 6px; margin-left: 2px; margin-right: 2px; border-left: white solid 1px; border-right: white solid 1px; border-bottom: white solid 1px;">
522
523
524 <h2>Eurovision LOD SPARQL Endpoints</h2>
525 <p>
526 The source data can be access vis the DBpedia SPARQL endpoint. The ingested,
527 data (with correction) is available through the collection's local
528 SPARQL endpoint:
529 <ul>
530 <li>
531 <a href="https://dbpedia.org/sparql/">DBpedia's SPARQL endpoint</a>
532 </li>
533 <li>
534 <a href="{$library_name}/collection/{$collName}/page/sparql">DL's (local) SPARQL endpoint</a>
535 </li>
536 </ul>
537 </p>
538
539 <h2>Eurovision LOD Errata</h2>
540 <p>
541 Songs titles and Entrants (artists) that do not resolve to URIs:
542 <ul>
543 <li>
544 <a href="sites/{$site_name}/collect/{$collName}/prepare/problem-lod-lists/dbpedia-problem-songs.html">Problem Songs (titles are string literals not IRIs)</a>
545 </li>
546 <li>
547 <a href="sites/{$site_name}/collect/{$collName}/prepare/problem-lod-lists/dbpedia-problem-entrants.html">Problem Entrants (artists are string literals not IRIs)</a>
548 </li>
549 <li>
550 <a href="sites/{$site_name}/collect/{$collName}/prepare/problem-lod-lists/dbpedia-problem-category-in-year.html">Problem Category pages (some countries not listed in a given year despite competing)</a>
551 </li>
552 </ul>
553 </p>
554 </div>
555 </div>
556
557 <script>
558 <xsl:text disable-output-escaping="yes">
559 $(function(){
560 transformToTurnstyleBlock("LOD");
561 });
562 </xsl:text>
563 </script>
564
565 <div id="voting-turnstyle" style="margin-top: 12px;">
566 <div class="turnstyle-header" style="background-image: none; background-color: hsl(195, 47%, 35%);">
567 Voting Data
568 </div>
569
570 <div style="display: none; padding-left: 6px; padding-top: 6px; margin-left: 2px; margin-right: 2px; border-left: white solid 1px; border-right: white solid 1px; border-bottom: white solid 1px;">
571 <p>
572 The Voting data used in this collection is sourced from the Kaggle, which in turn
573 is derived from work available through Data Graver:
574 <ul>
575 <li><a href="https://www.kaggle.com/datagraver/eurovision-song-contest-scores-19752019">Kaggle Eurovision Voting dataset 1975-2019</a></li>
576 <li><a href="https://data.world/datagraver/eurovision-song-contest-scores-1975-2019">Data Graver</a></li>
577 <li><a href="https://docs.google.com/spreadsheets/d/1veXpiF54hQGP4OVuf1xjowumIe8HUOhI/edit#gid=528591420">Google Spreadsheet (internal use only)</a></li>
578
579 </ul>
580 </p>
581 </div>
582 </div>
583
584 <script>
585 <xsl:text disable-output-escaping="yes">
586 $(function(){
587 transformToTurnstyleBlock("voting");
588 });
589 </xsl:text>
590 </script>
591
592
593 </div>
594
595 </xsl:template>
596
597
598</xsl:stylesheet>
599
Note: See TracBrowser for help on using the repository browser.