WDscholia / scholia

Wikidata-based scholarly profiles
https://scholia.toolforge.org
Other
219 stars 78 forks source link

Add Query for works "presented in" an event (speeches, talks, poster etc) #2116

Closed LibrErli closed 1 year ago

LibrErli commented 1 year ago

Recordings of talks, slideshows or (scientific) posters are created, stored and published in an increasing number. Scholia could present such information. The event-route of scholia become therefore more in the direction of a good overview page of a certain event (conference).

Describe the solution you'd like In event.html we could add in the Works-section a new paragraph

<h2>Works</h2>

<h3 id="recent-publications">Recent publications</h3>

Recent publications by organizers, speakers or participants of the event.

<table class="table table-hover" id="recent-publications-table"></table>

<h3 id="proceedings">Proceedings publications</h3>

Works published in the proceedings related to the event.

<table class="table table-hover" id="proceedings-table"></table>

<h3 id="presentations">Presentations</h3>

Works (like talks, presentations, posters) presented at the event.

<table class="table table-hover" id="presentations-table"></table>

Related to a new sparql-query event_presentation.sparql

PREFIX target: <http://www.wikidata.org/entity/{{target}}>

SELECT
  ?work ?workLabel
  ?authors ?authorsUrl
  ?topics ?topicsUrl
WITH {
  SELECT 
    ?work
    (GROUP_CONCAT(DISTINCT ?author_label; separator=", ") AS ?authors)
    (CONCAT("../authors/", GROUP_CONCAT(DISTINCT SUBSTR(STR(?author), 32); separator=",")) AS ?authorsUrl)    
    (GROUP_CONCAT(DISTINCT ?topic_label; separator=", ") AS ?topics)
    (CONCAT("../topics/", GROUP_CONCAT(DISTINCT SUBSTR(STR(?topic), 32); separator=",")) AS ?topicsUrl)
  WHERE {
    ?work  wdt:P9788 | wdt:P5072  target: .
    OPTIONAL {
      ?work wdt:P50 ?author .
      ?author rdfs:label ?author_label . FILTER(LANG(?author_label) = "en")
    }
    OPTIONAL {
      ?work wdt:P921 ?topic .
      ?topic rdfs:label ?topic_label . FILTER(LANG(?topic_label) = "en")
    }
  }
  GROUP BY ?work
} AS %results
WHERE {
  INCLUDE %results
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

Example Query

fnielsen commented 1 year ago

Thanks for the suggestion for the panel. It is now running: https://scholia.toolforge.org/event/Q114260270#presentations

I do not see that many events with presentations though. Do we have some other examples that perhaps could be listed?

LibrErli commented 1 year ago

Thanks for your fast reaction and your commit.

Another examples for conferences with presentation-items: