Wikidata:Synia:author-organization

From Wikidata
Jump to navigation Jump to search

Synia: author - organization

[edit]
[edit]
PREFIX target1: <http://www.wikidata.org/entity/Q20980928>
PREFIX target2: <http://www.wikidata.org/entity/Q49108>

SELECT
  ?score

  ?author ?authorLabel
  (CONCAT("#author/", SUBSTR(STR(?author), 32)) AS ?authorUrl)
  ?authorDescription

  ?roles

WITH {
  SELECT
    (SUM(?score_) AS ?score)
    ?author
    (GROUP_CONCAT(DISTINCT ?role; separator=", ") AS ?roles)
  WHERE {
    {
      ?author wdt:P108 target2: .
      [] wdt:P50 target1:, ?author .
      BIND(5 AS ?score_)
      BIND("co-author" AS ?role)
    }
    UNION
    {
      ?author wdt:P108 target2: .
      [] wdt:P50 target1: ;
         wdt:P2860 / wdt:P50 ?author .
      BIND(2 AS ?score_)
      BIND("cited" AS ?role)
    }
    UNION
    {
      ?author wdt:P108 target2: .
      [] wdt:P50 ?author ;
         wdt:P2860 / wdt:P50 target1: .
      BIND(3 AS ?score_)
      BIND("citing" AS ?role)
    }
  }
  GROUP BY ?author
} AS %authors
WHERE {
  INCLUDE %authors
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
ORDER BY DESC(?score)
Try it!