Project:SPARQL/examples: Difference between revisions

Line 1: Line 1:
==Examples==
==Examples==


===Women in the wiki (excluding the project team) and their corresponding IDs - where they exist - on wikidata and the Archaeology Data Service===
===Women in the wiki (excluding the project team) and their corresponding IDs - where they exist - on wikidata, viaf, WorldCat Identities, and the Archaeology Data Service===


<sparql tryit="1">
<sparql tryit="1">
Line 14: Line 14:
PREFIX wd:  <http://www.wikidata.org/entity/>
PREFIX wd:  <http://www.wikidata.org/entity/>


SELECT ?person ?personLabel ?wikiurl ?ADSid ?ADSurl
SELECT ?person ?personLabel ?wikiurl ?viafurl ?worldcatIDurl ?ADSid ?ADSurl
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 .                         #select women
   ?person bnwdt:P3 bnwd:Q3 .                               #select women
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .}   #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .}         #filter out project team
     OPTIONAL {?person bnwdt:P14 ?wikiurl .          #look for wikidata URL on person page
     OPTIONAL {?person bnwdt:P14 ?wikiurl .           
       FILTER regex(?wikiurl, "wikidata", "i")}      #filter just in case P14 used to point to non-wikidata service
      FILTER regex(?wikiurl, "wikidata", "i")}            #look for wikidata URL on person page
     OPTIONAL {?person bnp:P34 ?ADSstatement .       #look for Archaeology Data Service ID on person page
    OPTIONAL {?person bnwdt:P14 ?viafurl .         
               ?ADSstatement bnps:P34 ?ADSid .       #return ADS id
       FILTER regex(?viafurl, "viaf", "i")}                #look for viaf URL on person page
               ?ADSstatement bnpq:P14 ?ADSurl .}     #return ADS url
    OPTIONAL {?person bnwdt:P14 ?worldcatIDurl .         
      FILTER regex(?worldcatIDurl, "worldcat", "i")}      #look for ?worldcatIDurl URL on person page
     OPTIONAL {?person bnp:P34 ?ADSstatement .             #look for Archaeology Data Service ID on person page
               ?ADSstatement bnps:P34 ?ADSid .             #return ADS id
               ?ADSstatement bnpq:P14 ?ADSurl .}           #return ADS url
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
6,317

edits