query-a37d7a9d0399f27f8ea8dea20096bda6
Authors
Use at
- https://query.wikidata.org/sparql
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX schema: <http://schema.org/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX target: <http://www.wikidata.org/entity/Q18507561>
# List of authors for a work
SELECT DISTINCT
# Author order
?order
?academic_age
# Author item and label
?author ?authorUrl ?authorDescription
WHERE {
{
target: p:P50 ?author_statement .
?author_statement ps:P50 ?author_ .
?author_ rdfs:label ?author .
FILTER (LANG(?author) = 'en')
BIND(CONCAT("#author/", SUBSTR(STR(?author_), 32)) AS ?authorUrl)
OPTIONAL {
?author_statement pq:P1545 ?order_ .
BIND(xsd:integer(?order_) AS ?order)
}
OPTIONAL {
?author_ schema:description ?authorDescription .
FILTER (LANG(?authorDescription) = "en")
}
}
UNION
{
target: p:P2093 ?authorstring_statement .
?authorstring_statement ps:P2093 ?author_
BIND(CONCAT(?author_, " ↗") AS ?author)
OPTIONAL {
?authorstring_statement pq:P1545 ?order_ .
BIND(xsd:integer(?order_) AS ?order)
}
BIND(CONCAT("https://author-disambiguator.toolforge.org/names_oauth.php?doit=Look+for+author&name=", ENCODE_FOR_URI(?author_)) AS ?authorUrl)
}
OPTIONAL {
SELECT ?author_ (MAX(?academic_age_) AS ?academic_age) {
target: wdt:P50 ?author_ ;
wdt:P577 ?publication_date .
[] wdt:P31 / wdt:P279* wd:Q55915575 ;
wdt:P50 ?author_ ;
wdt:P577 ?other_publication_date .
BIND(YEAR(?publication_date) - YEAR(?other_publication_date) AS ?academic_age_)
}
GROUP BY ?author_
}
}
ORDER BY ?order
Query found at
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
v12("?academic_age"):::projected
v11("?academic_age_")
v9("?author"):::projected
v2("?authorDescription"):::projected
v9("?authorUrl"):::projected
v5("?author_")
v4("?author_statement")
v8("?authorstring_statement")
v9("?order"):::projected
v7("?order_")
v10("?other_publication_date")
v9("?publication_date")
a1((" "))
a2((" "))
c2(["wd:Q18507561"]):::iri
c14(["wd:Q55915575"]):::iri
subgraph union0[" Union "]
subgraph union0l[" "]
style union0l fill:#abf,stroke-dasharray: 3 3;
c2 --"p:P2093"--> v8
v8 --"p:statement/P2093"--> v5
bind0[/"concat(?author_,' ↗')"/]
v5 --o bind0
bind0 --as--o v9
subgraph optional0["(optional)"]
style optional0 fill:#bbf,stroke-dasharray: 5 5;
v8 -."p:qualifier/P1545".-> v7
bind1[/"http://www.w3.org/2001/XMLSchema#integer(?order_)"/]
v7 --o bind1
bind1 --as--o v9
end
bind2[/"concat('https://author-disambiguator.toolforge.org/names_oauth.php?doit=Look+for+author&name=',encode-for-uri(?author_))"/]
v5 --o bind2
bind2 --as--o v9
end
subgraph union0r[" "]
style union0r fill:#abf,stroke-dasharray: 3 3;
f3[["?author = 'en'"]]
f3 --> v9
c2 --"p:P50"--> v4
v4 --"p:statement/P50"--> v5
v5 --"rdfs:label"--> v9
bind4[/"concat('#author/',substring(str(?author_),'32^^xsd:integer'))"/]
v5 --o bind4
bind4 --as--o v9
subgraph optional1["(optional)"]
style optional1 fill:#bbf,stroke-dasharray: 5 5;
v4 -."p:qualifier/P1545".-> v7
bind5[/"http://www.w3.org/2001/XMLSchema#integer(?order_)"/]
v7 --o bind5
bind5 --as--o v9
end
subgraph optional2["(optional)"]
style optional2 fill:#bbf,stroke-dasharray: 5 5;
v5 -."schema:description".-> v2
end
end
union0r <== or ==> union0l
end
subgraph optional3["(optional)"]
style optional3 fill:#bbf,stroke-dasharray: 5 5;
c2 -."p:direct/P50".-> v5
c2 --"p:direct/P577"--> v9
a1 --"p:direct/P31"--> a2
a2 --"p:direct/P279"--> c14
a1 --"p:direct/P50"--> v5
a1 --"p:direct/P577"--> v10
bind6[/"year-from-dateTime(?publication_date) - year-from-dateTime(?other_publication_date)"/]
v9 --o bind6
v10 --o bind6
bind6 --as--o v11
bind8[/"max(?academic_age_)"/]
v11 --o bind8
bind8 --as--o v12
end