A set of SPARQL examples that are used in different TGX resources
License: https://www.gnu.org/licenses/gpl-3.0
Uses method in: https://github.com/WDscholia/scholia/tree/master/scholia/app/templates/event_recent-publications.sparql
Event aspect: recent publications
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# Recent publications by people associated with event
PREFIX target: <http://www.wikidata.org/entity/Q133457282>
SELECT
?publication_date
?work ?workLabel
?authors ?authorsUrl
WITH {
SELECT
DISTINCT ?person
WHERE {
{
# speaker, organizer, program committe member
target: wdt:P823 | wdt:P664 | wdt:P5804 ?person .
}
UNION
{
# participant
?person wdt:P1344 | ^wdt:P710 target: .
}
UNION
{
# author
?person ^wdt:P50 / wdt:P1433 / wdt:P4745 target: .
}
UNION
{
# editor of proceedings
?person ^wdt:P98 / wdt:P4745 target: .
}
}
} AS %people
WITH {
SELECT
(xsd:date(MAX(?publication_datetime)) AS ?publication_date)
?work
(GROUP_CONCAT(DISTINCT ?person_label; separator=", ") AS ?authors)
(CONCAT("../authors/", GROUP_CONCAT(DISTINCT SUBSTR(STR(?person), 32); separator=",")) AS ?authorsUrl)
WHERE {
INCLUDE %people .
?work wdt:P50 ?person ; wdt:P577 ?publication_datetime .
?person rdfs:label ?person_label . FILTER(LANG(?person_label) = 'en')
}
GROUP BY ?work
} AS %results
WHERE {
INCLUDE %results
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],mul,en,da,de,es,fr,jp,no,ru,sv,zh". }
}
ORDER BY DESC(?publication_date)
LIMIT 500
graph TD